diff --git a/CMakeLists.txt b/CMakeLists.txt index 3d438d53350..152d0c05686 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,16 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 2.8.12) if(POLICY CMP0017) # Shadow cmake provided modules cmake_policy(SET CMP0017 OLD) endif() +if(POLICY CMP0026) + # Allow use of the LOCATION property + cmake_policy(SET CMP0026 OLD) +endif() + project(REACTOS) # Versioning @@ -137,7 +142,7 @@ else() add_definitions(-D_WINKD_=1) endif() - if((CMAKE_VERSION STREQUAL "2.8.12.1-ReactOS") AND (NOT CMAKE_C_COMPILER_ID STREQUAL "Clang")) + if(CMAKE_VERSION STREQUAL "2.8.12.1-ReactOS") set(PCH 1 CACHE BOOL "Whether to use precompiled headers") else() set(PCH 0 CACHE BOOL "Whether to use precompiled headers") @@ -221,7 +226,11 @@ else() add_subdirectory(include/reactos/mc) add_subdirectory(include/asm) - include(cmake/baseaddress.cmake) + if(NO_ROSSYM) + include(cmake/baseaddress_dwarf.cmake) + else() + include(cmake/baseaddress.cmake) + endif() # For MSVC builds, this puts all debug symbols file in the same directory. set(CMAKE_PDB_OUTPUT_DIRECTORY "${REACTOS_BINARY_DIR}/msvc_pdb") diff --git a/base/applications/atactl/CMakeLists.txt b/base/applications/atactl/CMakeLists.txt index c1885825833..0070358fae4 100644 --- a/base/applications/atactl/CMakeLists.txt +++ b/base/applications/atactl/CMakeLists.txt @@ -1,10 +1,8 @@ set_cpp() - add_definitions(-DUSER_MODE) include_directories(${REACTOS_SOURCE_DIR}/drivers/storage/ide/uniata) add_executable(atactl atactl.cpp atactl.rc) set_module_type(atactl win32cui) add_importlibs(atactl advapi32 msvcrt kernel32 ntdll) - add_cd_file(TARGET atactl DESTINATION reactos/system32 FOR all) diff --git a/base/applications/cacls/lang/es-ES.rc b/base/applications/cacls/lang/es-ES.rc index e675cf31726..ecc8552c994 100644 --- a/base/applications/cacls/lang/es-ES.rc +++ b/base/applications/cacls/lang/es-ES.rc @@ -1,37 +1,40 @@ +/* Spanish Language resource file. + * Translated by: ?? and Ismael Ferreras Morezuelas <2014-11-07> */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL STRINGTABLE BEGIN - IDS_HELP "Muestra o modifica la lista de control de accesos (ACLs) de los archivos\n\n\ + IDS_HELP "Muestra o modifica listas de control de acceso (ACL) de archivos\n\n\ CACLS archivo [/T] [/E] [/C] [/G user:perm [...]] [/R usuario [...]]\n\ [/P user:perm [...]] [/D usuario [...]]\n\ - archivo Mostrar ACLs.\n\ - /T Cambia ACLs de los archivos especificados en\n\ + archivo Mostrar ACL.\n\ + /T Cambia ACL de los archivos especificados en\n\ el directorio actual y todos sus subdirectorios.\n\ /E Edita la ACL en lugar de reemplazarla.\n\ /C Continúa en caso de errores de acceso.\n\ /G user:perm Da los derechos de acceso al usuario especificado.\n\ - Perm puede ser: R Lectura\n\ - W Escritura\n\ - C Modificación (Escritura)\n\ + Perm puede ser: R Leer\n\ + W Escribir\n\ + C Cambiar (escribir)\n\ F Control total\n\ /R usuario Revoca los derechos de acceso al usuario especificado (unicamente válido con /E).\n\ /P user:perm Reemplaza los derechos de acceso del usuario especificado.\n\ - Perm puede ser: N Nada\n\ - R Lectura\n\ - W Escritura\n\ - C Modificación (Escritura)\n\ + Perm puede ser: N Ninguno\n\ + R Leer\n\ + W Escribir\n\ + C Cambiar (escribir)\n\ F Control total\n\ /D usuario Revoca el acceso al usuario especificado.\n\ Es posible usar comodines para especificar más de un archivo por comando.\n\ Se puede especificar más de un usuario por comando.\n\n\ -Abreviaciones:\n\ +Abreviaturas:\n\ CI - Herencia del contenedor.\n\ - ACE será heredado a los directorios.\n\ + ACE se heredará por directorios.\n\ OI - Herencia del objeto.\n\ - ACE sera heredado a los archivos.\n\ - IO - Herencia sola.\n\ - ACE no se aplicará al archivo/directorio actual.\n" + ACE se heredará por archivos.\n\ + IO - Sólo heredar.\n\ + ACE no se aplicará al archivo o directorio actual.\n" IDS_ABBR_CI "(CI)" IDS_ABBR_OI "(OI)" IDS_ABBR_IO "(IO)" diff --git a/base/applications/cacls/lang/ru-RU.rc b/base/applications/cacls/lang/ru-RU.rc index a52e892ff34..deaf53a5692 100644 --- a/base/applications/cacls/lang/ru-RU.rc +++ b/base/applications/cacls/lang/ru-RU.rc @@ -1,38 +1,39 @@ +/* Russian language resource file by Kudratov Olimjon (olim98@bk.ru) */ + LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT STRINGTABLE BEGIN - IDS_HELP "Отображает или изменяет списки доступа (Access Control Lists, ACLs) к файлам\n\n\ -CACLS имя_Файла [/T] [/E] [/C] [/G имя:право [...]] [/R имя [...]]\n\ - [/P имя:право[...]] [/D имя [...]]\n\ - имя_файла Вывод списков ACL.\n\ - /T Замена списков ACL для указанных файлов в текущем каталоге\n\ - и всех подкаталогах.\n\ - /E Редактирование списка ACL вместо его замены.\n\ - /C Продолжать при ошибках отказа доступа.\n\ - /G имя:право Предоставление указанному пользователю прав доступа.\n\ - Право может быть: R Чтение\n\ - W Запись\n\ - C Изменение (запись)\n\ - F Полный контроль\n\ - /R имя Отозвать права доступа для указанного пользователя\n\ - (верно только с /E).\n\ - /P имя:право Заменить права указанного пользователя.\n\ - Право может быть: N Нет доступа\n\ - R Чтение\n\ - W Запись\n\ - C Изменение (запись)\n\ - F Полный доступ\n\ - /D имя Запретить доступ для указанного пользователя.\n\ -В команде можно использовать шаблоны для обработки более одного файла.\n\ + IDS_HELP "Просмотр и изменение списков управления доступом (Access Control List, ACL) к файлам\n\n\ +CACLS имя_файла [/T] [/E] [/C] [/G имя:доступ [...]] [/R имя [...]]\n\ + [/P имя:доступ [...]] [/D имя [...]]\n\ + имя_файла Просмотр списков управления доступом.\n\ + /T Изменение списков управления доступом для указанных файлов\n\ + в текущем и вложенных каталогах.\n\ + /E Изменение списка управления доступом вместо его замены.\n\ + /C Продолжение при ошибках отказа в доступе.\n\ + /G имя:доступ Разрешения для указанных пользователей.\n\ + Доступ: R чтение\n\ + W запись\n\ + C изменение (запись)\n\ + F полный доступ\n\ + /R имя Отзыв разрешений для пользователя (только вместе с /E).\n\ + /P имя:доступ Замена разрешений указанного пользователя.\n\ + Доступ: N нет доступа\n\ + R чтение\n\ + W запись\n\ + C изменение (запись)\n\ + F полный доступ\n\ + /D имя Запрет доступа для указанного пользователя.\n\ +Для выбора нескольких файлов используются подстановочные знаки.\n\ В команде можно указывать более одного пользователя.\n\n\ Сокращения:\n\ - CI - Наследование контейнерами (Container Inherit).\n\ - ACE будет унаследован папками.\n\ - OI - Наследование объектами (Object Inherit).\n\ - ACE будет унаследован файлами.\n\ - IO - Только наследованное (Inherit Only).\n\ - ACE не будет применён к данному файлу/папке.\n" + CI - наследование контейнерами.\n\ + ACE наследуется каталогами.\n\ + OI - наследование объектами.\n\ + ACE наследуется файлами.\n\ + IO - только наследование.\n\ + ACE не применяется к текущему файлу или каталогу.\n" IDS_ABBR_CI "(CI)" IDS_ABBR_OI "(OI)" IDS_ABBR_IO "(IO)" diff --git a/base/applications/calc/lang/es-ES.rc b/base/applications/calc/lang/es-ES.rc index 2706014b4b1..a52a6c1056a 100644 --- a/base/applications/calc/lang/es-ES.rc +++ b/base/applications/calc/lang/es-ES.rc @@ -1,6 +1,7 @@ /* * Spanish Language resource file * Traducido por: Javier Remacha 2008 + * Corregido por: Ismael Ferreras Morezuelas 2014 */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL @@ -9,7 +10,7 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL IDD_DIALOG_SCIENTIFIC DIALOGEX 0, 0, 316, 163 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Calculadora ReactOS" +CAPTION "Calculadora de ReactOS" MENU IDR_MENU_SCIENTIFIC_1 FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN @@ -20,7 +21,7 @@ BEGIN CONTROL "Bin", IDC_RADIO_BIN, "Button", BS_AUTORADIOBUTTON, 107, 21, 30, 10 GROUPBOX "", IDC_STATIC, 5, 34, 84, 20 CONTROL "Inv", IDC_CHECK_INV, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 41, 26, 10 - CONTROL "Hyp", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 49, 41, 29, 10 + CONTROL "Hipotenusa", IDC_CHECK_HYP, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 37, 41, 48, 10 CTEXT "", IDC_TEXT_PARENT, 93, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE CTEXT "", IDC_TEXT_MEMORY, 126, 38, 18, 16, SS_CENTERIMAGE, WS_EX_CLIENTEDGE PUSHBUTTON "Sta", IDC_BUTTON_STA, 5, 60, 24, 18, BS_CENTER | BS_VCENTER | @@ -142,14 +143,14 @@ BEGIN NOT WS_VISIBLE, 230, 21, 38, 10 CONTROL "Byte", IDC_RADIO_BYTE, "Button", BS_AUTORADIOBUTTON | NOT WS_VISIBLE, 270, 21, 38, 10 - CONTROL "Sexagesimal", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 150, 21, 45, 10 - CONTROL "Radián", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 204, 21, 45, 10 - CONTROL "Centesimal", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 258, 21, 45, 10 + CONTROL "Grados", IDC_RADIO_DEG, "Button", BS_AUTORADIOBUTTON, 151, 21, 45, 10 + CONTROL "Radianes", IDC_RADIO_RAD, "Button", BS_AUTORADIOBUTTON, 198, 21, 45, 10 + CONTROL "Gradianes", IDC_RADIO_GRAD, "Button", BS_AUTORADIOBUTTON, 248, 21, 45, 10 PUSHBUTTON "C", IDC_BUTTON_CANC, 267, 38, 43, 18, BS_CENTER | BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP PUSHBUTTON "CE", IDC_BUTTON_CE, 222, 38, 43, 18, BS_CENTER | BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP - PUSHBUTTON "Back", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER | + PUSHBUTTON "Atrás", IDC_BUTTON_BACK, 177, 38, 43, 18, BS_CENTER | BS_VCENTER | BS_NOTIFY | BS_OWNERDRAW | WS_TABSTOP RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 305, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE DEFPUSHBUTTON "", IDC_BUTTON_FOCUS, 0, 0, 5, 5, NOT WS_VISIBLE @@ -157,7 +158,7 @@ END IDD_DIALOG_STANDARD DIALOGEX 0, 0, 169, 128 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Calculadora ReactOS" +CAPTION "Calculadora de ReactOS" MENU IDR_MENU_STANDARD FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN @@ -222,7 +223,7 @@ END IDD_DIALOG_CONVERSION DIALOGEX 0, 0, 320, 130 STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "ReactOS Calculator" +CAPTION "Calculadora de ReactOS" MENU IDR_MENU_STANDARD FONT 8, "MS Shell Dlg" BEGIN @@ -240,7 +241,7 @@ BEGIN BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 276, 24, 40, 17 CONTROL "CE", IDC_BUTTON_CE, "Button", BS_OWNERDRAW | BS_CENTER | BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 232, 24, 40, 17 - CONTROL "Back", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER | + CONTROL "Atrás", IDC_BUTTON_BACK, "Button", BS_OWNERDRAW | BS_CENTER | BS_VCENTER | BS_NOTIFY | WS_TABSTOP, 188, 24, 40,17 RTEXT "", IDC_TEXT_OUTPUT, 5, 1, 312, 14, SS_CENTERIMAGE, WS_EX_CLIENTEDGE CONTROL "7", IDC_BUTTON_7, "Button", BS_OWNERDRAW | BS_CENTER | @@ -297,15 +298,15 @@ END IDD_DIALOG_ABOUT DIALOGEX 0, 0, 264, 169 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Acerca de Calculadora ReactOS" +CAPTION "Acerca de la Calculadora de ReactOS" FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "Aceptar", IDOK, 105, 148, 52, 16 CONTROL IDB_BITMAP_ROS, IDC_STATIC, "Static", SS_BITMAP | SS_CENTERIMAGE | SS_REALSIZEIMAGE | WS_BORDER, 4, 4, 104, 48 - LTEXT "Calculadora ReactOS", IDC_STATIC, 120, 12, 132, 8, SS_CENTERIMAGE + LTEXT "Calculadora de ReactOS", IDC_STATIC, 120, 12, 132, 8, SS_CENTERIMAGE LTEXT "Versión ", IDC_TEXT_VERSION, 120, 20, 132, 8, SS_CENTERIMAGE - LTEXT "Escrita por Carlo Bramini", IDC_STATIC, 120, 32, 132, 8, SS_CENTERIMAGE + LTEXT "Creada por Carlo Bramini", IDC_STATIC, 120, 32, 132, 8, SS_CENTERIMAGE GROUPBOX "", IDC_STATIC, 112, 0, 148, 52 GROUPBOX "", IDC_STATIC, 5, 56, 256, 88 EDITTEXT IDC_EDIT_LICENSE, 12, 68, 240, 68, ES_MULTILINE | ES_READONLY | WS_VSCROLL @@ -344,17 +345,17 @@ BEGIN MENUITEM "Octal\tF7", IDM_VIEW_OCT, CHECKED MENUITEM "Binario\tF8", IDM_VIEW_BIN, CHECKED MENUITEM SEPARATOR - MENUITEM "Sexagesimal\tF2", IDM_VIEW_DEG, CHECKED - MENUITEM "Radián\tF3", IDM_VIEW_RAD, CHECKED - MENUITEM "Centesimal\tF4", IDM_VIEW_GRAD, CHECKED + MENUITEM "Grados\tF2", IDM_VIEW_DEG, CHECKED + MENUITEM "Radianes\tF3", IDM_VIEW_RAD, CHECKED + MENUITEM "Gradianes\tF4", IDM_VIEW_GRAD, CHECKED MENUITEM SEPARATOR - MENUITEM "Número de dígitos en grupo", IDM_VIEW_GROUP, CHECKED + MENUITEM "Agrupar dígitos", IDM_VIEW_GROUP, CHECKED END POPUP "Ayuda" BEGIN MENUITEM "Temas de ayuda", IDM_HELP_HELP MENUITEM SEPARATOR - MENUITEM "Acerca de Calculadora ReactOS", IDM_HELP_ABOUT + MENUITEM "Acerca de la Calculadora de ReactOS", IDM_HELP_ABOUT END END @@ -381,13 +382,13 @@ BEGIN MENUITEM "Word\tF3", IDM_VIEW_WORD, CHECKED MENUITEM "Byte\tF4", IDM_VIEW_BYTE, CHECKED MENUITEM SEPARATOR - MENUITEM "Número de dígitos en grupo", IDM_VIEW_GROUP, CHECKED + MENUITEM "Agrupar dígitos", IDM_VIEW_GROUP, CHECKED END POPUP "Ayuda" BEGIN MENUITEM "Temas de ayuda", IDM_HELP_HELP MENUITEM SEPARATOR - MENUITEM "Acerca de Calculadora ReactOS", IDM_HELP_ABOUT + MENUITEM "Acerca de la Calculadora de ReactOS", IDM_HELP_ABOUT END END @@ -404,13 +405,13 @@ BEGIN MENUITEM "Científica", IDM_VIEW_SCIENTIFIC, CHECKED MENUITEM "Conversión", IDM_VIEW_CONVERSION MENUITEM SEPARATOR - MENUITEM "Número de dígitos en grupo", IDM_VIEW_GROUP, CHECKED + MENUITEM "Agrupar dígitos", IDM_VIEW_GROUP, CHECKED END POPUP "Ayuda" BEGIN MENUITEM "Temas de ayuda", IDM_HELP_HELP MENUITEM SEPARATOR - MENUITEM "Acerca de Calculadora ReactOS", IDM_HELP_ABOUT + MENUITEM "Acerca de la Calculadora de ReactOS", IDM_HELP_ABOUT END END @@ -418,7 +419,14 @@ END STRINGTABLE BEGIN - IDS_STRING_LICENSE "Calculadora ReactOS es software gratuito realizado bajo licencia GNU GPL.\r\n\r\nPuedes coger una copia de la licencia GNU GPL aquí:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nPuedes también coger una traducción de la licencia GNU GPL aquí:\r\nhttp://www.gnu.org/licenses/translations.html" + IDS_STRING_LICENSE "La Calculadora de ReactOS es software libre realizado bajo licencia GNU GPL.\r\n\ + \r\n\ + Puedes obtener una copia de la licencia GNU GPL aquí:\r\n\ + http://www.gnu.org/licenses/gpl.html\r\n\ + \r\n\ + También puedes obtener una traducción de la licencia GNU GPL aquí:\r\n\ + http://www.gnu.org/licenses/translations.html" + IDS_MATH_ERROR "Error" IDS_QUICKHELP "Ayuda rápida" END @@ -444,9 +452,9 @@ END /* Angles */ STRINGTABLE BEGIN - IDS_ANGLE_DEGREES "Grados sexagesimales" - IDS_ANGLE_GRADIANS "Grados centesimales" - IDS_ANGLE_RADIANS "Radianes" + IDS_ANGLE_DEGREES "Grados" + IDS_ANGLE_GRADIANS "Gradianes" + IDS_ANGLE_RADIANS "Radianes" END /* Areas */ @@ -456,7 +464,7 @@ BEGIN IDS_AREA_ACRES_BRAZIL "Acres (Brasil)" IDS_AREA_ACRES_FRANCE "Acres (Francia)" IDS_AREA_ACRES_SCOTS "Acres (Escocia)" - IDS_AREA_ACRES_US "Acres (US)" + IDS_AREA_ACRES_US "Acres (EE.UU.)" IDS_AREA_ARES "Área" IDS_AREA_CHOU "Chou" IDS_AREA_DANBO "Danbo" @@ -482,8 +490,8 @@ BEGIN IDS_AREA_SQUARE_MILLIMETERS "Milímetros cuadrados" IDS_AREA_SQUARE_SHAKU "Square shaku" IDS_AREA_SQUARE_TSUEN "Square tsuen" - IDS_AREA_SQUARE_VA "Square va" - IDS_AREA_SQUARE_YARD "Square yard" + IDS_AREA_SQUARE_VA "Square va" /* ??? (unused in the source code) */ + IDS_AREA_SQUARE_YARD "Yarda cuadrada" IDS_AREA_TAN "Tan" IDS_AREA_TSUBO "Tsubo" END @@ -491,48 +499,48 @@ END /* Consumptions */ STRINGTABLE BEGIN - IDS_CONSUMPTION_KM_PER_L "Kilometros/litro" - IDS_CONSUMPTION_L_PER_100_KM "Litros/100 kilometros" + IDS_CONSUMPTION_KM_PER_L "Kilómetros/litro" + IDS_CONSUMPTION_L_PER_100_KM "Litros/100 kilómetros" IDS_CONSUMPTION_MILES_GALLON_UK "Millas/galón (UK)" - IDS_CONSUMPTION_MILES_GALLON_US "Millas/galón (US)" + IDS_CONSUMPTION_MILES_GALLON_US "Millas/galón (EE.UU.)" END /* Currencies */ STRINGTABLE BEGIN - IDS_CURRENCY_AUSTRIAN_SCHILLING "Schilling Austriaco" - IDS_CURRENCY_BELGIAN_FRANC "Franco Belga" - IDS_CURRENCY_CYPRIOT_POUND "Libra Chipriota" - IDS_CURRENCY_CZECH_KORUNA "Corona Checa" - IDS_CURRENCY_DEUTSCHE_MARK "Marco Alemán" - IDS_CURRENCY_DUTCH_GUILDER "Florín Neerlandés" + IDS_CURRENCY_AUSTRIAN_SCHILLING "Schilling austriaco" + IDS_CURRENCY_BELGIAN_FRANC "Franco belga" + IDS_CURRENCY_CYPRIOT_POUND "Libra chipriota" + IDS_CURRENCY_CZECH_KORUNA "Corona checa" + IDS_CURRENCY_DEUTSCHE_MARK "Marco alemán" + IDS_CURRENCY_DUTCH_GUILDER "Florín neerlandés" IDS_CURRENCY_EURO "Euro" - IDS_CURRENCY_FINNISH_MARKKA "Marco Finlandés" - IDS_CURRENCY_FRENCH_FRANC "Franco Frances" - IDS_CURRENCY_GREEK_DRACHMA "Drachma Griego" - IDS_CURRENCY_IRISH_POUND "Libra Irlandesa" - IDS_CURRENCY_ITALIAN_LIRA "Lira Italiana" - IDS_CURRENCY_LUXEMBOURG_FRANC "Franco Luxemburgués" - IDS_CURRENCY_MALTESE_LIRA "Lira Maltesa" - IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo Portugués" - IDS_CURRENCY_SLOVAK_KORUNA "Corona Eslovaca" - IDS_CURRENCY_SLOVENIAN_TOLAR "Tolar Esloveno" - IDS_CURRENCY_SPANISH_PESETA "Peseta Española" + IDS_CURRENCY_FINNISH_MARKKA "Marco finlandés" + IDS_CURRENCY_FRENCH_FRANC "Franco frances" + IDS_CURRENCY_GREEK_DRACHMA "Drachma griego" + IDS_CURRENCY_IRISH_POUND "Libra irlandesa" + IDS_CURRENCY_ITALIAN_LIRA "Lira italiana" + IDS_CURRENCY_LUXEMBOURG_FRANC "Franco luxemburgués" + IDS_CURRENCY_MALTESE_LIRA "Lira maltesa" + IDS_CURRENCY_PORTOGUESE_ESCUDO "Escudo portugués" + IDS_CURRENCY_SLOVAK_KORUNA "Corona eslovaca" + IDS_CURRENCY_SLOVENIAN_TOLAR "Tolar esloveno" + IDS_CURRENCY_SPANISH_PESETA "Peseta española" END /* Energies */ STRINGTABLE BEGIN - IDS_ENERGY_15_C_CALORIES "15 °C calorías" + IDS_ENERGY_15_C_CALORIES "Calorías a 15°C" IDS_ENERGY_BTUS "BTU" IDS_ENERGY_ERGS "Ergios" - IDS_ENERGY_EVS "Electronovoltios" + IDS_ENERGY_EVS "Electronvoltio" IDS_ENERGY_FOOT_POUNDS "Ft·Lbs" IDS_ENERGY_IT_CALORIES "Tabla internacional de calorías" IDS_ENERGY_IT_KILOCALORIES "Tabla internacional de kilocalorías" IDS_ENERGY_JOULES "Julios" IDS_ENERGY_KILOJOULES "Kilojulios" - IDS_ENERGY_KILOWATT_HOURS "Kilowatios hora" + IDS_ENERGY_KILOWATT_HOURS "Kilovatios hora" IDS_ENERGY_NUTRITION_CALORIES "Calorías nutricionales" IDS_ENERGY_TH_CALORIES "Calorías termoquímicas" END @@ -541,16 +549,16 @@ END STRINGTABLE BEGIN IDS_LENGTH_ANGSTROMS "Ångströms" - IDS_LENGTH_ASTRONOMICAL_UNITS "Astronomical units" - IDS_LENGTH_BARLEYCORNS "Barleycorns" + IDS_LENGTH_ASTRONOMICAL_UNITS "Unidades astronómicas" + IDS_LENGTH_BARLEYCORNS "Granos de cebada" IDS_LENGTH_CENTIMETERS "Centímetros" IDS_LENGTH_CHAINS_UK "Cadenas (UK)" IDS_LENGTH_CHI "Chi" IDS_LENGTH_CHOU "Chou" IDS_LENGTH_CHR "Chr" IDS_LENGTH_CUN "Cun" - IDS_LENGTH_FATHOMS "Fathoms" - IDS_LENGTH_FATHOMS_HUNGARY "Fathoms (Hungary)" + IDS_LENGTH_FATHOMS "Brazas" + IDS_LENGTH_FATHOMS_HUNGARY "Brazas (Hungría)" IDS_LENGTH_FEET "Pies" IDS_LENGTH_FURLONGS "Furlongs" IDS_LENGTH_GAN "Gan" @@ -562,7 +570,7 @@ BEGIN IDS_LENGTH_KABIET "Kabiet" IDS_LENGTH_KEN "Ken" IDS_LENGTH_KEUB "Keub" - IDS_LENGTH_KILOMETERS "Kilometros" + IDS_LENGTH_KILOMETERS "Kilómetros" IDS_LENGTH_LAR "Lar" IDS_LENGTH_LIGHT_YEARS "Años luz" IDS_LENGTH_LINKS_UK "Links (UK)" @@ -570,7 +578,7 @@ BEGIN IDS_LENGTH_MICRONS "Micrómetros" IDS_LENGTH_MILES "Millas" IDS_LENGTH_MILLIMETERS "Milímetros" - IDS_LENGTH_NAUTICAL_MILES "Millas nauticas" + IDS_LENGTH_NAUTICAL_MILES "Millas náuticas" IDS_LENGTH_NIEU "Nieu" IDS_LENGTH_PARSECS "Parsecs" IDS_LENGTH_PICAS "Picas" @@ -580,11 +588,11 @@ BEGIN IDS_LENGTH_SAWK "Sawk" IDS_LENGTH_SEN "Sen" IDS_LENGTH_SHAKU "Shaku" - IDS_LENGTH_SPAN "Span" + IDS_LENGTH_SPAN "Palmo" IDS_LENGTH_SUN "Sun" IDS_LENGTH_TSUEN "Tsuen" IDS_LENGTH_VA "Va" - IDS_LENGTH_YARDS "Yards" + IDS_LENGTH_YARDS "Yardas" IDS_LENGTH_YOTE "Yote" IDS_LENGTH_ZHANG "Zhang" END @@ -595,8 +603,8 @@ BEGIN IDS_POWER_BTUS_PER_MINUTE "BTU/Minuto" IDS_POWER_FPS_PER_MINUTE "Ft·Lbs/Minuto" IDS_POWER_HORSEPOWER "Caballos de vapor" - IDS_POWER_KILOWATTS "Kilowatios" - IDS_POWER_MEGAWATTS "Megawatios" + IDS_POWER_KILOWATTS "Kilovatios" + IDS_POWER_MEGAWATTS "Megavatios" IDS_POWER_WATTS "Watios" END @@ -609,7 +617,7 @@ BEGIN IDS_PRESSURE_KILOPASCALS "Hectopascales" IDS_PRESSURE_MM_OF_MERCURY "Milímetros de mercurio" IDS_PRESSURE_PASCALS "Pascales" - IDS_PRESSURE_PSI "Libras fuerza por pulgada cuadrada" + IDS_PRESSURE_PSI "PSI" END /* Temperatures */ @@ -626,7 +634,7 @@ STRINGTABLE BEGIN IDS_TIME_DAYS "Días" IDS_TIME_HOURS "Horas" - IDS_TIME_NANOSECONDS "Nanoseconds" + IDS_TIME_NANOSECONDS "Nanosegundos" IDS_TIME_MICROSECONDS "Microsegundos" IDS_TIME_MILLISECONDS "Milisegundos" IDS_TIME_MINUTES "Minutos" @@ -641,8 +649,8 @@ BEGIN IDS_VELOCITY_CMS_SECOND "Centímetros/segundo" IDS_VELOCITY_FEET_HOUR "Pies/hora" IDS_VELOCITY_FEET_SECOND "Pies/segundo" - IDS_VELOCITY_KILOMETERS_HOUR "Kilometros/hora" - IDS_VELOCITY_KNOTS "Knots" + IDS_VELOCITY_KILOMETERS_HOUR "Kilómetros/hora" + IDS_VELOCITY_KNOTS "Nudos" IDS_VELOCITY_MACH "Mach" IDS_VELOCITY_METERS_SECOND "Metros/segundo" IDS_VELOCITY_MILES_HOUR "Millas/hora" @@ -652,10 +660,10 @@ END STRINGTABLE BEGIN IDS_VOLUME_BARRELS_UK "Barriles (UK)" - IDS_VOLUME_BARRELS_OIL "Barriles de petroleo" + IDS_VOLUME_BARRELS_OIL "Barriles de petróleo" IDS_VOLUME_BUN "Bun" IDS_VOLUME_BUSHELS_UK "Celemín (UK)" - IDS_VOLUME_BUSHELS_US "Celemín (US)" + IDS_VOLUME_BUSHELS_US "Celemín (EE.UU.)" IDS_VOLUME_CUBIC_CENTIMETERS "Centímetros cúbicos" IDS_VOLUME_CUBIC_FEET "Píes cúbicos" IDS_VOLUME_CUBIC_INCHES "Pulgadas cúbicas" @@ -663,10 +671,10 @@ BEGIN IDS_VOLUME_CUBIC_YARDS "Yardas cúbicas" IDS_VOLUME_DOE "Doe" IDS_VOLUME_FLUID_OUNCES_UK "Onza líquida (UK)" - IDS_VOLUME_FLUID_OUNCES_US "Onza líquida (US)" + IDS_VOLUME_FLUID_OUNCES_US "Onza líquida (EE.UU.)" IDS_VOLUME_GALLONS_UK "Galones (UK)" - IDS_VOLUME_GALLONS_DRY_US "Galones, dry (US)" - IDS_VOLUME_GALLONS_LIQUID_US "Galones, liquid (US)" + IDS_VOLUME_GALLONS_DRY_US "Galones, secos (EE.UU.)" + IDS_VOLUME_GALLONS_LIQUID_US "Galones, líquidos (EE.UU.)" IDS_VOLUME_GOU "Gou" IDS_VOLUME_HOP "Hop" IDS_VOLUME_ICCE "Icce" @@ -675,11 +683,11 @@ BEGIN IDS_VOLUME_MAL "Mal" IDS_VOLUME_MILLILITERS "Mililitros" IDS_VOLUME_PINTS_UK "Pintas (UK)" - IDS_VOLUME_PINTS_DRY_US "Pintas, dry (US)" - IDS_VOLUME_PINTS_LIQUID_US "Pintas, liquid (US)" + IDS_VOLUME_PINTS_DRY_US "Pintas, secas (EE.UU.)" + IDS_VOLUME_PINTS_LIQUID_US "Pintas, líquidas (EE.UU.)" IDS_VOLUME_QUARTS_UK "Cuartos (UK)" - IDS_VOLUME_QUARTS_DRY_US "Cuartos, dry (US)" - IDS_VOLUME_QUARTS_LIQUID_US "Cuartos, liquid (US)" + IDS_VOLUME_QUARTS_DRY_US "Cuartos, secos (EE.UU.)" + IDS_VOLUME_QUARTS_LIQUID_US "Cuartos, líquidos (EE.UU.)" IDS_VOLUME_SEKI "Seki" IDS_VOLUME_SYOU "Syou" IDS_VOLUME_TANANLOUNG "Tananloung" @@ -709,11 +717,11 @@ BEGIN IDS_WEIGHT_OUNCES_AVOIRDUPOIS "Onza, avoirdupois" IDS_WEIGHT_OUNCES_TROY "Onza, troy" IDS_WEIGHT_POUNDS "Libras" - IDS_WEIGHT_QUINTAL_METRIC "Quintal (metric)" + IDS_WEIGHT_QUINTAL_METRIC "Quintal (métrico)" IDS_WEIGHT_SALOUNG "Saloung" IDS_WEIGHT_STONES "Stones" IDS_WEIGHT_TAMLUNG "Tamlung" IDS_WEIGHT_TONNES "Toneladas" IDS_WEIGHT_TONS_UK "Toneladas (UK)" - IDS_WEIGHT_TONS_US "Toneladas (US)" + IDS_WEIGHT_TONS_US "Toneladas (EE.UU.)" END diff --git a/base/applications/calc/lang/no-NO.rc b/base/applications/calc/lang/no-NO.rc index 168ba2b6d71..f69437c5f25 100644 --- a/base/applications/calc/lang/no-NO.rc +++ b/base/applications/calc/lang/no-NO.rc @@ -405,7 +405,7 @@ BEGIN BEGIN MENUITEM "Emner i hjelp", IDM_HELP_HELP MENUITEM SEPARATOR - MENUITEM "Om Reactos Kalkulator", IDM_HELP_ABOUT + MENUITEM "Om ReactOS Kalkulator", IDM_HELP_ABOUT END END diff --git a/base/applications/calc/lang/sv-SE.rc b/base/applications/calc/lang/sv-SE.rc index bc812a168a3..e91e2e593d9 100644 --- a/base/applications/calc/lang/sv-SE.rc +++ b/base/applications/calc/lang/sv-SE.rc @@ -412,7 +412,7 @@ BEGIN BEGIN MENUITEM "Visa hjälp", IDM_HELP_HELP MENUITEM SEPARATOR - MENUITEM "Om Reactos Kalkylator", IDM_HELP_ABOUT + MENUITEM "Om ReactOS Kalkylator", IDM_HELP_ABOUT END END diff --git a/base/applications/calc/lang/tr-TR.rc b/base/applications/calc/lang/tr-TR.rc index ccfcf0276c6..090a4e4b8e6 100644 --- a/base/applications/calc/lang/tr-TR.rc +++ b/base/applications/calc/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/applications/charmap/lang/es-ES.rc b/base/applications/charmap/lang/es-ES.rc index 61fde05c15a..fd439f4d354 100644 --- a/base/applications/charmap/lang/es-ES.rc +++ b/base/applications/charmap/lang/es-ES.rc @@ -1,21 +1,24 @@ +/* Spanish Language resource file. + * Translated by: ?? and Ismael Ferreras Morezuelas <2014-11-07> */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL IDD_CHARMAP DIALOGEX 6, 6, 292, 224 FONT 8, "MS Shell Dlg", 0, 0 STYLE DS_SHELLFONT | WS_CHILD | WS_VISIBLE BEGIN - LTEXT "Fuente :", IDC_STATIC, 6, 7, 24, 9 + LTEXT "Fuente:", IDC_STATIC, 6, 7, 24, 9 COMBOBOX IDC_FONTCOMBO, 36, 5, 210, 210, WS_CHILD | WS_VISIBLE | WS_VSCROLL | CBS_DROPDOWNLIST | CBS_SORT | CBS_HASSTRINGS PUSHBUTTON "Ayuda", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 - LTEXT "Caracteres a copiar :", IDC_STATIC, 6, 188, 66, 9 + LTEXT "Caracteres a copiar:", IDC_STATIC, 6, 188, 66, 9 CONTROL "", IDC_TEXTBOX, RICHEDIT_CLASS, ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Seleccionar", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "Copiar", IDC_COPY, 242, 186, 44, 13, WS_DISABLED - CONTROL "Advanced view", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX | + CONTROL "Vista avanzada", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 208, 95, 10 END @@ -23,23 +26,23 @@ IDD_ADVANCED DIALOGEX 0, 0, 292, 64 STYLE DS_SHELLFONT | WS_CHILD FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Charset:", IDC_STATIC, 8, 8, 48, 8 - COMBOBOX IDC_COMBO_CHARSET, 72, 4, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Group by:", IDC_STATIC, 8, 28, 50, 8 - COMBOBOX IDC_COMBO_GROUPBY, 72, 24, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Search", IDC_BUTTON_SEARCH, 200, 44, 50, 14 - EDITTEXT IDC_EDIT_SEARCH, 72, 44, 116, 14, ES_AUTOHSCROLL - LTEXT "Search for:", IDC_STATIC, 8, 48, 42, 8 + LTEXT "Juego de caracteres:", IDC_STATIC, 2, 7, 68, 8, SS_RIGHT + COMBOBOX IDC_COMBO_CHARSET, 74, 4, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Agrupar:", IDC_STATIC, 2, 26, 68, 8, SS_RIGHT + COMBOBOX IDC_COMBO_GROUPBY, 74, 24, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Buscar", IDC_BUTTON_SEARCH, 200, 44, 50, 14 + EDITTEXT IDC_EDIT_SEARCH, 74, 44, 116, 14, ES_AUTOHSCROLL + LTEXT "Buscar por:", IDC_STATIC, 2, 47, 68, 8, SS_RIGHT LTEXT "Unicode:", IDC_STATIC, 200, 8, 30, 8 EDITTEXT IDC_EDIT_UNICODE, 236, 4, 28, 12, ES_AUTOHSCROLL END IDD_ABOUTBOX DIALOGEX 22, 16, 210, 182 -CAPTION "Acerca de Character Map" +CAPTION "Acerca del Mapa de caracteres" FONT 8, "MS Shell Dlg", 0, 0 STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME BEGIN - LTEXT "Character Map v0.1\nCopyright (C) 2007 Ged Murphy (gedmurphy@reactos.org)", IDC_STATIC, 48, 7, 150, 36 + LTEXT "Mapa de caracteres v0.1\nCopyright (C) 2007 Ged Murphy (gedmurphy@reactos.org)", IDC_STATIC, 48, 7, 150, 36 PUSHBUTTON "Cerrar", IDOK, 75, 162, 44, 15 ICON IDI_ICON, IDC_STATIC, 10, 10, 7, 30 EDITTEXT IDC_LICENSE_EDIT, 8, 44, 194, 107, WS_VISIBLE | WS_VSCROLL | @@ -48,7 +51,7 @@ END STRINGTABLE BEGIN - IDS_LICENSE "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.\r\n\r\nThis 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.\r\n\r\nYou 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." + IDS_LICENSE "Este programa es software libre; puedes redistribuirlo y/o modificarlo bajo los términos de la GNU General Public License tal y como se publica por la Free Software Foundation; ya sea la versión 2 de la Licencia, o (bajo tu discreción) cualquier versión posterior.\r\n\r\nEste programa se distribuye con el fin de ser útil, pero viene SIN NINGUNA GARANTÍA; sin tan siquiera la garantía implícita de COMERCIALIZACIÓN o la de IDONEIDAD PARA UN PROPÓSITO CONCRETO. Para más información lee la GNU General Public License.\r\n\r\nDeberías de haber recibido una copia de la GNU General Public License con el programa; si no, puedes escribir a la Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 EE.UU." IDS_ABOUT "&Acerca de ..." - IDS_TITLE "Character Map" + IDS_TITLE "Mapa de caracteres" END diff --git a/base/applications/charmap/lang/ru-RU.rc b/base/applications/charmap/lang/ru-RU.rc index 717cccea97b..93263038f78 100644 --- a/base/applications/charmap/lang/ru-RU.rc +++ b/base/applications/charmap/lang/ru-RU.rc @@ -1,4 +1,4 @@ -/* Russian language resource file (Dmitry Chapyshev, 2007-06-10) */ +/* Russian language resource file by Dmitry Chapyshev, 2007-06-10,Kudratov Olimjon (olim98@bk.ru) */ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT @@ -12,12 +12,12 @@ BEGIN PUSHBUTTON "Справка", IDC_CMHELP, 249, 5, 35, 13 CONTROL "", IDC_FONTMAP, "FontMapWnd", WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL, 20, 22, 266, 156 - LTEXT "Копировать символ:", IDC_STATIC, 6, 188, 95, 9 + LTEXT "Для копирования:", IDC_STATIC, 6, 188, 95, 9 CONTROL "", IDC_TEXTBOX, RICHEDIT_CLASS, ES_AUTOHSCROLL | WS_BORDER | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 74, 186, 114, 13 DEFPUSHBUTTON "Выбрать", IDC_SELECT, 194, 186, 44, 13 PUSHBUTTON "Копировать", IDC_COPY, 242, 186, 44, 13, WS_DISABLED - CONTROL "Расширенный вид", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX | + CONTROL "Дополнительные параметры", IDC_CHECK_ADVANCED, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 8, 208, 95, 10 END @@ -27,11 +27,11 @@ FONT 8, "MS Shell Dlg" BEGIN LTEXT "Набор символов:", IDC_STATIC, 8, 8, 55, 8 COMBOBOX IDC_COMBO_CHARSET, 72, 4, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Группировать за:", IDC_STATIC, 8, 28, 50, 8 + LTEXT "Группировка:", IDC_STATIC, 8, 28, 50, 8 COMBOBOX IDC_COMBO_GROUPBY, 72, 24, 116, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "Найти", IDC_BUTTON_SEARCH, 200, 44, 50, 14 EDITTEXT IDC_EDIT_SEARCH, 72, 44, 116, 14, ES_AUTOHSCROLL - LTEXT "Искать:", IDC_STATIC, 8, 48, 42, 8 + LTEXT "Поиск:", IDC_STATIC, 8, 48, 42, 8 LTEXT "Юникод:", IDC_STATIC, 200, 8, 30, 8 EDITTEXT IDC_EDIT_UNICODE, 236, 4, 28, 12, ES_AUTOHSCROLL END diff --git a/base/applications/charmap/lang/tr-TR.rc b/base/applications/charmap/lang/tr-TR.rc index d39cf78b400..d341c57e22c 100644 --- a/base/applications/charmap/lang/tr-TR.rc +++ b/base/applications/charmap/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/applications/charmap/settings.c b/base/applications/charmap/settings.c index 8b33cfaba79..ff75d784436 100644 --- a/base/applications/charmap/settings.c +++ b/base/applications/charmap/settings.c @@ -90,8 +90,9 @@ extern void LoadSettings(void) } RegQueryValueEx(hKey, _T("Advanced"), NULL, &type, (LPBYTE)&dwAdvanChecked, &size); + if(dwAdvanChecked == TRUE) - SendDlgItemMessage(hCharmapDlg, IDC_CHECK_ADVANCED, BM_CLICK, (dwAdvanChecked ? MF_CHECKED : MF_UNCHECKED), 0); + SendDlgItemMessage(hCharmapDlg, IDC_CHECK_ADVANCED, BM_CLICK, MF_CHECKED, 0); RegCloseKey(hKey); } diff --git a/base/applications/cmdutils/CMakeLists.txt b/base/applications/cmdutils/CMakeLists.txt index a5164ec1bf6..15f4f240997 100644 --- a/base/applications/cmdutils/CMakeLists.txt +++ b/base/applications/cmdutils/CMakeLists.txt @@ -1,4 +1,5 @@ add_subdirectory(comp) +add_subdirectory(cscript) add_subdirectory(dbgprint) add_subdirectory(doskey) add_subdirectory(find) @@ -11,4 +12,5 @@ add_subdirectory(reg) add_subdirectory(sort) add_subdirectory(taskkill) add_subdirectory(wmic) +add_subdirectory(wscript) add_subdirectory(xcopy) diff --git a/base/applications/cmdutils/cscript/CMakeLists.txt b/base/applications/cmdutils/cscript/CMakeLists.txt new file mode 100644 index 00000000000..3fc90cb7b75 --- /dev/null +++ b/base/applications/cmdutils/cscript/CMakeLists.txt @@ -0,0 +1,21 @@ + +add_definitions(-DCSCRIPT_BUILD) +set(wscript_folder ${REACTOS_SOURCE_DIR}/base/applications/cmdutils/wscript) +include_directories(${wscript_folder}) + +list(APPEND SOURCE + ${wscript_folder}/arguments.c + ${wscript_folder}/host.c + ${wscript_folder}/main.c + ${wscript_folder}/wscript.h) + +add_executable(cscript ${SOURCE} rsrc.rc) +add_idl_headers(cscript_idlheader ihost.idl) +add_typelib(ihost.idl) +set_source_files_properties(rsrc.rc PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ihost.tlb) +target_link_libraries(cscript uuid wine) +set_module_type(cscript win32cui UNICODE) +add_importlibs(cscript shell32 oleaut32 ole32 advapi32 msvcrt kernel32 ntdll) +add_dependencies(cscript stdole2 cscript_idlheader) +add_pch(cscript ${wscript_folder}/wscript.h SOURCE) +add_cd_file(TARGET cscript DESTINATION reactos/system32 FOR all) diff --git a/base/applications/cmdutils/cscript/ihost.idl b/base/applications/cmdutils/cscript/ihost.idl new file mode 100644 index 00000000000..9e4202ea039 --- /dev/null +++ b/base/applications/cmdutils/cscript/ihost.idl @@ -0,0 +1,188 @@ +/* + * Copyright 2010 Jacek Caban for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#pragma makedep typelib + +#include "ihost_dispid.h" + +import "oaidl.idl"; + +[ + uuid(60254ca0-953b-11cf-8c96-00aa00b8708c), + version(5.6), +] +library IHost +{ + importlib("stdole2.tlb"); + + [ + odl, + uuid(2cc5a9d1-b1e5-11d3-a286-00104bd35090), + dual, + oleautomation + ] + interface IArguments2 : IDispatch { + [id(DISPID_VALUE)] + HRESULT Item( + [in] LONG Index, + [out, retval] BSTR *out_Value); + + [id(IARGUMENTS2_COUNT_DISPID)] + HRESULT Count([out, retval] LONG *out_Count); + + [id(IARGUMENTS2_LENGTH_DISPID), propget] + HRESULT length([out, retval] LONG *out_Count); + } + + [ + odl, + uuid(53bad8c1-e718-11cf-893d-00a0c9054228), + hidden, + dual, + nonextensible, + oleautomation + ] + interface ITextStream : IDispatch { + [id(ITEXTSTREAM_LINE_DISPID), propget] + HRESULT Line([out, retval] LONG *Line); + + [id(ITEXTSTREAM_COLUMN_DISPID), propget] + HRESULT Column([out, retval] LONG *Column); + + [id(ITEXTSTREAM_ATENDOFSTREAM_DISPID), propget] + HRESULT AtEndOfStream([out, retval] VARIANT_BOOL *EOS); + + [id(ITEXTSTREAM_ATENDOFLINE_DISPID), propget] + HRESULT AtEndOfLine([out, retval] VARIANT_BOOL *EOL); + + [id(ITEXTSTREAM_READ_DISPID)] + HRESULT Read( + [in] LONG Characters, + [out, retval] BSTR *Text); + + [id(ITEXTSTREAM_READLINE_DISPID)] + HRESULT ReadLine([out, retval] BSTR *Text); + + [id(ITEXTSTREAM_READALL_DISPID)] + HRESULT ReadAll([out, retval] BSTR *Text); + + [id(ITEXTSTREAM_WRITE_DISPID)] + HRESULT Write([in] BSTR Text); + + [id(ITEXTSTREAM_WRITELINE_DISPID)] + HRESULT WriteLine([in, optional, defaultvalue("")] BSTR Text); + + [id(ITEXTSTREAM_WRITEBLANKLINES_DISPID)] + HRESULT WriteBlankLines([in] LONG Lines); + + [id(ITEXTSTREAM_SKIP_DISPID)] + HRESULT Skip([in] LONG Characters); + + [id(ITEXTSTREAM_SKIPLINE_DISPID)] + HRESULT SkipLine(); + + [id(ITEXTSTREAM_CLOSE_DISPID)] + HRESULT Close(); + } + + [ + odl, + uuid(91afbd1b-5feb-43f5-b028-e2ca960617ec), + dual, + oleautomation + ] + interface IHost : IDispatch { + [id(IHOST_NAME_DISPID), propget] + HRESULT Name([out, retval] BSTR *out_Name); + + [id(IHOST_APPLICATION_DISPID), propget] + HRESULT Application([out, retval] IDispatch **out_Dispatch); + + [id(IHOST_FULLNAME_DISPID), propget] + HRESULT FullName([out, retval] BSTR *out_Path); + + [id(IHOST_PATH_DISPID), propget] + HRESULT Path([out, retval] BSTR* out_Path); + + [id(IHOST_INTERACTIVE_DISPID), propget] + HRESULT Interactive([out, retval] VARIANT_BOOL *out_Interactive); + + [id(IHOST_INTERACTIVE_DISPID), propput] + HRESULT Interactive([in] VARIANT_BOOL out_Interactive); + + [id(IHOST_QUIT_DISPID)] + HRESULT Quit([in, optional, defaultvalue(0)] int ExitCode); + + [id(IHOST_SCRIPTNAME_DISPID), propget] + HRESULT ScriptName([out, retval] BSTR *out_ScriptName); + + [id(IHOST_SCRIPTFULLNAME_DISPID), propget] + HRESULT ScriptFullName([out, retval] BSTR* out_ScriptFullName); + + [id(IHOST_ARGUMENTS_DISPID), propget] + HRESULT Arguments([out, retval] IArguments2 **out_Arguments); + + [id(IHOST_VERSION_DISPID), propget] + HRESULT Version([out, retval] BSTR *out_Version); + + [id(IHOST_BUILDVERSION_DISPID), propget] + HRESULT BuildVersion([out, retval] int *out_Build); + + [id(IHOST_TIMEOUT_DISPID), propget] + HRESULT Timeout([out, retval] LONG *out_Timeout); + + [id(IHOST_TIMEOUT_DISPID), propput] + HRESULT Timeout([in] LONG out_Timeout); + + [id(IHOST_CREATEOBJECT_DISPID)] + HRESULT CreateObject( + [in] BSTR ProgID, + [in, optional, defaultvalue("")] BSTR Prefix, + [out, retval] IDispatch **out_Dispatch); + + [id(IHOST_ECHO_DISPID), vararg] + HRESULT Echo([in] SAFEARRAY(VARIANT) pArgs); + + [id(IHOST_GETOBJECT_DISPID)] + HRESULT GetObject( + [in] BSTR Pathname, + [in, optional, defaultvalue("")] BSTR ProgID, + [in, optional, defaultvalue("")] BSTR Prefix, + [out, retval] IDispatch **out_Dispatch); + + [id(IHOST_DISCONNECTOBJECT_DISPID)] + HRESULT DisconnectObject([in] IDispatch *Object); + + [id(IHOST_SLEEP_DISPID)] + HRESULT Sleep([in] LONG Time); + + [id(IHOST_CONNECTOBJECT_DISPID)] + HRESULT ConnectObject( + [in] IDispatch *Object, + [in] BSTR Prefix); + + [id(IHOST_STDIN_DISPID), propget] + HRESULT StdIn([out, retval] ITextStream **out_ppts); + + [id(IHOST_STDOUT_DISPID), propget] + HRESULT StdOut([out, retval] ITextStream **ppts); + + [id(IHOST_STDERR_DISPID), propget] + HRESULT StdErr([out, retval] ITextStream **ppts); + } +} diff --git a/base/applications/cmdutils/cscript/rsrc.rc b/base/applications/cmdutils/cscript/rsrc.rc new file mode 100644 index 00000000000..51ce0982659 --- /dev/null +++ b/base/applications/cmdutils/cscript/rsrc.rc @@ -0,0 +1,20 @@ +/* + * Copyright 2010 Jacek Caban for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* @makedep: ihost.tlb */ +1 TYPELIB ihost.tlb diff --git a/base/applications/cmdutils/help/CMakeLists.txt b/base/applications/cmdutils/help/CMakeLists.txt index 4a2adc0d121..cce3258e592 100644 --- a/base/applications/cmdutils/help/CMakeLists.txt +++ b/base/applications/cmdutils/help/CMakeLists.txt @@ -1,10 +1,6 @@ -add_executable(cmd_help - help.c - help.rc) - +add_executable(cmd_help help.c help.rc) set_module_type(cmd_help win32cui UNICODE) -add_importlibs(cmd_help msvcrt kernel32 user32) - +add_importlibs(cmd_help user32 msvcrt kernel32) set_target_properties(cmd_help PROPERTIES OUTPUT_NAME "help") add_cd_file(TARGET cmd_help DESTINATION reactos/system32 FOR all) diff --git a/base/applications/cmdutils/help/help.c b/base/applications/cmdutils/help/help.c index 668e930a113..24ac9d8b3c8 100644 --- a/base/applications/cmdutils/help/help.c +++ b/base/applications/cmdutils/help/help.c @@ -16,6 +16,7 @@ #include #include #include +#include #include "help.h" #include "resource.h" @@ -135,9 +136,8 @@ int wmain(int argc, WCHAR* argv[]) /* * Run " /?" in the current command processor. */ - wcsncpy(CmdLine, argv[1], CMDLINE_LENGTH - wcslen(CmdLine)); - wcsncat(CmdLine, L" /?" , CMDLINE_LENGTH - wcslen(CmdLine)); - + StringCbPrintfW(CmdLine, sizeof(CmdLine), L"%ls /?", argv[1]); + _flushall(); return _wsystem(CmdLine); } diff --git a/base/applications/cmdutils/help/lang/ru-RU.rc b/base/applications/cmdutils/help/lang/ru-RU.rc index a29115f7eaa..050e07379d6 100644 --- a/base/applications/cmdutils/help/lang/ru-RU.rc +++ b/base/applications/cmdutils/help/lang/ru-RU.rc @@ -1,4 +1,4 @@ -/* +/* * Russian language file by Andrey Korotaev (unC0Rr@inbox.ru) and Aleksey Bragin (aleksey@reactos.com) * Copyright 2005 */ @@ -12,12 +12,12 @@ 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 "Предоставляет информацию для команд ReactOS.\n\n\ +HELP [команда]\n\n\ + команда - Отображает информацию для этой команды.\n" IDS_HELP1 "Список всех доступных команд с коротким описанием\n\n\ - help команда\n\ - команда /? Выводит подробную информацию о команде\n\n\ +HELP [команда]\n\ +команда /? Выводит подробную информацию о команде\n\n\ ? Список всех доступных команд без описания.\n\ ALIAS Вывод, установка или удаление псевдонимов.\n\ ATTRIB Отображение и изменение атрибутов файлов.\n\ @@ -25,7 +25,8 @@ BEEP Звуковой сигнал.\n\ CALL Вызов одного пакетного файла из другого.\n\ CD Вывод имени либо смена текущей папки.\n\ CHCP Вывод либо установка активной кодовой страницы.\n\ -CHOICE Ждет, пока пользователь не выберет один из указанных в списке символов.\n\ +CHOICE Ждет, пока пользователь не выберет один из указанных\n\ + в списке символов.\n\ CLS Очистка экрана.\n\ CMD Запуск еще одного интерпретатора командных строк ReactOS.\n\ COLOR Установка цветов переднего плана и фона, используемых по умолчанию.\n\ @@ -45,7 +46,7 @@ IF Оператор условного выполнения команд LABEL Создание, изменение и удаление меток тома для дисков.\n\ MD Создание папки.\n\ MKDIR Создание папки.\n\ -MKLINK Cоздание символических и жестких ссылок.\n\ +MKLINK Создание символических и жестких ссылок.\n\ MOVE Перемещение одного или нескольких файлов из одной папки в другую.\n\ PATH Отображает или устанавливает путь поиска исполняемых файлов.\n\ PAUSE Приостанавливает выполнение пакетного файла и выводит сообщение.\n\ @@ -57,16 +58,19 @@ RD Удаляет папку.\n\ REM Помещает комментарии в пакетные файлы.\n\ REN Переименовывает файлы или папки.\n\ RENAME Переименовывает файлы или папки.\n\ -RMDIR Удаление папки.\n\ +REPLACE Заменяет файлы.\n\ +RMDIR Удаляет папку.\n\ SCREEN Перемещение курсора и вывод текста.\n\ SET Показывает, устанавливает и удаляет переменные среды ReactOS.\n\ -SHIFT Изменение положения (сдвиг) подставляемых параметров для пакетного файла.\n" +SHIFT Изменение положения (сдвиг) подставляемых параметров для\n\ + пакетного файла.\n" IDS_HELP2 "START Выполнение программы или команды в отдельном окне.\n\ TIME Вывод и установка системного времени.\n\ TIMER Секундомер.\n\ -TITLE Назначение заголовка окна для текущего сеанса интерпретатора\n\командных строк CMD.EXE.\n\ +TITLE Назначение заголовка окна для текущего сеанса интерпретатора\n\ + командных строк CMD.EXE.\n\ TYPE Вывод на экран содержимого текстовых файлов.\n\ VER Вывод сведений о версии ReactOS.\n\ -VERIFY ВУстановка режима проверки правильности записи файлов на диск.\n\ +VERIFY Установка режима проверки правильности записи файлов на диск.\n\ VOL Вывод метки и серийного номера тома для диска.\n" END diff --git a/base/applications/cmdutils/hostname/CMakeLists.txt b/base/applications/cmdutils/hostname/CMakeLists.txt index fec5032e916..50b38605c12 100644 --- a/base/applications/cmdutils/hostname/CMakeLists.txt +++ b/base/applications/cmdutils/hostname/CMakeLists.txt @@ -1,6 +1,5 @@ add_executable(hostname hostname.c hostname.rc) - set_module_type(hostname win32cui UNICODE) add_importlibs(hostname user32 msvcrt kernel32) add_cd_file(TARGET hostname DESTINATION reactos/system32 FOR all) diff --git a/base/applications/cmdutils/lodctr/CMakeLists.txt b/base/applications/cmdutils/lodctr/CMakeLists.txt index 6cfbd44558c..9c2feaa2b16 100644 --- a/base/applications/cmdutils/lodctr/CMakeLists.txt +++ b/base/applications/cmdutils/lodctr/CMakeLists.txt @@ -1,7 +1,5 @@ - add_executable(lodctr lodctr_main.c) - set_module_type(lodctr win32cui UNICODE) add_importlibs(lodctr loadperf msvcrt kernel32) add_cd_file(TARGET lodctr DESTINATION reactos/system32 FOR all) diff --git a/base/applications/cmdutils/mode/CMakeLists.txt b/base/applications/cmdutils/mode/CMakeLists.txt index 354c426dd2b..bf53b6af767 100644 --- a/base/applications/cmdutils/mode/CMakeLists.txt +++ b/base/applications/cmdutils/mode/CMakeLists.txt @@ -2,6 +2,5 @@ add_executable(mode mode.c mode.rc) set_module_type(mode win32cui UNICODE) set_target_properties(mode PROPERTIES SUFFIX ".com") - add_importlibs(mode user32 msvcrt kernel32) add_cd_file(TARGET mode DESTINATION reactos/system32 FOR all) diff --git a/base/applications/cmdutils/more/CMakeLists.txt b/base/applications/cmdutils/more/CMakeLists.txt index 28fab89b700..9abb01648b6 100644 --- a/base/applications/cmdutils/more/CMakeLists.txt +++ b/base/applications/cmdutils/more/CMakeLists.txt @@ -2,6 +2,5 @@ add_executable(more more.c more.rc) set_module_type(more win32cui) set_target_properties(more PROPERTIES SUFFIX ".com") - add_importlibs(more user32 msvcrt kernel32) add_cd_file(TARGET more DESTINATION reactos/system32 FOR all) diff --git a/base/applications/cmdutils/reg/lang/bg-BG.rc b/base/applications/cmdutils/reg/lang/bg-BG.rc index 554958dc51d..e3286045879 100644 --- a/base/applications/cmdutils/reg/lang/bg-BG.rc +++ b/base/applications/cmdutils/reg/lang/bg-BG.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_USAGE "Синтаксисът на командата е:\n\nREG [ ADD | DELETE | QUERY ]\nREG команда /?\n" - STRING_ADD_USAGE "REG ADD ключ_име [/v стойност_име | /ve] [/t вид] [/s разделител] [/d данни] [/f]\n" - STRING_DELETE_USAGE "REG DELETE ключ_име [/v стойност_име | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY ключ_име [/v стойност_име | /ve] [/s]\n" - STRING_SUCCESS "Десйствието е приключено успешно\n" - STRING_INVALID_KEY "Грешка: Недопустимо име за ключ\n" - STRING_INVALID_CMDLINE "Грешка: Неправилни параметри на командия ред\n" - STRING_NO_REMOTE "Грешка: Неуспешно добавяне на ключове в отдалечената машина\n" - STRING_CANNOT_FIND "Грешка: Уредбата не откри указания регистърен ключ или стойност\n" -END +{ + STRING_USAGE, "Синтаксисът на командата е:\n\nREG [ ADD | DELETE | QUERY ]\nREG команда /?\n" + STRING_ADD_USAGE, "REG ADD ключ_име [/v стойност_име | /ve] [/t вид] [/s разделител] [/d данни] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE ключ_име [/v стойност_име | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY ключ_име [/v стойност_име | /ve] [/s]\n" + STRING_SUCCESS, "Десйствието е приключено успешно\n" + STRING_INVALID_KEY, "Грешка: Недопустимо име за ключ\n" + STRING_INVALID_CMDLINE, "Грешка: Неправилни параметри на командия ред\n" + STRING_NO_REMOTE, "Грешка: Неуспешно добавяне на ключове в отдалечената машина\n" + STRING_CANNOT_FIND, "Грешка: Уредбата не откри указания регистърен ключ или стойност\n" +} diff --git a/base/applications/cmdutils/reg/lang/cs-CZ.rc b/base/applications/cmdutils/reg/lang/cs-CZ.rc index c2cddd0986a..c2cc5f462f8 100644 --- a/base/applications/cmdutils/reg/lang/cs-CZ.rc +++ b/base/applications/cmdutils/reg/lang/cs-CZ.rc @@ -6,14 +6,14 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_USAGE "Syntaxe tohoto příkazu:\n\nREG [ ADD | DELETE | QUERY ]\nREG operace /?\n" - STRING_ADD_USAGE "REG ADD název_klíče [/v název_hodnoty | /ve] [/t type] [/s oddělovač] [/d data] [/f]\n" - STRING_DELETE_USAGE "REG DELETE název_klíče [/v název_hodnoty | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY název_klíče [/v název_hodnoty | /ve] [/s]\n" - STRING_SUCCESS "Operace byla úspěšně dokončena\n" - STRING_INVALID_KEY "Chyba: Neplatný název klíče\n" - STRING_INVALID_CMDLINE "Chyba: Neplatné parametry příkazové řádky\n" - STRING_NO_REMOTE "Chyba: Nelze přidat klíče na vzdálený stroj\n" - STRING_CANNOT_FIND "Chyba: Systém nenalezl zadaný klíč nebo hodnotu registru\n" -END +{ + STRING_USAGE, "Syntaxe tohoto příkazu:\n\nREG [ ADD | DELETE | QUERY ]\nREG operace /?\n" + STRING_ADD_USAGE, "REG ADD název_klíče [/v název_hodnoty | /ve] [/t type] [/s oddělovač] [/d data] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE název_klíče [/v název_hodnoty | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY název_klíče [/v název_hodnoty | /ve] [/s]\n" + STRING_SUCCESS, "Operace byla úspěšně dokončena\n" + STRING_INVALID_KEY, "Chyba: Neplatný název klíče\n" + STRING_INVALID_CMDLINE, "Chyba: Neplatné parametry příkazové řádky\n" + STRING_NO_REMOTE, "Chyba: Nelze přidat klíče na vzdálený stroj\n" + STRING_CANNOT_FIND, "Chyba: Systém nenalezl zadaný klíč nebo hodnotu registru\n" +} diff --git a/base/applications/cmdutils/reg/lang/da-DK.rc b/base/applications/cmdutils/reg/lang/da-DK.rc index fdc0dea77ee..8b76b616089 100644 --- a/base/applications/cmdutils/reg/lang/da-DK.rc +++ b/base/applications/cmdutils/reg/lang/da-DK.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_DANISH, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_USAGE "Syntaksen for dette kommando er:\n\nREG [ ADD | DELETE | QUERY ]\nREG kommando /?\n" - STRING_ADD_USAGE "REG ADD nøgle_navn [/v værdi | /ve] [/t type] [/s separator] [/d data] [/f]\n" - STRING_DELETE_USAGE "REG DELETE nøgle_navn [/v værdi | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY nøgle_navn [/v værdi | /ve] [/s]\n" - STRING_SUCCESS "Operationen blev afsluttet med succes\n" - STRING_INVALID_KEY "Fejl: Ugyldigt nøgle navn\n" - STRING_INVALID_CMDLINE "Fejl: Ugyldige kommando linje parametre\n" - STRING_NO_REMOTE "Fejl: Kunne ikke tilføje nøgler til fjern maskinen\n" - STRING_CANNOT_FIND "Fejl: Systemet kunne ikke finde, den angivet registrerings nøgle eller værdi\n" -END +{ + STRING_USAGE, "Syntaksen for dette kommando er:\n\nREG [ ADD | DELETE | QUERY ]\nREG kommando /?\n" + STRING_ADD_USAGE, "REG ADD nøgle_navn [/v værdi | /ve] [/t type] [/s separator] [/d data] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nøgle_navn [/v værdi | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nøgle_navn [/v værdi | /ve] [/s]\n" + STRING_SUCCESS, "Operationen blev afsluttet med succes\n" + STRING_INVALID_KEY, "Fejl: Ugyldigt nøgle navn\n" + STRING_INVALID_CMDLINE, "Fejl: Ugyldige kommando linje parametre\n" + STRING_NO_REMOTE, "Fejl: Kunne ikke tilføje nøgler til fjern maskinen\n" + STRING_CANNOT_FIND, "Fejl: Systemet kunne ikke finde, den angivet registrerings nøgle eller værdi\n" +} diff --git a/base/applications/cmdutils/reg/lang/de-DE.rc b/base/applications/cmdutils/reg/lang/de-DE.rc index 449aec0f45a..3099afd8943 100644 --- a/base/applications/cmdutils/reg/lang/de-DE.rc +++ b/base/applications/cmdutils/reg/lang/de-DE.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_USAGE "Syntax:\n\nREG [ ADD | DELETE | QUERY ]\nREG Befehl /?\n" - STRING_ADD_USAGE "REG ADD Schlüssel [/v Wert | /ve] [/t Typ] [/s Trenner] [/d Daten] [/f]\n" - STRING_DELETE_USAGE "REG DELETE Schlüssel [/v Wert | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY Schlüssel [/v Wert | /ve] [/s]\n" - STRING_SUCCESS "Der Vorgang wurde erfolgreich abgeschlossen\n" - STRING_INVALID_KEY "Fehler: Ungültiger Schlüssel\n" - STRING_INVALID_CMDLINE "Fehler: Ungültige Befehlszeilenargumente\n" - STRING_NO_REMOTE "Fehler: Konnte Schlüssel nicht zum entfernten Rechner hinzufügen\n" - STRING_CANNOT_FIND "Fehler: Der angegebene Schlüssel oder Wert konnte nicht gefunden werden\n" -END +{ + STRING_USAGE, "Syntax:\n\nREG [ ADD | DELETE | QUERY ]\nREG Befehl /?\n" + STRING_ADD_USAGE, "REG ADD Schlüssel [/v Wert | /ve] [/t Typ] [/s Trenner] [/d Daten] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE Schlüssel [/v Wert | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY Schlüssel [/v Wert | /ve] [/s]\n" + STRING_SUCCESS, "Der Vorgang wurde erfolgreich abgeschlossen\n" + STRING_INVALID_KEY, "Fehler: Ungültiger Schlüssel\n" + STRING_INVALID_CMDLINE, "Fehler: Ungültige Befehlszeilenargumente\n" + STRING_NO_REMOTE, "Fehler: Konnte Schlüssel nicht zum entfernten Rechner hinzufügen\n" + STRING_CANNOT_FIND, "Fehler: Der angegebene Schlüssel oder Wert konnte nicht gefunden werden\n" +} diff --git a/base/applications/cmdutils/reg/lang/en-US.rc b/base/applications/cmdutils/reg/lang/en-US.rc index 6e9c45aec70..4f322e7d34f 100644 --- a/base/applications/cmdutils/reg/lang/en-US.rc +++ b/base/applications/cmdutils/reg/lang/en-US.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_USAGE "The syntax of this command is:\n\nREG [ ADD | DELETE | QUERY ]\nREG command /?\n" - STRING_ADD_USAGE "REG ADD key_name [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n" - STRING_DELETE_USAGE "REG DELETE key_name [/v value_name | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY key_name [/v value_name | /ve] [/s]\n" - STRING_SUCCESS "The operation completed successfully\n" - STRING_INVALID_KEY "Error: Invalid key name\n" - STRING_INVALID_CMDLINE "Error: Invalid command line parameters\n" - STRING_NO_REMOTE "Error: Unable to add keys to remote machine\n" - STRING_CANNOT_FIND "Error: The system was unable to find the specified registry key or value\n" -END +{ + STRING_USAGE, "The syntax of this command is:\n\nREG [ ADD | DELETE | QUERY ]\nREG command /?\n" + STRING_ADD_USAGE, "REG ADD key_name [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE key_name [/v value_name | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY key_name [/v value_name | /ve] [/s]\n" + STRING_SUCCESS, "The operation completed successfully\n" + STRING_INVALID_KEY, "Error: Invalid key name\n" + STRING_INVALID_CMDLINE, "Error: Invalid command line parameters\n" + STRING_NO_REMOTE, "Error: Unable to add keys to remote machine\n" + STRING_CANNOT_FIND, "Error: The system was unable to find the specified registry key or value\n" +} diff --git a/base/applications/cmdutils/reg/lang/es-ES.rc b/base/applications/cmdutils/reg/lang/es-ES.rc index 1f9fb49152d..f4997110ba5 100644 --- a/base/applications/cmdutils/reg/lang/es-ES.rc +++ b/base/applications/cmdutils/reg/lang/es-ES.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_USAGE "La sintaxis de este comando es:\n\nREG [ ADD | DELETE | QUERY ]\nREG comando /?\n" - STRING_ADD_USAGE "REG ADD nombre_clave [/v nombre_valor | /ve] [/t tipo] [/s separador] [/d datos] [/f]\n" - STRING_DELETE_USAGE "REG DELETE nombre_clave [/v nombre_valor | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY nombre_clave [/v nombre_valor | /ve] [/s]\n" - STRING_SUCCESS "La operación finalizó con éxito\n" - STRING_INVALID_KEY "Error: nombre de clave no válido\n" - STRING_INVALID_CMDLINE "Error: parámetros de línea de comandos inválidos\n" - STRING_NO_REMOTE "Error: No se puede agregar claves al equipo remoto\n" - STRING_CANNOT_FIND "Error: El sistema no pudo encontrar la clave o el valor del Registro especificado\n" -END +{ + STRING_USAGE, "La sintaxis de este comando es:\n\nREG [ ADD | DELETE | QUERY ]\nREG comando /?\n" + STRING_ADD_USAGE, "REG ADD nombre_clave [/v nombre_valor | /ve] [/t tipo] [/s separador] [/d datos] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nombre_clave [/v nombre_valor | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nombre_clave [/v nombre_valor | /ve] [/s]\n" + STRING_SUCCESS, "La operación finalizó con éxito\n" + STRING_INVALID_KEY, "Error: nombre de clave no válido\n" + STRING_INVALID_CMDLINE, "Error: parámetros de línea de comandos inválidos\n" + STRING_NO_REMOTE, "Error: No se puede agregar claves al equipo remoto\n" + STRING_CANNOT_FIND, "Error: El sistema no pudo encontrar la clave o el valor del Registro especificado\n" +} diff --git a/base/applications/cmdutils/reg/lang/fr-FR.rc b/base/applications/cmdutils/reg/lang/fr-FR.rc index 80c603cc709..6f11dd7041c 100644 --- a/base/applications/cmdutils/reg/lang/fr-FR.rc +++ b/base/applications/cmdutils/reg/lang/fr-FR.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_USAGE "La syntaxe de cette commande est :\n\nREG [ ADD | DELETE | QUERY ]\nREG commande /?\n" - STRING_ADD_USAGE "REG ADD nom_de_clé [/v nom_de_valeur | /ve] [/t type] [/s séparateur] [/d données] [/f]\n" - STRING_DELETE_USAGE "REG DELETE nom_de_clé [/v nom_de_valeur | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY nom_de_clé [/v nom_de_valeur | /ve] [/s]\n" - STRING_SUCCESS "L'opération s'est terminée avec succès\n" - STRING_INVALID_KEY "Erreur : nom de clé non valable\n" - STRING_INVALID_CMDLINE "Erreur : paramètre de ligne de commande non valable\n" - STRING_NO_REMOTE "Erreur : impossible d'ajouter des clés à une machine distante\n" - STRING_CANNOT_FIND "Erreur : le système n'a pas pu trouver la clé ou la valeur de registre spécifiée\n" -END +{ + STRING_USAGE, "La syntaxe de cette commande est :\n\nREG [ ADD | DELETE | QUERY ]\nREG commande /?\n" + STRING_ADD_USAGE, "REG ADD nom_de_clé [/v nom_de_valeur | /ve] [/t type] [/s séparateur] [/d données] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nom_de_clé [/v nom_de_valeur | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nom_de_clé [/v nom_de_valeur | /ve] [/s]\n" + STRING_SUCCESS, "L'opération s'est terminée avec succès\n" + STRING_INVALID_KEY, "Erreur : nom de clé non valable\n" + STRING_INVALID_CMDLINE, "Erreur : paramètre de ligne de commande non valable\n" + STRING_NO_REMOTE, "Erreur : impossible d'ajouter des clés à une machine distante\n" + STRING_CANNOT_FIND, "Erreur : le système n'a pas pu trouver la clé ou la valeur de registre spécifiée\n" +} diff --git a/base/applications/cmdutils/reg/lang/it-IT.rc b/base/applications/cmdutils/reg/lang/it-IT.rc index 58a7f50607f..5a9b6a61f82 100644 --- a/base/applications/cmdutils/reg/lang/it-IT.rc +++ b/base/applications/cmdutils/reg/lang/it-IT.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_USAGE "La sintassi di questo comando è:\n\nREG [ ADD | DELETE | QUERY ]\nREG comando /?\n" - STRING_ADD_USAGE "REG ADD nome_della_chiave [/v nome_del_valore | /ve] [/t tipo] [/s separatore] [/d dati] [/f]\n" - STRING_DELETE_USAGE "REG DELETE nome_della_chiave [/v nome_del_valore | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY nome_della_chiave [/v nome_del_valore | /ve] [/s]\n" - STRING_SUCCESS "Operazione completata con successo\n" - STRING_INVALID_KEY "Errore: nome della chiave non valido\n" - STRING_INVALID_CMDLINE "Errore: parametri della linea di comando non validi\n" - STRING_NO_REMOTE "Errore: impossibile aggiungere chiavi alla macchina remota\n" - STRING_CANNOT_FIND "Errore: il sistema non è riuscito a trovare la chiave di registro o il valore specificati\n" -END +{ + STRING_USAGE, "La sintassi di questo comando è:\n\nREG [ ADD | DELETE | QUERY ]\nREG comando /?\n" + STRING_ADD_USAGE, "REG ADD nome_della_chiave [/v nome_del_valore | /ve] [/t tipo] [/s separatore] [/d dati] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nome_della_chiave [/v nome_del_valore | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nome_della_chiave [/v nome_del_valore | /ve] [/s]\n" + STRING_SUCCESS, "Operazione completata con successo\n" + STRING_INVALID_KEY, "Errore: nome della chiave non valido\n" + STRING_INVALID_CMDLINE, "Errore: parametri della linea di comando non validi\n" + STRING_NO_REMOTE, "Errore: impossibile aggiungere chiavi alla macchina remota\n" + STRING_CANNOT_FIND, "Errore: il sistema non è riuscito a trovare la chiave di registro o il valore specificati\n" +} diff --git a/base/applications/cmdutils/reg/lang/ja-JP.rc b/base/applications/cmdutils/reg/lang/ja-JP.rc index 9e74b225d6a..62958501f45 100644 --- a/base/applications/cmdutils/reg/lang/ja-JP.rc +++ b/base/applications/cmdutils/reg/lang/ja-JP.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_USAGE "このコマンドの構文は次のとおりです:\n\nREG [ ADD | DELETE | QUERY ]\nREG コマンド /?\n" - STRING_ADD_USAGE "REG ADD キー名 [/v 値名 | /ve] [/t type] [/s セパレータ] [/d データ] [/f]\n" - STRING_DELETE_USAGE "REG DELETE キー名 [/v 値名 | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY キー名 [/v 値名 | /ve] [/s]\n" - STRING_SUCCESS "操作は正常に完了しました\n" - STRING_INVALID_KEY "エラー: キー名が無効です\n" - STRING_INVALID_CMDLINE "エラー: コマンド ライン引数が無効です\n" - STRING_NO_REMOTE "エラー: リモート マシンにキーを追加できませんでした\n" - STRING_CANNOT_FIND "エラー: システムは指定されたキーまたは値を見つけられませんでした\n" -END +{ + STRING_USAGE, "このコマンドの構文は次のとおりです:\n\nREG [ ADD | DELETE | QUERY ]\nREG コマンド /?\n" + STRING_ADD_USAGE, "REG ADD キー名 [/v 値名 | /ve] [/t type] [/s セパレータ] [/d データ] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE キー名 [/v 値名 | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY キー名 [/v 値名 | /ve] [/s]\n" + STRING_SUCCESS, "操作は正常に完了しました\n" + STRING_INVALID_KEY, "エラー: キー名が無効です\n" + STRING_INVALID_CMDLINE, "エラー: コマンド ライン引数が無効です\n" + STRING_NO_REMOTE, "エラー: リモート マシンにキーを追加できませんでした\n" + STRING_CANNOT_FIND, "エラー: システムは指定されたキーまたは値を見つけられませんでした\n" +} diff --git a/base/applications/cmdutils/reg/lang/ko-KR.rc b/base/applications/cmdutils/reg/lang/ko-KR.rc index 0d8acdfb496..e5ee0cde971 100644 --- a/base/applications/cmdutils/reg/lang/ko-KR.rc +++ b/base/applications/cmdutils/reg/lang/ko-KR.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_USAGE "명령어 형식:\n\nREG [ ADD | DELETE | QUERY ]\nREG 명령어 /?\n" - STRING_ADD_USAGE "REG ADD 값 [/v 값 | /ve] [/t 형식] [/s 분리기호] [/d 데이타] [/f]\n" - STRING_DELETE_USAGE "REG DELETE 키 이름 [/v 값 | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY 키 이름 [/v 값| /ve] [/s]\n" - STRING_SUCCESS "작업이 성공적으로 끝났습니다\n" - STRING_INVALID_KEY "에러: 올바르지 않은 키 이름\n" - STRING_INVALID_CMDLINE "에러:올바르지 않은 명령라인 매개변수\n" - STRING_NO_REMOTE "에러: 원격 머신에 키를 더하는 것은 가능하지 않습니다\n" - STRING_CANNOT_FIND "에러: 이 시스템에서 지정된 레지스트리 키나 값을 찾을수 없습니다\n" -END +{ + STRING_USAGE, "명령어 형식:\n\nREG [ ADD | DELETE | QUERY ]\nREG 명령어 /?\n" + STRING_ADD_USAGE, "REG ADD 값 [/v 값 | /ve] [/t 형식] [/s 분리기호] [/d 데이타] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE 키 이름 [/v 값 | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY 키 이름 [/v 값| /ve] [/s]\n" + STRING_SUCCESS, "작업이 성공적으로 끝났습니다\n" + STRING_INVALID_KEY, "에러: 올바르지 않은 키 이름\n" + STRING_INVALID_CMDLINE, "에러:올바르지 않은 명령라인 매개변수\n" + STRING_NO_REMOTE, "에러: 원격 머신에 키를 더하는 것은 가능하지 않습니다\n" + STRING_CANNOT_FIND, "에러: 이 시스템에서 지정된 레지스트리 키나 값을 찾을수 없습니다\n" +} diff --git a/base/applications/cmdutils/reg/lang/lt-LT.rc b/base/applications/cmdutils/reg/lang/lt-LT.rc index 3d822cd5188..ec3af9731ef 100644 --- a/base/applications/cmdutils/reg/lang/lt-LT.rc +++ b/base/applications/cmdutils/reg/lang/lt-LT.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_LITHUANIAN, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_USAGE "Šios komandos sintaksė yra:\n\nREG [ ADD | DELETE | QUERY ]\nREG komanda /?\n" - STRING_ADD_USAGE "REG ADD rakto_vardas [/v reikšmės_vardas | /ve] [/t tipas] [/s skirtukas] [/d duomenys] [/f]\n" - STRING_DELETE_USAGE "REG DELETE rakto_vardas [/v reikšmės_vardas | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY rakto_vardas [/v reikšmės_vardas | /ve] [/s]\n" - STRING_SUCCESS "Operacija sėkmingai įvykdyta\n" - STRING_INVALID_KEY "Klaida: Netinkamas rakto vardas\n" - STRING_INVALID_CMDLINE "Klaida: Netinkami komandos eilutės parametrai\n" - STRING_NO_REMOTE "Klaida: Negalima pridėti raktų nuotoliniame kompiuteryje\n" - STRING_CANNOT_FIND "Klaida: Sistemai nepavyko rasti nurodyto registro rakto ar reikšmės\n" -END +{ + STRING_USAGE, "Šios komandos sintaksė yra:\n\nREG [ ADD | DELETE | QUERY ]\nREG komanda /?\n" + STRING_ADD_USAGE, "REG ADD rakto_vardas [/v reikšmės_vardas | /ve] [/t tipas] [/s skirtukas] [/d duomenys] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE rakto_vardas [/v reikšmės_vardas | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY rakto_vardas [/v reikšmės_vardas | /ve] [/s]\n" + STRING_SUCCESS, "Operacija sėkmingai įvykdyta\n" + STRING_INVALID_KEY, "Klaida: Netinkamas rakto vardas\n" + STRING_INVALID_CMDLINE, "Klaida: Netinkami komandos eilutės parametrai\n" + STRING_NO_REMOTE, "Klaida: Negalima pridėti raktų nuotoliniame kompiuteryje\n" + STRING_CANNOT_FIND, "Klaida: Sistemai nepavyko rasti nurodyto registro rakto ar reikšmės\n" +} diff --git a/base/applications/cmdutils/reg/lang/nl-NL.rc b/base/applications/cmdutils/reg/lang/nl-NL.rc index f3e8cc74571..56e70b8cbda 100644 --- a/base/applications/cmdutils/reg/lang/nl-NL.rc +++ b/base/applications/cmdutils/reg/lang/nl-NL.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_USAGE "Gebruik van dit commando is:\n\nREG [ ADD | DELETE | QUERY ]\nREG commando /?\n" - STRING_ADD_USAGE "REG ADD sleutel_naam [/v waarde_naam | /ve] [/t type] [/s scheidingsteken] [/d data] [/f]\n" - STRING_DELETE_USAGE "REG DELETE sleutel_naam [/v waarde_naam | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY sleutel_naam [/v waarde_naam | /ve] [/s]\n" - STRING_SUCCESS "De bewerking is succesvol voltooid\n" - STRING_INVALID_KEY "Fout: Foutieve sleutelnaam\n" - STRING_INVALID_CMDLINE "Fout: Foutieve commandoregel-parameters\n" - STRING_NO_REMOTE "Fout: Sleutels konden niet toegevoegd worden aan de remote machine\n" - STRING_CANNOT_FIND "Fout: Het systeem kon de gespecificeerde registersleutel of waarde niet vinden\n" -END +{ + STRING_USAGE, "Gebruik van dit commando is:\n\nREG [ ADD | DELETE | QUERY ]\nREG commando /?\n" + STRING_ADD_USAGE, "REG ADD sleutel_naam [/v waarde_naam | /ve] [/t type] [/s scheidingsteken] [/d data] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE sleutel_naam [/v waarde_naam | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY sleutel_naam [/v waarde_naam | /ve] [/s]\n" + STRING_SUCCESS, "De bewerking is succesvol voltooid\n" + STRING_INVALID_KEY, "Fout: Foutieve sleutelnaam\n" + STRING_INVALID_CMDLINE, "Fout: Foutieve commandoregel-parameters\n" + STRING_NO_REMOTE, "Fout: Sleutels konden niet toegevoegd worden aan de remote machine\n" + STRING_CANNOT_FIND, "Fout: Het systeem kon de gespecificeerde registersleutel of waarde niet vinden\n" +} diff --git a/base/applications/cmdutils/reg/lang/no-NO.rc b/base/applications/cmdutils/reg/lang/no-NO.rc index 06b6a2cb3c9..92970533c3a 100644 --- a/base/applications/cmdutils/reg/lang/no-NO.rc +++ b/base/applications/cmdutils/reg/lang/no-NO.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL STRINGTABLE -BEGIN - STRING_USAGE "Programmer kjøres som følger:\n\nREG [ ADD | DELETE | QUERY ]\nREG kommando /?\n" - STRING_ADD_USAGE "REG ADD nøkkelnavn [/v verdi | /ve] [/t type] [/s separator] [/d data] [/f]\n" - STRING_DELETE_USAGE "REG DELETE nøkkelnavn [/v verdi | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY nøkkelnavn [/v verdi | /ve] [/s]\n" - STRING_SUCCESS "Operasjonen ble utført\n" - STRING_INVALID_KEY "Feil: Ugyldig nøkkelnavn\n" - STRING_INVALID_CMDLINE "Feil: Ugyldige parametere på kommandolinjen\n" - STRING_NO_REMOTE "Feil: Kan ikke legge til nøkler på ekstern maskin\n" - STRING_CANNOT_FIND "Feil: Systemet klarte ikke finne den angitte registernøkkelen eller -verdien\n" -END +{ + STRING_USAGE, "Programmer kjøres som følger:\n\nREG [ ADD | DELETE | QUERY ]\nREG kommando /?\n" + STRING_ADD_USAGE, "REG ADD nøkkelnavn [/v verdi | /ve] [/t type] [/s separator] [/d data] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nøkkelnavn [/v verdi | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nøkkelnavn [/v verdi | /ve] [/s]\n" + STRING_SUCCESS, "Operasjonen ble utført\n" + STRING_INVALID_KEY, "Feil: Ugyldig nøkkelnavn\n" + STRING_INVALID_CMDLINE, "Feil: Ugyldige parametere på kommandolinjen\n" + STRING_NO_REMOTE, "Feil: Kan ikke legge til nøkler på ekstern maskin\n" + STRING_CANNOT_FIND, "Feil: Systemet klarte ikke finne den angitte registernøkkelen eller -verdien\n" +} diff --git a/base/applications/cmdutils/reg/lang/pl-PL.rc b/base/applications/cmdutils/reg/lang/pl-PL.rc index b73fe49122d..34b10df89a1 100644 --- a/base/applications/cmdutils/reg/lang/pl-PL.rc +++ b/base/applications/cmdutils/reg/lang/pl-PL.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_USAGE "Składnia tego polecenia:\n\nREG [ ADD | DELETE | QUERY ]\nREG polecenie /?\n" - STRING_ADD_USAGE "REG ADD nazwa_klucza [/v nazwa_wartości | /ve] [/t typ] [/s separator] [/d dane] [/f]\n" - STRING_DELETE_USAGE "REG DELETE nazwa_klucza [/v nazwa_wartości | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY nazwa_klucza [/v nazwa_wartości | /ve] [/s]\n" - STRING_SUCCESS "Operacja zakończona pomyślnie\n" - STRING_INVALID_KEY "Błąd: Niewłaściwa nazwa klucza\n" - STRING_INVALID_CMDLINE "Błąd: Niewłaściwe parametry wiersza poleceń\n" - STRING_NO_REMOTE "Błąd: Nie można dodać kluczy do zdalnej maszyny\n" - STRING_CANNOT_FIND "Błąd: System nie mógł znaleźć podanej wartości lub klucza rejestru\n" -END +{ + STRING_USAGE, "Składnia tego polecenia:\n\nREG [ ADD | DELETE | QUERY ]\nREG polecenie /?\n" + STRING_ADD_USAGE, "REG ADD nazwa_klucza [/v nazwa_wartości | /ve] [/t typ] [/s separator] [/d dane] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nazwa_klucza [/v nazwa_wartości | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nazwa_klucza [/v nazwa_wartości | /ve] [/s]\n" + STRING_SUCCESS, "Operacja zakończona pomyślnie\n" + STRING_INVALID_KEY, "Błąd: Niewłaściwa nazwa klucza\n" + STRING_INVALID_CMDLINE, "Błąd: Niewłaściwe parametry wiersza poleceń\n" + STRING_NO_REMOTE, "Błąd: Nie można dodać kluczy do zdalnej maszyny\n" + STRING_CANNOT_FIND, "Błąd: System nie mógł znaleźć podanej wartości lub klucza rejestru\n" +} diff --git a/base/applications/cmdutils/reg/lang/pt-PT.rc b/base/applications/cmdutils/reg/lang/pt-PT.rc index 8d24c7129ca..abc38f19f2c 100644 --- a/base/applications/cmdutils/reg/lang/pt-PT.rc +++ b/base/applications/cmdutils/reg/lang/pt-PT.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_USAGE "A sintaxe deste comando é:\n\nREG [ ADD | DELETE | QUERY ]\nREG comando /?\n" - STRING_ADD_USAGE "REG ADD nome_chave [/v nome_valor | /ve] [/t tipo] [/s separador] [/d dados] [/f]\n" - STRING_DELETE_USAGE "REG DELETE nome_chave [/v nome_valor | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY nome_chave [/v nome_valor | /ve] [/s]\n" - STRING_SUCCESS "A operação foi completada com sucesso\n" - STRING_INVALID_KEY "Erro: Nome de chave inválido\n" - STRING_INVALID_CMDLINE "Erro: Parâmetros da linha de comandos inválidos\n" - STRING_NO_REMOTE "Erro: Incapaz de adicionar chaves à máquina remota\n" - STRING_CANNOT_FIND "Erro: O sistema foi incapaz de encontrar a chave de registo ou valor especificado\n" -END +{ + STRING_USAGE, "A sintaxe deste comando é:\n\nREG [ ADD | DELETE | QUERY ]\nREG comando /?\n" + STRING_ADD_USAGE, "REG ADD nome_chave [/v nome_valor | /ve] [/t tipo] [/s separador] [/d dados] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nome_chave [/v nome_valor | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nome_chave [/v nome_valor | /ve] [/s]\n" + STRING_SUCCESS, "A operação foi completada com sucesso\n" + STRING_INVALID_KEY, "Erro: Nome de chave inválido\n" + STRING_INVALID_CMDLINE, "Erro: Parâmetros da linha de comandos inválidos\n" + STRING_NO_REMOTE, "Erro: Incapaz de adicionar chaves à máquina remota\n" + STRING_CANNOT_FIND, "Erro: O sistema foi incapaz de encontrar a chave de registo ou valor especificado\n" +} diff --git a/base/applications/cmdutils/reg/lang/ro-RO.rc b/base/applications/cmdutils/reg/lang/ro-RO.rc index 9edde54a4a0..6301650bc81 100644 --- a/base/applications/cmdutils/reg/lang/ro-RO.rc +++ b/base/applications/cmdutils/reg/lang/ro-RO.rc @@ -1,14 +1,20 @@ +/* +Translators: Claudia Cotună + Michael Stefaniuc + Ștefan Fulea (stefan dot fulea at mail dot md) +*/ + LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_USAGE "Sintaxa acestei comenzi este:\n\nREG [ ADD | DELETE | QUERY ]\nREG comandă /?\n" - STRING_ADD_USAGE "REG ADD nume_cheie [/v nume_valoare | /ve] [/t tip] [/s separator] [/d date] [/f]\n" - STRING_DELETE_USAGE "REG DELETE nume_cheie [/v nume_valoare | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY nume_cheie [/v nume_valoare | /ve] [/s]\n" - STRING_SUCCESS "Operațiunea a fost finalizată cu succes\n" - STRING_INVALID_KEY "Eroare: Nume de cheie nevalid\n" - STRING_INVALID_CMDLINE "Eroare: Parametri nevalizi pentru linia de comandă\n" - STRING_NO_REMOTE "Eroare: Nu se pot adăuga chei pe calculatorul de la distanță\n" - STRING_CANNOT_FIND "Eroare: Sistemul nu a putut găsi cheia sau valoarea de registru specificată\n" -END +{ + STRING_USAGE, "Sintaxa acestei comenzi este:\n\nREG [ ADD | DELETE | QUERY ]\nREG comandă /?\n" + STRING_ADD_USAGE, "REG ADD nume_cheie [/v nume_valoare | /ve] [/t tip] [/s separator] [/d date] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nume_cheie [/v nume_valoare | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nume_cheie [/v nume_valoare | /ve] [/s]\n" + STRING_SUCCESS, "Operația a fost îndeplinită cu succes\n" + STRING_INVALID_KEY, "Eroare: Nume de cheie nevalid\n" + STRING_INVALID_CMDLINE, "Eroare: Parametri nevalizi pentru linia de comandă\n" + STRING_NO_REMOTE, "Eroare: Nu se pot adăuga chei pe calculatorul de la distanță\n" + STRING_CANNOT_FIND, "Eroare: Sistemul nu a putut găsi cheia sau valoarea de registru specificată\n" +} diff --git a/base/applications/cmdutils/reg/lang/ru-RU.rc b/base/applications/cmdutils/reg/lang/ru-RU.rc index 0982b5acc9d..50f653f92d5 100644 --- a/base/applications/cmdutils/reg/lang/ru-RU.rc +++ b/base/applications/cmdutils/reg/lang/ru-RU.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_USAGE "Использование программы:\n\nREG [ ADD | DELETE | QUERY ]\nREG <команда> /?\n" - STRING_ADD_USAGE "REG ADD <имя_раздела> [/v <имя_параметра> | /ve] [/t <тип>] [/s <разделитель>] [/d <данные>] [/f]\n" - STRING_DELETE_USAGE "REG DELETE <имя_раздела> [/v <имя_параметра> | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY <имя_раздела> [/v [имя_параметра] | /ve] [/s]\n" - STRING_SUCCESS "Операция успешно завершена\n" - STRING_INVALID_KEY "Ошибка: неправильное имя ключа\n" - STRING_INVALID_CMDLINE "Ошибка: неправильные параметры командной строки\n" - STRING_NO_REMOTE "Ошибка: невозможно добавить ключи на удаленной машине\n" - STRING_CANNOT_FIND "Ошибка: не удалось найти указанный ключ реестра или значение\n" -END +{ + STRING_USAGE, "Использование:\n\nREG [ ADD | DELETE | QUERY ]\nREG <команда> /?\n" + STRING_ADD_USAGE, "REG ADD <имя_раздела> [/v <имя_параметра> | /ve] [/t <тип>] [/s <разделитель>] [/d <данные>] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE <имя_раздела> [/v <имя_параметра> | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY <имя_раздела> [/v [имя_параметра] | /ve] [/s]\n" + STRING_SUCCESS, "Операция успешно завершена\n" + STRING_INVALID_KEY, "Ошибка: Неправильное имя ключа\n" + STRING_INVALID_CMDLINE, "Ошибка: Неправильные параметры командной строки\n" + STRING_NO_REMOTE, "Ошибка: Невозможно добавить ключи на удаленной машине\n" + STRING_CANNOT_FIND, "Ошибка: Не удалось найти указанный ключ реестра или значение\n" +} diff --git a/base/applications/cmdutils/reg/lang/sl-SI.rc b/base/applications/cmdutils/reg/lang/sl-SI.rc index 113cde9b733..5576a7c82fc 100644 --- a/base/applications/cmdutils/reg/lang/sl-SI.rc +++ b/base/applications/cmdutils/reg/lang/sl-SI.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_USAGE "Sintaksa ukaza:\n\nREG [ ADD | DELETE | QUERY ]\nREG ukaz /?\n" - STRING_ADD_USAGE "REG ADD ime_ključa [/v ime_vrednosti | /ve] [/t vrsta] [/s ločilo] [/d podatki] [/f]\n" - STRING_DELETE_USAGE "REG DELETE ime_ključa [/v ime_vrednosti | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY ime_ključa [/v ime_vrednosti | /ve] [/s]\n" - STRING_SUCCESS "Operacija se je uspešno izvedla\n" - STRING_INVALID_KEY "Napaka: Napačno ime ključa\n" - STRING_INVALID_CMDLINE "Napaka: Napačen parameter v ukazni vrstici\n" - STRING_NO_REMOTE "Napaka: Na morem dodati ključa na oddaljen računalnik\n" - STRING_CANNOT_FIND "Napaka: Sistem ni našel zahtevanega ključa ali vrednosti\n" -END +{ + STRING_USAGE, "Sintaksa ukaza:\n\nREG [ ADD | DELETE | QUERY ]\nREG ukaz /?\n" + STRING_ADD_USAGE, "REG ADD ime_ključa [/v ime_vrednosti | /ve] [/t vrsta] [/s ločilo] [/d podatki] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE ime_ključa [/v ime_vrednosti | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY ime_ključa [/v ime_vrednosti | /ve] [/s]\n" + STRING_SUCCESS, "Operacija se je uspešno izvedla\n" + STRING_INVALID_KEY, "Napaka: Napačno ime ključa\n" + STRING_INVALID_CMDLINE, "Napaka: Napačen parameter v ukazni vrstici\n" + STRING_NO_REMOTE, "Napaka: Na morem dodati ključa na oddaljen računalnik\n" + STRING_CANNOT_FIND, "Napaka: Sistem ni našel zahtevanega ključa ali vrednosti\n" +} diff --git a/base/applications/cmdutils/reg/lang/sq-AL.rc b/base/applications/cmdutils/reg/lang/sq-AL.rc index 509c2a219ca..31d18627546 100644 --- a/base/applications/cmdutils/reg/lang/sq-AL.rc +++ b/base/applications/cmdutils/reg/lang/sq-AL.rc @@ -5,14 +5,14 @@ LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_USAGE "Sintaksa e kësaj komande është:\n\nREG [ ADD | DELETE | QUERY ]\nREG Komandë /?\n" - STRING_ADD_USAGE "REG ADD emri_çelsit [/v value_name | /ve] [/t tipi] [/s ndares] [/d data] [/f]\n" - STRING_DELETE_USAGE "REG DELETE emri_çelsit [/v value_name | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY emri_çelsit [/v value_name | /ve] [/s]\n" - STRING_SUCCESS "Operacioni përfundoi me sukses\n" - STRING_INVALID_KEY "Error: Çelsi i pavlerfshem i emrit\n" - STRING_INVALID_CMDLINE "Error: Parametrat e pavlefshme ne vijën komanduse\n" - STRING_NO_REMOTE "Error: Në pamundësi për të shtuar çelësat në makinë në distancë\n" - STRING_CANNOT_FIND "Error: Sistemi nuk ishte në gjendje për të gjetur çelësat të caktuar të regjistrit ose vlerës\n" -END +{ + STRING_USAGE, "Sintaksa e kësaj komande është:\n\nREG [ ADD | DELETE | QUERY ]\nREG Komandë /?\n" + STRING_ADD_USAGE, "REG ADD emri_çelsit [/v value_name | /ve] [/t tipi] [/s ndares] [/d data] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE emri_çelsit [/v value_name | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY emri_çelsit [/v value_name | /ve] [/s]\n" + STRING_SUCCESS, "Operacioni përfundoi me sukses\n" + STRING_INVALID_KEY, "Error: Çelsi i pavlerfshem i emrit\n" + STRING_INVALID_CMDLINE, "Error: Parametrat e pavlefshme ne vijën komanduse\n" + STRING_NO_REMOTE, "Error: Në pamundësi për të shtuar çelësat në makinë në distancë\n" + STRING_CANNOT_FIND, "Error: Sistemi nuk ishte në gjendje për të gjetur çelësat të caktuar të regjistrit ose vlerës\n" +} diff --git a/base/applications/cmdutils/reg/lang/sv-SE.rc b/base/applications/cmdutils/reg/lang/sv-SE.rc index 579c0230fd9..817fa3f4bd9 100644 --- a/base/applications/cmdutils/reg/lang/sv-SE.rc +++ b/base/applications/cmdutils/reg/lang/sv-SE.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_USAGE "Syntax för detta kommando är:\n\nREG [ ADD | DELETE | QUERY ]\nREG kommando /?\n" - STRING_ADD_USAGE "REG ADD nyckelnamn [/v värdenamn | /ve] [/t typ] [/s separator] [/d data] [/f]\n" - STRING_DELETE_USAGE "REG DELETE nyckelnamn [/v värdenamn | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY nyckelnamn [/v värdenamn | /ve] [/s]\n" - STRING_SUCCESS "Operation slutfördes utan problem\n" - STRING_INVALID_KEY "Fel: ogiltigt nyckelnamn\n" - STRING_INVALID_CMDLINE "Fel: ogiltiga kommandoradsparametrar\n" - STRING_NO_REMOTE "Fel: Kan inte lägga till nycklar till fjärrmaskin\n" - STRING_CANNOT_FIND "Fel: Systemet kunde inte hitta angiven nyckel eller värde i registret\n" -END +{ + STRING_USAGE, "Syntax för detta kommando är:\n\nREG [ ADD | DELETE | QUERY ]\nREG kommando /?\n" + STRING_ADD_USAGE, "REG ADD nyckelnamn [/v värdenamn | /ve] [/t typ] [/s separator] [/d data] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nyckelnamn [/v värdenamn | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nyckelnamn [/v värdenamn | /ve] [/s]\n" + STRING_SUCCESS, "Operation slutfördes utan problem\n" + STRING_INVALID_KEY, "Fel: ogiltigt nyckelnamn\n" + STRING_INVALID_CMDLINE, "Fel: ogiltiga kommandoradsparametrar\n" + STRING_NO_REMOTE, "Fel: Kan inte lägga till nycklar till fjärrmaskin\n" + STRING_CANNOT_FIND, "Fel: Systemet kunde inte hitta angiven nyckel eller värde i registret\n" +} diff --git a/base/applications/cmdutils/reg/lang/uk-UA.rc b/base/applications/cmdutils/reg/lang/uk-UA.rc index 304d689737a..9b98233f75f 100644 --- a/base/applications/cmdutils/reg/lang/uk-UA.rc +++ b/base/applications/cmdutils/reg/lang/uk-UA.rc @@ -1,14 +1,14 @@ LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_USAGE "Синтаксис цієї команди наступний:\n\nREG [ ADD | DELETE | QUERY ]\nREG <команда> /?\n" - STRING_ADD_USAGE "REG ADD <ключ> [/v <параметр> | /ve] [/t <тип>] [/s <розділювач>] [/d дані] [/f]\n" - STRING_DELETE_USAGE "REG DELETE <ключ> [/v <параметр> | /ve | /va] [/f]\n" - STRING_QUERY_USAGE "REG QUERY <ключ> [/v <параметр> | /ve] [/s]\n" - STRING_SUCCESS "Операція успішно завершена\n" - STRING_INVALID_KEY "Помилка: неправильне ім'я ключа\n" - STRING_INVALID_CMDLINE "Помилка: неправильні параметри командного рядка\n" - STRING_NO_REMOTE "Помилка: неможливо додати ключі на віддаленій машині\n" - STRING_CANNOT_FIND "Помилка: не вдалось знайти вказаний ключ реєстру чи значення\n" -END +{ + STRING_USAGE, "Синтаксис цієї команди наступний:\n\nREG [ ADD | DELETE | QUERY ]\nREG <команда> /?\n" + STRING_ADD_USAGE, "REG ADD <ключ> [/v <параметр> | /ve] [/t <тип>] [/s <розділювач>] [/d дані] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE <ключ> [/v <параметр> | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY <ключ> [/v <параметр> | /ve] [/s]\n" + STRING_SUCCESS, "Операція успішно завершена\n" + STRING_INVALID_KEY, "Помилка: неправильне ім'я ключа\n" + STRING_INVALID_CMDLINE, "Помилка: неправильні параметри командного рядка\n" + STRING_NO_REMOTE, "Помилка: неможливо додати ключі на віддаленій машині\n" + STRING_CANNOT_FIND, "Помилка: не вдалось знайти вказаний ключ реєстру чи значення\n" +} diff --git a/base/applications/cmdutils/reg/reg.c b/base/applications/cmdutils/reg/reg.c index 7a667b6cff4..00c79ff3b59 100644 --- a/base/applications/cmdutils/reg/reg.c +++ b/base/applications/cmdutils/reg/reg.c @@ -35,7 +35,7 @@ static int reg_printfW(const WCHAR *msg, ...) WCHAR msg_buffer[8192]; va_start(va_args, msg); - vsprintfW(msg_buffer, msg, va_args); + vsnprintfW(msg_buffer, 8192, msg, va_args); va_end(va_args); wlen = lstrlenW(msg_buffer); diff --git a/base/applications/cmdutils/reg/reg.h b/base/applications/cmdutils/reg/reg.h index 8a80eab68ef..a321efa23db 100644 --- a/base/applications/cmdutils/reg/reg.h +++ b/base/applications/cmdutils/reg/reg.h @@ -23,12 +23,12 @@ //#include /* Translation IDs. */ -#define STRING_USAGE 101 -#define STRING_ADD_USAGE 102 -#define STRING_DELETE_USAGE 103 -#define STRING_QUERY_USAGE 104 -#define STRING_SUCCESS 105 -#define STRING_INVALID_KEY 106 -#define STRING_INVALID_CMDLINE 107 -#define STRING_NO_REMOTE 108 -#define STRING_CANNOT_FIND 109 +#define STRING_USAGE 101 +#define STRING_ADD_USAGE 102 +#define STRING_DELETE_USAGE 103 +#define STRING_QUERY_USAGE 104 +#define STRING_SUCCESS 105 +#define STRING_INVALID_KEY 106 +#define STRING_INVALID_CMDLINE 107 +#define STRING_NO_REMOTE 108 +#define STRING_CANNOT_FIND 109 diff --git a/base/applications/cmdutils/taskkill/lang/de-DE.rc b/base/applications/cmdutils/taskkill/lang/de-DE.rc index fa3b99ed95a..ea43a9bae17 100644 --- a/base/applications/cmdutils/taskkill/lang/de-DE.rc +++ b/base/applications/cmdutils/taskkill/lang/de-DE.rc @@ -1,19 +1,19 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_USAGE "taskkill [/?] [/f] [/im Prozess Name | /pid Prozess ID]\n" - STRING_INVALID_OPTION "Fehler: Unbekannte oder ungülige Kommandozeilenoption angegeben.\n" - STRING_INVALID_PARAM "Fehler: Ungültiger Kommandozeilenparameter angegeben.\n" - STRING_MISSING_OPTION "Fehler: Eine der Optionen /im oder /pid muss angegeben werden.\n" - STRING_MISSING_PARAM "Fehler: Option %1 erwartet einen Kommandozeilenparameter.\n" - STRING_MUTUAL_EXCLUSIVE "Fehler: Optionen /im und /pid schließen sich gegenseitig aus.\n" - STRING_CLOSE_PID_SEARCH "Schließen-Befehl an oberstes Fenster des Prozesses mit PID %1!u! gesendet.\n" - STRING_CLOSE_PROC_SRCH "Schließen-Befehl an oberstes Fenster des Prozesses ""%1"" mit PID %2!u! gesendet.\n" - STRING_TERM_PID_SEARCH "Prozess mit PID %1!u! wurde erzwungenermaßen beendet.\n" - STRING_TERM_PROC_SEARCH "Prozess ""%1"" mit PID %2!u! wurde erzwungenermaßen beendet.\n" - STRING_SEARCH_FAILED "Fehler: Konnte Prozess ""%1"" nicht finden.\n" - STRING_ENUM_FAILED "Fehler: Prozessliste kann nicht aufgebaut werden.\n" - STRING_TERMINATE_FAILED "Fehler: Prozess ""%1"" kann nicht beendet werden.\n" - STRING_SELF_TERMINATION "Fehler: Der Prozess kann sich nicht selbst beenden.\n" -END +{ + STRING_USAGE, "Usage: taskkill [/?] [/f] [/im Prozess Name | /pid Prozess ID]\n" + STRING_INVALID_OPTION, "Fehler: Unbekannte oder ungülige Kommandozeilenoption angegeben.\n" + STRING_INVALID_PARAM, "Fehler: Ungültiger Kommandozeilenparameter angegeben.\n" + STRING_MISSING_OPTION, "Fehler: Eine der Optionen /im oder /pid muss angegeben werden.\n" + STRING_MISSING_PARAM, "Fehler: Option %1 erwartet einen Kommandozeilenparameter.\n" + STRING_MUTUAL_EXCLUSIVE, "Fehler: Optionen /im und /pid schließen sich gegenseitig aus.\n" + STRING_CLOSE_PID_SEARCH, "Schließen-Befehl an oberstes Fenster des Prozesses mit PID %1!u! gesendet.\n" + STRING_CLOSE_PROC_SRCH, "Schließen-Befehl an oberstes Fenster des Prozesses ""%1"" mit PID %2!u! gesendet.\n" + STRING_TERM_PID_SEARCH, "Prozess mit PID %1!u! wurde erzwungenermaßen beendet.\n" + STRING_TERM_PROC_SEARCH, "Prozess ""%1"" mit PID %2!u! wurde erzwungenermaßen beendet.\n" + STRING_SEARCH_FAILED, "Fehler: Konnte Prozess ""%1"" nicht finden.\n" + STRING_ENUM_FAILED, "Fehler: Prozessliste kann nicht aufgebaut werden.\n" + STRING_TERMINATE_FAILED, "Fehler: Prozess ""%1"" kann nicht beendet werden.\n" + STRING_SELF_TERMINATION, "Fehler: Der Prozess kann sich nicht selbst beenden.\n" +} diff --git a/base/applications/cmdutils/taskkill/lang/en-US.rc b/base/applications/cmdutils/taskkill/lang/en-US.rc index aea246ac70b..1e87249cb11 100644 --- a/base/applications/cmdutils/taskkill/lang/en-US.rc +++ b/base/applications/cmdutils/taskkill/lang/en-US.rc @@ -1,19 +1,19 @@ LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_USAGE "taskkill [/?] [/f] [/im ProcessName | /pid ProcessID]\n" - STRING_INVALID_OPTION "Error: Unknown or invalid command line option specified.\n" - STRING_INVALID_PARAM "Error: Invalid command line parameter specified.\n" - STRING_MISSING_OPTION "Error: One of options /im or /pid must be specified.\n" - STRING_MISSING_PARAM "Error: Option %1 expects a command line parameter.\n" - STRING_MUTUAL_EXCLUSIVE "Error: Options /im and /pid are mutually exclusive.\n" - STRING_CLOSE_PID_SEARCH "Close message sent to top-level windows of process with PID %1!u!.\n" - STRING_CLOSE_PROC_SRCH "Close message sent to top-level windows of process ""%1"" with PID %2!u!.\n" - STRING_TERM_PID_SEARCH "Process with PID %1!u! was forcibly terminated.\n" - STRING_TERM_PROC_SEARCH "Process ""%1"" with PID %2!u! was forcibly terminated.\n" - STRING_SEARCH_FAILED "Error: Could not find process ""%1"".\n" - STRING_ENUM_FAILED "Error: Unable to enumerate the process list.\n" - STRING_TERMINATE_FAILED "Error: Unable to terminate process ""%1"".\n" - STRING_SELF_TERMINATION "Error: Process self-termination is not permitted.\n" -END +{ + STRING_USAGE, "Usage: taskkill [/?] [/f] [/im ProcessName | /pid ProcessID]\n" + STRING_INVALID_OPTION, "Error: Unknown or invalid command line option specified.\n" + STRING_INVALID_PARAM, "Error: Invalid command line parameter specified.\n" + STRING_MISSING_OPTION, "Error: One of options /im or /pid must be specified.\n" + STRING_MISSING_PARAM, "Error: Option %1 expects a command line parameter.\n" + STRING_MUTUAL_EXCLUSIVE, "Error: Options /im and /pid are mutually exclusive.\n" + STRING_CLOSE_PID_SEARCH, "Close message sent to top-level windows of process with PID %1!u!.\n" + STRING_CLOSE_PROC_SRCH, "Close message sent to top-level windows of process ""%1"" with PID %2!u!.\n" + STRING_TERM_PID_SEARCH, "Process with PID %1!u! was forcibly terminated.\n" + STRING_TERM_PROC_SEARCH, "Process ""%1"" with PID %2!u! was forcibly terminated.\n" + STRING_SEARCH_FAILED, "Error: Could not find process ""%1"".\n" + STRING_ENUM_FAILED, "Error: Unable to enumerate the process list.\n" + STRING_TERMINATE_FAILED, "Error: Unable to terminate process ""%1"".\n" + STRING_SELF_TERMINATION, "Error: Process self-termination is not permitted.\n" +} diff --git a/base/applications/cmdutils/taskkill/lang/ro-RO.rc b/base/applications/cmdutils/taskkill/lang/ro-RO.rc index a0767a855a5..3efa3b23aba 100644 --- a/base/applications/cmdutils/taskkill/lang/ro-RO.rc +++ b/base/applications/cmdutils/taskkill/lang/ro-RO.rc @@ -3,19 +3,19 @@ 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 +{ + STRING_USAGE, "Utilizare: 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" +} diff --git a/base/applications/cmdutils/taskkill/lang/ru-RU.rc b/base/applications/cmdutils/taskkill/lang/ru-RU.rc index f6e54e339bb..0d792ec7770 100644 --- a/base/applications/cmdutils/taskkill/lang/ru-RU.rc +++ b/base/applications/cmdutils/taskkill/lang/ru-RU.rc @@ -1,19 +1,21 @@ +/* Russian language resource file by Kudratov Olimjon (olim98@bk.ru) */ + LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_USAGE "TASKKILL [/F] [/IM <образ> | /PID <процесс>]\n" - STRING_INVALID_OPTION "Error: Unknown or invalid command line option specified.\n" - STRING_INVALID_PARAM "Error: Invalid command line parameter specified.\n" - STRING_MISSING_OPTION "Error: One of options /im or /pid must be specified.\n" - STRING_MISSING_PARAM "Error: Option %1 expects a command line parameter.\n" - STRING_MUTUAL_EXCLUSIVE "Error: Options /im and /pid are mutually exclusive.\n" - STRING_CLOSE_PID_SEARCH "Close message sent to top-level windows of process with PID %1!u!.\n" - STRING_CLOSE_PROC_SRCH "Close message sent to top-level windows of process ""%1"" with PID %2!u!.\n" - STRING_TERM_PID_SEARCH "Process with PID %1!u! was forcibly terminated.\n" - STRING_TERM_PROC_SEARCH "Process ""%1"" with PID %2!u! was forcibly terminated.\n" - STRING_SEARCH_FAILED "Error: Could not find process ""%1"".\n" - STRING_ENUM_FAILED "Error: Unable to enumerate the process list.\n" - STRING_TERMINATE_FAILED "Error: Unable to terminate process ""%1"".\n" - STRING_SELF_TERMINATION "Error: Process self-termination is not permitted.\n" -END +{ + STRING_USAGE, "Использование: TASKKILL [/F] [/IM <образ> | /PID <процесс>]\n" + STRING_INVALID_OPTION, "Ошибка: Указаны неверные параметры командной строки.\n" + STRING_INVALID_PARAM, "Ошибка: Указаны неверные параметры командной строки.\n" + STRING_MISSING_OPTION, "Ошибка: Должен быть указан параметр /im или /pid.\n" + STRING_MISSING_PARAM, "Ошибка: Потерян обязательный параметр %1.\n" + STRING_MUTUAL_EXCLUSIVE, "Ошибка: Одновременное использование параметров '/pid' и '/im' запрещено.\n" + STRING_CLOSE_PID_SEARCH, "Отправлен сигнал завершения процессу с идентификатором %1!u!.\n" + STRING_CLOSE_PROC_SRCH, "Отправлен сигнал завершения процессу ""%1"" с идентификатором %2!u!.\n" + STRING_TERM_PID_SEARCH, "Процесс, с идентификатором %1!u! принудительно завершен.\n" + STRING_TERM_PROC_SEARCH, "Процесс ""%1"" с идентификатором %2!u! принудительно завершен.\n" + STRING_SEARCH_FAILED, "Ошибка: Не удается найти процесс ""%1"".\n" + STRING_ENUM_FAILED, "Ошибка: Unable to enumerate the process list.\n" + STRING_TERMINATE_FAILED, "Ошибка: Не удается завершить процесс ""%1"".\n" + STRING_SELF_TERMINATION, "Ошибка: Процесс не может завершить сам себя.\n" +} diff --git a/base/applications/cmdutils/taskkill/lang/sq-AL.rc b/base/applications/cmdutils/taskkill/lang/sq-AL.rc index 49e58aa02f1..c4ee3dd1bc3 100644 --- a/base/applications/cmdutils/taskkill/lang/sq-AL.rc +++ b/base/applications/cmdutils/taskkill/lang/sq-AL.rc @@ -5,19 +5,19 @@ LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_USAGE "taskkill [/?] [/f] [/im ProcessName | /pid ProcessID]\n" - STRING_INVALID_OPTION "Gabim: Panjohur ose i pavlefshëm opsioni linjes komandes i specifikuar.\n" - STRING_INVALID_PARAM "Gabim: Pavlefshëm parametri i specifikuar ne linjen e komandes.\n" - STRING_MISSING_OPTION "Gabim: Njera nga opsionet /im ose /pid duhet te specifikohet.\n" - STRING_MISSING_PARAM "Gabim: Opsioni %1 kalon parametrin i linjes se komandes.\n" - STRING_MUTUAL_EXCLUSIVE "Gabim: Opsioni /im dhe /pid janë exclusiv reciprokisht.\n" - STRING_CLOSE_PID_SEARCH "Mbyll mesazhin e derguar ne dritaren e nivelin-lart te proceseve me PID %1!u!.\n" - STRING_CLOSE_PROC_SRCH "Mbyll mesazhin e derguar ne dritaren e nivelin-lart te proceseve ""%1"" me PID %2!u!.\n" - STRING_TERM_PID_SEARCH "Proceso me PID %1!u! u mbyll me force.\n" - STRING_TERM_PROC_SEARCH "Proces ""%1"" me PID %2!u! u mbyll me force.\n" - STRING_SEARCH_FAILED "Gabim: Nuk u gjend procesi ""%1"".\n" - STRING_ENUM_FAILED "Gabim: Në pamundësi për të numëruar listën proceseve.\n" - STRING_TERMINATE_FAILED "Gabim: Pamundur mbyllja e proceseve ""%1"".\n" - STRING_SELF_TERMINATION "Gabim: Procesi vetë-përfundimi nuk është i lejuar.\n" -END +{ + STRING_USAGE, "Usage: taskkill [/?] [/f] [/im ProcessName | /pid ProcessID]\n" + STRING_INVALID_OPTION, "Gabim: Panjohur ose i pavlefshëm opsioni linjes komandes i specifikuar.\n" + STRING_INVALID_PARAM, "Gabim: Pavlefshëm parametri i specifikuar ne linjen e komandes.\n" + STRING_MISSING_OPTION, "Gabim: Njera nga opsionet /im ose /pid duhet te specifikohet.\n" + STRING_MISSING_PARAM, "Gabim: Opsioni %1 kalon parametrin i linjes se komandes.\n" + STRING_MUTUAL_EXCLUSIVE, "Gabim: Opsioni /im dhe /pid janë exclusiv reciprokisht.\n" + STRING_CLOSE_PID_SEARCH, "Mbyll mesazhin e derguar ne dritaren e nivelin-lart te proceseve me PID %1!u!.\n" + STRING_CLOSE_PROC_SRCH, "Mbyll mesazhin e derguar ne dritaren e nivelin-lart te proceseve ""%1"" me PID %2!u!.\n" + STRING_TERM_PID_SEARCH, "Proceso me PID %1!u! u mbyll me force.\n" + STRING_TERM_PROC_SEARCH, "Proces ""%1"" me PID %2!u! u mbyll me force.\n" + STRING_SEARCH_FAILED, "Gabim: Nuk u gjend procesi ""%1"".\n" + STRING_ENUM_FAILED, "Gabim: Në pamundësi për të numëruar listën proceseve.\n" + STRING_TERMINATE_FAILED, "Gabim: Pamundur mbyllja e proceseve ""%1"".\n" + STRING_SELF_TERMINATION, "Gabim: Procesi vetë-përfundimi nuk është i lejuar.\n" +} diff --git a/base/applications/cmdutils/taskkill/taskkill.c b/base/applications/cmdutils/taskkill/taskkill.c index 7a4d7f43bc2..894e06a5ea5 100644 --- a/base/applications/cmdutils/taskkill/taskkill.c +++ b/base/applications/cmdutils/taskkill/taskkill.c @@ -32,7 +32,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(taskkill); -static int force_termination; +static BOOL force_termination = FALSE; static WCHAR **task_list; static unsigned int task_count; @@ -450,36 +450,46 @@ static BOOL add_to_task_list(WCHAR *name) * options are detected as parameters when placed after options that accept one. */ static BOOL process_arguments(int argc, WCHAR *argv[]) { - static const WCHAR slashForceTerminate[] = {'/','f',0}; - static const WCHAR slashImage[] = {'/','i','m',0}; - static const WCHAR slashPID[] = {'/','p','i','d',0}; - static const WCHAR slashHelp[] = {'/','?',0}; - static const WCHAR slashTerminateChildren[] = {'/','t',0}; + static const WCHAR opForceTerminate[] = {'f',0}; + static const WCHAR opImage[] = {'i','m',0}; + static const WCHAR opPID[] = {'p','i','d',0}; + static const WCHAR opHelp[] = {'?',0}; + static const WCHAR opTerminateChildren[] = {'t',0}; if (argc > 1) { int i; - BOOL has_im = 0, has_pid = 0; + WCHAR *argdata; + BOOL has_im = FALSE, has_pid = FALSE; /* Only the lone help option is recognized. */ - if (argc == 2 && !strcmpW(slashHelp, argv[1])) + if (argc == 2) { - taskkill_message(STRING_USAGE); - exit(0); + argdata = argv[1]; + if ((*argdata == '/' || *argdata == '-') && !strcmpW(opHelp, argdata + 1)) + { + taskkill_message(STRING_USAGE); + exit(0); + } } for (i = 1; i < argc; i++) { - int got_im = 0, got_pid = 0; + BOOL got_im = FALSE, got_pid = FALSE; - if (!strcmpiW(slashTerminateChildren, argv[i])) - WINE_FIXME("/T not supported\n"); - if (!strcmpiW(slashForceTerminate, argv[i])) - force_termination = 1; + argdata = argv[i]; + if (*argdata != '/' && *argdata != '-') + goto invalid; + argdata++; + + if (!strcmpiW(opTerminateChildren, argdata)) + WINE_FIXME("argument T not supported\n"); + if (!strcmpiW(opForceTerminate, argdata)) + force_termination = TRUE; /* Options /IM and /PID appear to behave identically, except for * the fact that they cannot be specified at the same time. */ - else if ((got_im = !strcmpiW(slashImage, argv[i])) || - (got_pid = !strcmpiW(slashPID, argv[i]))) + else if ((got_im = !strcmpiW(opImage, argdata)) || + (got_pid = !strcmpiW(opPID, argdata))) { if (!argv[i + 1]) { @@ -488,8 +498,8 @@ static BOOL process_arguments(int argc, WCHAR *argv[]) return FALSE; } - if (got_im) has_im = 1; - if (got_pid) has_pid = 1; + if (got_im) has_im = TRUE; + if (got_pid) has_pid = TRUE; if (has_im && has_pid) { @@ -504,6 +514,7 @@ static BOOL process_arguments(int argc, WCHAR *argv[]) } else { + invalid: taskkill_message(STRING_INVALID_OPTION); taskkill_message(STRING_USAGE); return FALSE; diff --git a/base/applications/cmdutils/wmic/lang/de-DE.rc b/base/applications/cmdutils/wmic/lang/de-DE.rc index fd4608bc7e8..17b380eb1e6 100644 --- a/base/applications/cmdutils/wmic/lang/de-DE.rc +++ b/base/applications/cmdutils/wmic/lang/de-DE.rc @@ -1,8 +1,8 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_CMDLINE_NOT_SUPPORTED "Fehler: Befehlszeile nicht unterstützt\n" - STRING_ALIAS_NOT_FOUND "Fehler: Alias nicht gefunden\n" - STRING_INVALID_QUERY "Fehler: Ungültige Abfrage\n" -END +{ + STRING_CMDLINE_NOT_SUPPORTED, "Fehler: Befehlszeile nicht unterstützt\n" + STRING_ALIAS_NOT_FOUND, "Fehler: Alias nicht gefunden\n" + STRING_INVALID_QUERY, "Fehler: Ungültige Abfrage\n" +} diff --git a/base/applications/cmdutils/wmic/lang/en-US.rc b/base/applications/cmdutils/wmic/lang/en-US.rc index 2cab654f6b0..0efcaf874f1 100644 --- a/base/applications/cmdutils/wmic/lang/en-US.rc +++ b/base/applications/cmdutils/wmic/lang/en-US.rc @@ -1,8 +1,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_CMDLINE_NOT_SUPPORTED "Error: Command line not supported\n" - STRING_ALIAS_NOT_FOUND "Error: Alias not found\n" - STRING_INVALID_QUERY "Error: Invalid query\n" -END +{ + STRING_CMDLINE_NOT_SUPPORTED, "Error: Command line not supported\n" + STRING_ALIAS_NOT_FOUND, "Error: Alias not found\n" + STRING_INVALID_QUERY, "Error: Invalid query\n" +} diff --git a/base/applications/cmdutils/wmic/lang/ro-RO.rc b/base/applications/cmdutils/wmic/lang/ro-RO.rc index 09bf39f833e..51348f89aab 100644 --- a/base/applications/cmdutils/wmic/lang/ro-RO.rc +++ b/base/applications/cmdutils/wmic/lang/ro-RO.rc @@ -3,8 +3,8 @@ 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 +{ + 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" +} diff --git a/base/applications/cmdutils/wmic/lang/ru-RU.rc b/base/applications/cmdutils/wmic/lang/ru-RU.rc index c85d0597191..8c7a3e5756a 100644 --- a/base/applications/cmdutils/wmic/lang/ru-RU.rc +++ b/base/applications/cmdutils/wmic/lang/ru-RU.rc @@ -1,8 +1,8 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_CMDLINE_NOT_SUPPORTED "Ошибка: коммандная строка не поддерживается\n" - STRING_ALIAS_NOT_FOUND "Ошибка: псевдоним не найден\n" - STRING_INVALID_QUERY "Ошибка: неврный запрос\n" -END +{ + STRING_CMDLINE_NOT_SUPPORTED, "Ошибка: Командная строка не поддерживается\n" + STRING_ALIAS_NOT_FOUND, "Ошибка: Псевдоним не найден\n" + STRING_INVALID_QUERY, "Ошибка: Неверный запрос\n" +} diff --git a/base/applications/cmdutils/wmic/lang/sq-AL.rc b/base/applications/cmdutils/wmic/lang/sq-AL.rc index 7515a332411..4d1e2c46950 100644 --- a/base/applications/cmdutils/wmic/lang/sq-AL.rc +++ b/base/applications/cmdutils/wmic/lang/sq-AL.rc @@ -5,8 +5,8 @@ LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_CMDLINE_NOT_SUPPORTED "Gabim: Linja e komandave jo e mbështetur\n" - STRING_ALIAS_NOT_FOUND "Gabim: Pseudonimi nuk u gjend\n" - STRING_INVALID_QUERY "Gabim: Kërkim pa vlere\n" -END +{ + STRING_CMDLINE_NOT_SUPPORTED, "Gabim: Linja e komandave jo e mbështetur\n" + STRING_ALIAS_NOT_FOUND, "Gabim: Pseudonimi nuk u gjend\n" + STRING_INVALID_QUERY, "Gabim: Kërkim pa vlere\n" +} diff --git a/base/applications/cmdutils/wmic/main.c b/base/applications/cmdutils/wmic/main.c index 6143177cf17..0cdd69d2f45 100644 --- a/base/applications/cmdutils/wmic/main.c +++ b/base/applications/cmdutils/wmic/main.c @@ -229,6 +229,7 @@ static int query_prop( const WCHAR *alias, const WCHAR *propname ) } if (IWbemClassObject_Get( obj, prop, 0, &v, NULL, NULL ) == WBEM_S_NO_ERROR) { + VariantChangeType( &v, &v, 0, VT_BSTR ); output_string( fmtW, V_BSTR( &v ) ); VariantClear( &v ); } diff --git a/base/applications/cmdutils/wscript/CMakeLists.txt b/base/applications/cmdutils/wscript/CMakeLists.txt new file mode 100644 index 00000000000..0438ccd1b67 --- /dev/null +++ b/base/applications/cmdutils/wscript/CMakeLists.txt @@ -0,0 +1,17 @@ + +list(APPEND SOURCE + arguments.c + host.c + main.c + wscript.h) + +add_executable(wscript ${SOURCE} rsrc.rc) +add_idl_headers(wscript_idlheader ihost.idl) +add_typelib(ihost.idl) +set_source_files_properties(rsrc.rc PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ihost.tlb) +target_link_libraries(wscript uuid wine) +set_module_type(wscript win32cui UNICODE) +add_importlibs(wscript shell32 oleaut32 ole32 advapi32 msvcrt kernel32 ntdll) +add_dependencies(wscript stdole2 wscript_idlheader) +add_pch(wscript wscript.h SOURCE) +add_cd_file(TARGET wscript DESTINATION reactos/system32 FOR all) diff --git a/base/applications/cmdutils/wscript/arguments.c b/base/applications/cmdutils/wscript/arguments.c new file mode 100644 index 00000000000..f36b56e08c5 --- /dev/null +++ b/base/applications/cmdutils/wscript/arguments.c @@ -0,0 +1,127 @@ +/* + * Copyright 2011 Michal Zietek + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "wscript.h" + +WCHAR **argums; +int numOfArgs; + +static HRESULT WINAPI Arguments2_QueryInterface(IArguments2 *iface, REFIID riid, void **ppv) +{ + WINE_TRACE("(%s %p)\n", wine_dbgstr_guid(riid), ppv); + + if(IsEqualGUID(&IID_IUnknown, riid) + || IsEqualGUID(&IID_IDispatch, riid) + || IsEqualGUID(&IID_IArguments2, riid)) { + *ppv = iface; + return S_OK; + } + + *ppv = NULL; + return E_NOINTERFACE; +} + +static ULONG WINAPI Arguments2_AddRef(IArguments2 *iface) +{ + return 2; +} + +static ULONG WINAPI Arguments2_Release(IArguments2 *iface) +{ + return 1; +} + +static HRESULT WINAPI Arguments2_GetTypeInfoCount(IArguments2 *iface, UINT *pctinfo) +{ + WINE_TRACE("(%p)\n", pctinfo); + + *pctinfo = 1; + return S_OK; +} + +static HRESULT WINAPI Arguments2_GetTypeInfo(IArguments2 *iface, UINT iTInfo, LCID lcid, + ITypeInfo **ppTInfo) +{ + WINE_TRACE("(%x %x %p\n", iTInfo, lcid, ppTInfo); + + ITypeInfo_AddRef(arguments_ti); + *ppTInfo = arguments_ti; + return S_OK; +} + +static HRESULT WINAPI Arguments2_GetIDsOfNames(IArguments2 *iface, REFIID riid, LPOLESTR *rgszNames, + UINT cNames, LCID lcid, DISPID *rgDispId) +{ + WINE_TRACE("(%s %p %d %x %p)\n", wine_dbgstr_guid(riid), rgszNames, + cNames, lcid, rgDispId); + + return ITypeInfo_GetIDsOfNames(arguments_ti, rgszNames, cNames, rgDispId); +} + +static HRESULT WINAPI Arguments2_Invoke(IArguments2 *iface, DISPID dispIdMember, REFIID riid, + LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, UINT *puArgErr) +{ + WINE_TRACE("(%d %p %p)\n", dispIdMember, pDispParams, pVarResult); + + return ITypeInfo_Invoke(arguments_ti, iface, dispIdMember, wFlags, pDispParams, + pVarResult, pExcepInfo, puArgErr); +} + +static HRESULT WINAPI Arguments2_Item(IArguments2 *iface, LONG index, BSTR *out_Value) +{ + WINE_TRACE("(%d %p)\n", index, out_Value); + + if(index<0 || index >= numOfArgs) + return E_INVALIDARG; + if(!(*out_Value = SysAllocString(argums[index]))) + return E_OUTOFMEMORY; + + return S_OK; +} + +static HRESULT WINAPI Arguments2_Count(IArguments2 *iface, LONG *out_Count) +{ + WINE_TRACE("(%p)\n", out_Count); + + *out_Count = numOfArgs; + return S_OK; +} + +static HRESULT WINAPI Arguments2_get_length(IArguments2 *iface, LONG *out_Count) +{ + WINE_TRACE("(%p)\n", out_Count); + + *out_Count = numOfArgs; + return S_OK; +} + +static const IArguments2Vtbl Arguments2Vtbl = { + Arguments2_QueryInterface, + Arguments2_AddRef, + Arguments2_Release, + Arguments2_GetTypeInfoCount, + Arguments2_GetTypeInfo, + Arguments2_GetIDsOfNames, + Arguments2_Invoke, + Arguments2_Item, + Arguments2_Count, + Arguments2_get_length +}; + +IArguments2 arguments_obj = { &Arguments2Vtbl }; diff --git a/base/applications/cmdutils/wscript/host.c b/base/applications/cmdutils/wscript/host.c new file mode 100644 index 00000000000..64519ad52db --- /dev/null +++ b/base/applications/cmdutils/wscript/host.c @@ -0,0 +1,333 @@ +/* + * Copyright 2010 Jacek Caban for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "wscript.h" + +#define BUILDVERSION 16535 + +static const WCHAR wshNameW[] = {'W','i','n','d','o','w','s',' ','S','c','r','i','p','t',' ','H','o','s','t',0}; +static const WCHAR wshVersionW[] = {'5','.','8'}; + +VARIANT_BOOL wshInteractive = +#ifndef CSCRIPT_BUILD + VARIANT_TRUE; +#else + VARIANT_FALSE; +#endif + +static HRESULT WINAPI Host_QueryInterface(IHost *iface, REFIID riid, void **ppv) +{ + WINE_TRACE("(%s %p)\n", wine_dbgstr_guid(riid), ppv); + + if(IsEqualGUID(&IID_IUnknown, riid) + || IsEqualGUID(&IID_IDispatch, riid) + || IsEqualGUID(&IID_IHost, riid)) { + *ppv = iface; + return S_OK; + } + + *ppv = NULL; + return E_NOINTERFACE; +} + +static ULONG WINAPI Host_AddRef(IHost *iface) +{ + return 2; +} + +static ULONG WINAPI Host_Release(IHost *iface) +{ + return 1; +} + +static HRESULT WINAPI Host_GetTypeInfoCount(IHost *iface, UINT *pctinfo) +{ + WINE_TRACE("(%p)\n", pctinfo); + *pctinfo = 1; + return S_OK; +} + +static HRESULT WINAPI Host_GetTypeInfo(IHost *iface, UINT iTInfo, LCID lcid, + ITypeInfo **ppTInfo) +{ + WINE_TRACE("(%x %x %p\n", iTInfo, lcid, ppTInfo); + + ITypeInfo_AddRef(host_ti); + *ppTInfo = host_ti; + return S_OK; +} + +static HRESULT WINAPI Host_GetIDsOfNames(IHost *iface, REFIID riid, LPOLESTR *rgszNames, + UINT cNames, LCID lcid, DISPID *rgDispId) +{ + WINE_TRACE("(%s %p %d %x %p)\n", wine_dbgstr_guid(riid), rgszNames, + cNames, lcid, rgDispId); + + return ITypeInfo_GetIDsOfNames(host_ti, rgszNames, cNames, rgDispId); +} + +static HRESULT WINAPI Host_Invoke(IHost *iface, DISPID dispIdMember, REFIID riid, + LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, UINT *puArgErr) +{ + WINE_TRACE("(%d %p %p)\n", dispIdMember, pDispParams, pVarResult); + + return ITypeInfo_Invoke(host_ti, iface, dispIdMember, wFlags, pDispParams, + pVarResult, pExcepInfo, puArgErr); +} + +static HRESULT WINAPI Host_get_Name(IHost *iface, BSTR *out_Name) +{ + WINE_TRACE("(%p)\n", out_Name); + + if(!(*out_Name = SysAllocString(wshNameW))) + return E_OUTOFMEMORY; + return S_OK; +} + +static HRESULT WINAPI Host_get_Application(IHost *iface, IDispatch **out_Dispatch) +{ + WINE_TRACE("(%p)\n", out_Dispatch); + + *out_Dispatch = (IDispatch*)&host_obj; + return S_OK; +} + +static HRESULT WINAPI Host_get_FullName(IHost *iface, BSTR *out_Path) +{ + WCHAR fullPath[MAX_PATH]; + + WINE_TRACE("(%p)\n", out_Path); + + if(GetModuleFileNameW(NULL, fullPath, sizeof(fullPath)/sizeof(WCHAR)) == 0) + return E_FAIL; + if(!(*out_Path = SysAllocString(fullPath))) + return E_OUTOFMEMORY; + return S_OK; +} + +static HRESULT WINAPI Host_get_Path(IHost *iface, BSTR *out_Path) +{ + WCHAR path[MAX_PATH]; + int howMany; + WCHAR *pos; + + WINE_TRACE("(%p)\n", out_Path); + + if(GetModuleFileNameW(NULL, path, sizeof(path)/sizeof(WCHAR)) == 0) + return E_FAIL; + pos = strrchrW(path, '\\'); + howMany = pos - path; + if(!(*out_Path = SysAllocStringLen(path, howMany))) + return E_OUTOFMEMORY; + return S_OK; +} + +static HRESULT WINAPI Host_get_Interactive(IHost *iface, VARIANT_BOOL *out_Interactive) +{ + WINE_TRACE("(%p)\n", out_Interactive); + + *out_Interactive = wshInteractive; + return S_OK; +} + +static HRESULT WINAPI Host_put_Interactive(IHost *iface, VARIANT_BOOL v) +{ + WINE_TRACE("(%x)\n", v); + + wshInteractive = v; + return S_OK; +} + +static HRESULT WINAPI Host_Quit(IHost *iface, int ExitCode) +{ + WINE_FIXME("(%d)\n", ExitCode); + return E_NOTIMPL; +} + +static HRESULT WINAPI Host_get_ScriptName(IHost *iface, BSTR *out_ScriptName) +{ + WCHAR *scriptName; + + WINE_TRACE("(%p)\n", out_ScriptName); + + scriptName = strrchrW(scriptFullName, '\\'); + ++scriptName; + if(!(*out_ScriptName = SysAllocString(scriptName))) + return E_OUTOFMEMORY; + return S_OK; +} + +static HRESULT WINAPI Host_get_ScriptFullName(IHost *iface, BSTR *out_ScriptFullName) +{ + WINE_TRACE("(%p)\n", out_ScriptFullName); + + if(!(*out_ScriptFullName = SysAllocString(scriptFullName))) + return E_OUTOFMEMORY; + return S_OK; +} + +static HRESULT WINAPI Host_get_Arguments(IHost *iface, IArguments2 **out_Arguments) +{ + WINE_TRACE("(%p)\n", out_Arguments); + + *out_Arguments = &arguments_obj; + return S_OK; +} + +static HRESULT WINAPI Host_get_Version(IHost *iface, BSTR *out_Version) +{ + WINE_TRACE("(%p)\n", out_Version); + + if(!(*out_Version = SysAllocString(wshVersionW))) + return E_OUTOFMEMORY; + return S_OK; +} + +static HRESULT WINAPI Host_get_BuildVersion(IHost *iface, int *out_Build) +{ + WINE_TRACE("(%p)\n", out_Build); + + *out_Build = BUILDVERSION; + return S_OK; +} + +static HRESULT WINAPI Host_get_Timeout(IHost *iface, LONG *out_Timeout) +{ + WINE_FIXME("(%p)\n", out_Timeout); + return E_NOTIMPL; +} + +static HRESULT WINAPI Host_put_Timeout(IHost *iface, LONG v) +{ + WINE_FIXME("(%d)\n", v); + return E_NOTIMPL; +} + +static HRESULT WINAPI Host_CreateObject(IHost *iface, BSTR ProgID, BSTR Prefix, + IDispatch **out_Dispatch) +{ + IUnknown *unk; + GUID guid; + HRESULT hres; + + TRACE("(%s %s %p)\n", wine_dbgstr_w(ProgID), wine_dbgstr_w(Prefix), out_Dispatch); + + if(Prefix && *Prefix) { + FIXME("Prefix %s not supported\n", debugstr_w(Prefix)); + return E_NOTIMPL; + } + + hres = CLSIDFromProgID(ProgID, &guid); + if(FAILED(hres)) + return hres; + + hres = CoCreateInstance(&guid, NULL, CLSCTX_INPROC_SERVER|CLSCTX_LOCAL_SERVER|CLSCTX_REMOTE_SERVER, + &IID_IUnknown, (void**)&unk); + if(FAILED(hres)) + return hres; + + hres = IUnknown_QueryInterface(unk, &IID_IDispatch, (void**)out_Dispatch); + IUnknown_Release(unk); + return hres; +} + +static HRESULT WINAPI Host_Echo(IHost *iface, SAFEARRAY *args) +{ + WINE_FIXME("(%p)\n", args); + return E_NOTIMPL; +} + +static HRESULT WINAPI Host_GetObject(IHost *iface, BSTR Pathname, BSTR ProgID, + BSTR Prefix, IDispatch **out_Dispatch) +{ + WINE_FIXME("(%s %s %s %p)\n", wine_dbgstr_w(Pathname), wine_dbgstr_w(ProgID), + wine_dbgstr_w(Prefix), out_Dispatch); + return E_NOTIMPL; +} + +static HRESULT WINAPI Host_DisconnectObject(IHost *iface, IDispatch *Object) +{ + WINE_FIXME("(%p)\n", Object); + return E_NOTIMPL; +} + +static HRESULT WINAPI Host_Sleep(IHost *iface, LONG Time) +{ + WINE_FIXME("(%d)\n", Time); + return E_NOTIMPL; +} + +static HRESULT WINAPI Host_ConnectObject(IHost *iface, IDispatch *Object, BSTR Prefix) +{ + WINE_FIXME("(%p %s)\n", Object, wine_dbgstr_w(Prefix)); + return E_NOTIMPL; +} + +static HRESULT WINAPI Host_get_StdIn(IHost *iface, ITextStream **ppts) +{ + WINE_FIXME("(%p)\n", ppts); + return E_NOTIMPL; +} + +static HRESULT WINAPI Host_get_StdOut(IHost *iface, ITextStream **ppts) +{ + WINE_FIXME("(%p)\n", ppts); + return E_NOTIMPL; +} + +static HRESULT WINAPI Host_get_StdErr(IHost *iface, ITextStream **ppts) +{ + WINE_FIXME("(%p)\n", ppts); + return E_NOTIMPL; +} + +static const IHostVtbl HostVtbl = { + Host_QueryInterface, + Host_AddRef, + Host_Release, + Host_GetTypeInfoCount, + Host_GetTypeInfo, + Host_GetIDsOfNames, + Host_Invoke, + Host_get_Name, + Host_get_Application, + Host_get_FullName, + Host_get_Path, + Host_get_Interactive, + Host_put_Interactive, + Host_Quit, + Host_get_ScriptName, + Host_get_ScriptFullName, + Host_get_Arguments, + Host_get_Version, + Host_get_BuildVersion, + Host_get_Timeout, + Host_put_Timeout, + Host_CreateObject, + Host_Echo, + Host_GetObject, + Host_DisconnectObject, + Host_Sleep, + Host_ConnectObject, + Host_get_StdIn, + Host_get_StdOut, + Host_get_StdErr +}; + +IHost host_obj = { &HostVtbl }; diff --git a/base/applications/cmdutils/wscript/ihost.idl b/base/applications/cmdutils/wscript/ihost.idl new file mode 100644 index 00000000000..9e4202ea039 --- /dev/null +++ b/base/applications/cmdutils/wscript/ihost.idl @@ -0,0 +1,188 @@ +/* + * Copyright 2010 Jacek Caban for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#pragma makedep typelib + +#include "ihost_dispid.h" + +import "oaidl.idl"; + +[ + uuid(60254ca0-953b-11cf-8c96-00aa00b8708c), + version(5.6), +] +library IHost +{ + importlib("stdole2.tlb"); + + [ + odl, + uuid(2cc5a9d1-b1e5-11d3-a286-00104bd35090), + dual, + oleautomation + ] + interface IArguments2 : IDispatch { + [id(DISPID_VALUE)] + HRESULT Item( + [in] LONG Index, + [out, retval] BSTR *out_Value); + + [id(IARGUMENTS2_COUNT_DISPID)] + HRESULT Count([out, retval] LONG *out_Count); + + [id(IARGUMENTS2_LENGTH_DISPID), propget] + HRESULT length([out, retval] LONG *out_Count); + } + + [ + odl, + uuid(53bad8c1-e718-11cf-893d-00a0c9054228), + hidden, + dual, + nonextensible, + oleautomation + ] + interface ITextStream : IDispatch { + [id(ITEXTSTREAM_LINE_DISPID), propget] + HRESULT Line([out, retval] LONG *Line); + + [id(ITEXTSTREAM_COLUMN_DISPID), propget] + HRESULT Column([out, retval] LONG *Column); + + [id(ITEXTSTREAM_ATENDOFSTREAM_DISPID), propget] + HRESULT AtEndOfStream([out, retval] VARIANT_BOOL *EOS); + + [id(ITEXTSTREAM_ATENDOFLINE_DISPID), propget] + HRESULT AtEndOfLine([out, retval] VARIANT_BOOL *EOL); + + [id(ITEXTSTREAM_READ_DISPID)] + HRESULT Read( + [in] LONG Characters, + [out, retval] BSTR *Text); + + [id(ITEXTSTREAM_READLINE_DISPID)] + HRESULT ReadLine([out, retval] BSTR *Text); + + [id(ITEXTSTREAM_READALL_DISPID)] + HRESULT ReadAll([out, retval] BSTR *Text); + + [id(ITEXTSTREAM_WRITE_DISPID)] + HRESULT Write([in] BSTR Text); + + [id(ITEXTSTREAM_WRITELINE_DISPID)] + HRESULT WriteLine([in, optional, defaultvalue("")] BSTR Text); + + [id(ITEXTSTREAM_WRITEBLANKLINES_DISPID)] + HRESULT WriteBlankLines([in] LONG Lines); + + [id(ITEXTSTREAM_SKIP_DISPID)] + HRESULT Skip([in] LONG Characters); + + [id(ITEXTSTREAM_SKIPLINE_DISPID)] + HRESULT SkipLine(); + + [id(ITEXTSTREAM_CLOSE_DISPID)] + HRESULT Close(); + } + + [ + odl, + uuid(91afbd1b-5feb-43f5-b028-e2ca960617ec), + dual, + oleautomation + ] + interface IHost : IDispatch { + [id(IHOST_NAME_DISPID), propget] + HRESULT Name([out, retval] BSTR *out_Name); + + [id(IHOST_APPLICATION_DISPID), propget] + HRESULT Application([out, retval] IDispatch **out_Dispatch); + + [id(IHOST_FULLNAME_DISPID), propget] + HRESULT FullName([out, retval] BSTR *out_Path); + + [id(IHOST_PATH_DISPID), propget] + HRESULT Path([out, retval] BSTR* out_Path); + + [id(IHOST_INTERACTIVE_DISPID), propget] + HRESULT Interactive([out, retval] VARIANT_BOOL *out_Interactive); + + [id(IHOST_INTERACTIVE_DISPID), propput] + HRESULT Interactive([in] VARIANT_BOOL out_Interactive); + + [id(IHOST_QUIT_DISPID)] + HRESULT Quit([in, optional, defaultvalue(0)] int ExitCode); + + [id(IHOST_SCRIPTNAME_DISPID), propget] + HRESULT ScriptName([out, retval] BSTR *out_ScriptName); + + [id(IHOST_SCRIPTFULLNAME_DISPID), propget] + HRESULT ScriptFullName([out, retval] BSTR* out_ScriptFullName); + + [id(IHOST_ARGUMENTS_DISPID), propget] + HRESULT Arguments([out, retval] IArguments2 **out_Arguments); + + [id(IHOST_VERSION_DISPID), propget] + HRESULT Version([out, retval] BSTR *out_Version); + + [id(IHOST_BUILDVERSION_DISPID), propget] + HRESULT BuildVersion([out, retval] int *out_Build); + + [id(IHOST_TIMEOUT_DISPID), propget] + HRESULT Timeout([out, retval] LONG *out_Timeout); + + [id(IHOST_TIMEOUT_DISPID), propput] + HRESULT Timeout([in] LONG out_Timeout); + + [id(IHOST_CREATEOBJECT_DISPID)] + HRESULT CreateObject( + [in] BSTR ProgID, + [in, optional, defaultvalue("")] BSTR Prefix, + [out, retval] IDispatch **out_Dispatch); + + [id(IHOST_ECHO_DISPID), vararg] + HRESULT Echo([in] SAFEARRAY(VARIANT) pArgs); + + [id(IHOST_GETOBJECT_DISPID)] + HRESULT GetObject( + [in] BSTR Pathname, + [in, optional, defaultvalue("")] BSTR ProgID, + [in, optional, defaultvalue("")] BSTR Prefix, + [out, retval] IDispatch **out_Dispatch); + + [id(IHOST_DISCONNECTOBJECT_DISPID)] + HRESULT DisconnectObject([in] IDispatch *Object); + + [id(IHOST_SLEEP_DISPID)] + HRESULT Sleep([in] LONG Time); + + [id(IHOST_CONNECTOBJECT_DISPID)] + HRESULT ConnectObject( + [in] IDispatch *Object, + [in] BSTR Prefix); + + [id(IHOST_STDIN_DISPID), propget] + HRESULT StdIn([out, retval] ITextStream **out_ppts); + + [id(IHOST_STDOUT_DISPID), propget] + HRESULT StdOut([out, retval] ITextStream **ppts); + + [id(IHOST_STDERR_DISPID), propget] + HRESULT StdErr([out, retval] ITextStream **ppts); + } +} diff --git a/base/applications/cmdutils/wscript/ihost_dispid.h b/base/applications/cmdutils/wscript/ihost_dispid.h new file mode 100644 index 00000000000..da60108a130 --- /dev/null +++ b/base/applications/cmdutils/wscript/ihost_dispid.h @@ -0,0 +1,58 @@ +/* + * Copyright 2010 Jacek Caban for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#pragma once + +#define IHOST_NAME_DISPID DISPID_VALUE +#define IHOST_APPLICATION_DISPID 100 +#define IHOST_FULLNAME_DISPID 101 +#define IHOST_PATH_DISPID 102 +#define IHOST_INTERACTIVE_DISPID 103 +#define IHOST_QUIT_DISPID 200 +#define IHOST_SCRIPTNAME_DISPID 1000 +#define IHOST_SCRIPTFULLNAME_DISPID 1001 +#define IHOST_ARGUMENTS_DISPID 1002 +#define IHOST_VERSION_DISPID 1003 +#define IHOST_BUILDVERSION_DISPID 1004 +#define IHOST_TIMEOUT_DISPID 1005 +#define IHOST_STDIN_DISPID 1006 +#define IHOST_STDOUT_DISPID 1007 +#define IHOST_STDERR_DISPID 1008 +#define IHOST_CREATEOBJECT_DISPID 2000 +#define IHOST_ECHO_DISPID 2001 +#define IHOST_GETOBJECT_DISPID 2002 +#define IHOST_DISCONNECTOBJECT_DISPID 2003 +#define IHOST_SLEEP_DISPID 2004 +#define IHOST_CONNECTOBJECT_DISPID 2005 + +#define IARGUMENTS2_COUNT_DISPID 1 +#define IARGUMENTS2_LENGTH_DISPID 2 + +#define ITEXTSTREAM_LINE_DISPID 10000 +#define ITEXTSTREAM_COLUMN_DISPID -529 +#define ITEXTSTREAM_ATENDOFSTREAM_DISPID 10002 +#define ITEXTSTREAM_ATENDOFLINE_DISPID 10003 +#define ITEXTSTREAM_READ_DISPID 10004 +#define ITEXTSTREAM_READLINE_DISPID 10005 +#define ITEXTSTREAM_READALL_DISPID 10006 +#define ITEXTSTREAM_WRITE_DISPID 10007 +#define ITEXTSTREAM_WRITELINE_DISPID 10008 +#define ITEXTSTREAM_WRITEBLANKLINES_DISPID 10009 +#define ITEXTSTREAM_SKIP_DISPID 10010 +#define ITEXTSTREAM_SKIPLINE_DISPID 10011 +#define ITEXTSTREAM_CLOSE_DISPID 10012 diff --git a/base/applications/cmdutils/wscript/main.c b/base/applications/cmdutils/wscript/main.c new file mode 100644 index 00000000000..0923c33cecc --- /dev/null +++ b/base/applications/cmdutils/wscript/main.c @@ -0,0 +1,467 @@ +/* + * Copyright 2010 Jacek Caban for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "wscript.h" + +#include +#include + +#ifdef _WIN64 + +#define IActiveScriptParse_Release IActiveScriptParse64_Release +#define IActiveScriptParse_InitNew IActiveScriptParse64_InitNew +#define IActiveScriptParse_ParseScriptText IActiveScriptParse64_ParseScriptText + +#else + +#define IActiveScriptParse_Release IActiveScriptParse32_Release +#define IActiveScriptParse_InitNew IActiveScriptParse32_InitNew +#define IActiveScriptParse_ParseScriptText IActiveScriptParse32_ParseScriptText + +#endif + +static const WCHAR wscriptW[] = {'W','S','c','r','i','p','t',0}; +static const WCHAR wshW[] = {'W','S','H',0}; +WCHAR scriptFullName[MAX_PATH]; + +ITypeInfo *host_ti; +ITypeInfo *arguments_ti; + +static HRESULT query_interface(REFIID,void**); + +static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface, + REFIID riid, void **ppv) +{ + return query_interface(riid, ppv); +} + +static ULONG WINAPI ActiveScriptSite_AddRef(IActiveScriptSite *iface) +{ + return 2; +} + +static ULONG WINAPI ActiveScriptSite_Release(IActiveScriptSite *iface) +{ + return 1; +} + +static HRESULT WINAPI ActiveScriptSite_GetLCID(IActiveScriptSite *iface, LCID *plcid) +{ + WINE_TRACE("()\n"); + + *plcid = GetUserDefaultLCID(); + return S_OK; +} + +static HRESULT WINAPI ActiveScriptSite_GetItemInfo(IActiveScriptSite *iface, + LPCOLESTR pstrName, DWORD dwReturnMask, IUnknown **ppunkItem, ITypeInfo **ppti) +{ + WINE_TRACE("(%s %x %p %p)\n", wine_dbgstr_w(pstrName), dwReturnMask, ppunkItem, ppti); + + if(strcmpW(pstrName, wshW) && strcmpW(pstrName, wscriptW)) + return E_FAIL; + + if(dwReturnMask & SCRIPTINFO_ITYPEINFO) { + ITypeInfo_AddRef(host_ti); + *ppti = host_ti; + } + + if(dwReturnMask & SCRIPTINFO_IUNKNOWN) { + IHost_AddRef(&host_obj); + *ppunkItem = (IUnknown*)&host_obj; + } + + return S_OK; +} + +static HRESULT WINAPI ActiveScriptSite_GetDocVersionString(IActiveScriptSite *iface, + BSTR *pbstrVersion) +{ + WINE_FIXME("()\n"); + return E_NOTIMPL; +} + +static HRESULT WINAPI ActiveScriptSite_OnScriptTerminate(IActiveScriptSite *iface, + const VARIANT *pvarResult, const EXCEPINFO *pexcepinfo) +{ + WINE_FIXME("()\n"); + return E_NOTIMPL; +} + +static HRESULT WINAPI ActiveScriptSite_OnStateChange(IActiveScriptSite *iface, + SCRIPTSTATE ssScriptState) +{ + WINE_TRACE("(%x)\n", ssScriptState); + return S_OK; +} + +static HRESULT WINAPI ActiveScriptSite_OnScriptError(IActiveScriptSite *iface, + IActiveScriptError *pscripterror) +{ + WINE_FIXME("()\n"); + return E_NOTIMPL; +} + +static HRESULT WINAPI ActiveScriptSite_OnEnterScript(IActiveScriptSite *iface) +{ + WINE_TRACE("()\n"); + return S_OK; +} + +static HRESULT WINAPI ActiveScriptSite_OnLeaveScript(IActiveScriptSite *iface) +{ + WINE_TRACE("()\n"); + return S_OK; +} + +static IActiveScriptSiteVtbl ActiveScriptSiteVtbl = { + ActiveScriptSite_QueryInterface, + ActiveScriptSite_AddRef, + ActiveScriptSite_Release, + ActiveScriptSite_GetLCID, + ActiveScriptSite_GetItemInfo, + ActiveScriptSite_GetDocVersionString, + ActiveScriptSite_OnScriptTerminate, + ActiveScriptSite_OnStateChange, + ActiveScriptSite_OnScriptError, + ActiveScriptSite_OnEnterScript, + ActiveScriptSite_OnLeaveScript +}; + +static IActiveScriptSite script_site = { &ActiveScriptSiteVtbl }; + +static HRESULT WINAPI ActiveScriptSiteWindow_QueryInterface(IActiveScriptSiteWindow *iface, REFIID riid, void **ppv) +{ + return query_interface(riid, ppv); +} + +static ULONG WINAPI ActiveScriptSiteWindow_AddRef(IActiveScriptSiteWindow *iface) +{ + return 2; +} + +static ULONG WINAPI ActiveScriptSiteWindow_Release(IActiveScriptSiteWindow *iface) +{ + return 1; +} + +static HRESULT WINAPI ActiveScriptSiteWindow_GetWindow(IActiveScriptSiteWindow *iface, HWND *phwnd) +{ + TRACE("(%p)\n", phwnd); + + *phwnd = NULL; + return S_OK; +} + +static HRESULT WINAPI ActiveScriptSiteWindow_EnableModeless(IActiveScriptSiteWindow *iface, BOOL fEnable) +{ + TRACE("(%x)\n", fEnable); + return S_OK; +} + +static IActiveScriptSiteWindowVtbl ActiveScriptSiteWindowVtbl = { + ActiveScriptSiteWindow_QueryInterface, + ActiveScriptSiteWindow_AddRef, + ActiveScriptSiteWindow_Release, + ActiveScriptSiteWindow_GetWindow, + ActiveScriptSiteWindow_EnableModeless +}; + +static IActiveScriptSiteWindow script_site_window = { &ActiveScriptSiteWindowVtbl }; + +static HRESULT query_interface(REFIID riid, void **ppv) +{ + if(IsEqualGUID(riid, &IID_IUnknown)) { + TRACE("(IID_IUnknown %p)\n", ppv); + *ppv = &script_site; + }else if(IsEqualGUID(riid, &IID_IActiveScriptSite)) { + TRACE("(IID_IActiveScriptSite %p)\n", ppv); + *ppv = &script_site; + }else if(IsEqualGUID(riid, &IID_IActiveScriptSiteWindow)) { + TRACE("(IID_IActiveScriptSiteWindow %p)\n", ppv); + *ppv = &script_site_window; + }else { + *ppv = NULL; + TRACE("(%s %p)\n", wine_dbgstr_guid(riid), ppv); + return E_NOINTERFACE; + } + + IUnknown_AddRef((IUnknown*)*ppv); + return S_OK; +} + +static BOOL load_typelib(void) +{ + ITypeLib *typelib; + HRESULT hres; + + static const WCHAR wscript_exeW[] = {'w','s','c','r','i','p','t','.','e','x','e',0}; + + hres = LoadTypeLib(wscript_exeW, &typelib); + if(FAILED(hres)) + return FALSE; + + hres = ITypeLib_GetTypeInfoOfGuid(typelib, &IID_IHost, &host_ti); + if(SUCCEEDED(hres)) + hres = ITypeLib_GetTypeInfoOfGuid(typelib, &IID_IArguments2, &arguments_ti); + + ITypeLib_Release(typelib); + return SUCCEEDED(hres); +} + +static BOOL get_engine_clsid(const WCHAR *ext, CLSID *clsid) +{ + WCHAR fileid[64], progid[64]; + DWORD res; + LONG size; + HKEY hkey; + HRESULT hres; + + static const WCHAR script_engineW[] = + {'\\','S','c','r','i','p','t','E','n','g','i','n','e',0}; + + res = RegOpenKeyW(HKEY_CLASSES_ROOT, ext, &hkey); + if(res != ERROR_SUCCESS) + return FALSE; + + size = sizeof(fileid)/sizeof(WCHAR); + res = RegQueryValueW(hkey, NULL, fileid, &size); + RegCloseKey(hkey); + if(res != ERROR_SUCCESS) + return FALSE; + + WINE_TRACE("fileid is %s\n", wine_dbgstr_w(fileid)); + + strcatW(fileid, script_engineW); + res = RegOpenKeyW(HKEY_CLASSES_ROOT, fileid, &hkey); + if(res != ERROR_SUCCESS) + return FALSE; + + size = sizeof(progid)/sizeof(WCHAR); + res = RegQueryValueW(hkey, NULL, progid, &size); + RegCloseKey(hkey); + if(res != ERROR_SUCCESS) + return FALSE; + + WINE_TRACE("ProgID is %s\n", wine_dbgstr_w(progid)); + + hres = CLSIDFromProgID(progid, clsid); + return SUCCEEDED(hres); +} + +static BOOL create_engine(CLSID *clsid, IActiveScript **script_ret, + IActiveScriptParse **parser) +{ + IActiveScript *script; + IUnknown *unk; + HRESULT hres; + + hres = CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER, + &IID_IUnknown, (void**)&unk); + if(FAILED(hres)) + return FALSE; + + hres = IUnknown_QueryInterface(unk, &IID_IActiveScript, (void**)&script); + IUnknown_Release(unk); + if(FAILED(hres)) + return FALSE; + + hres = IActiveScript_QueryInterface(script, &IID_IActiveScriptParse, (void**)parser); + if(FAILED(hres)) { + IActiveScript_Release(script); + return FALSE; + } + + *script_ret = script; + return TRUE; +} + +static BOOL init_engine(IActiveScript *script, IActiveScriptParse *parser) +{ + HRESULT hres; + + if(!load_typelib()) + return FALSE; + + hres = IActiveScript_SetScriptSite(script, &script_site); + if(FAILED(hres)) + return FALSE; + + hres = IActiveScriptParse_InitNew(parser); + if(FAILED(hres)) + return FALSE; + + hres = IActiveScript_AddNamedItem(script, wscriptW, SCRIPTITEM_ISVISIBLE); + if(FAILED(hres)) + return FALSE; + + hres = IActiveScript_AddNamedItem(script, wshW, SCRIPTITEM_ISVISIBLE); + if(FAILED(hres)) + return FALSE; + + hres = IActiveScript_SetScriptState(script, SCRIPTSTATE_INITIALIZED); + return SUCCEEDED(hres); +} + +static BSTR get_script_str(const WCHAR *filename) +{ + const char *file_map; + HANDLE file, map; + DWORD size, len; + BSTR ret; + + file = CreateFileW(filename, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, NULL); + if(file == INVALID_HANDLE_VALUE) + return NULL; + + size = GetFileSize(file, NULL); + map = CreateFileMappingW(file, NULL, PAGE_READONLY, 0, 0, NULL); + CloseHandle(file); + if(map == INVALID_HANDLE_VALUE) + return NULL; + + file_map = MapViewOfFile(map, FILE_MAP_READ, 0, 0, 0); + CloseHandle(map); + if(!file_map) + return NULL; + + len = MultiByteToWideChar(CP_ACP, 0, file_map, size, NULL, 0); + ret = SysAllocStringLen(NULL, len); + MultiByteToWideChar(CP_ACP, 0, file_map, size, ret, len); + + UnmapViewOfFile(file_map); + return ret; +} + +static void run_script(const WCHAR *filename, IActiveScript *script, IActiveScriptParse *parser) +{ + BSTR text; + HRESULT hres; + + text = get_script_str(filename); + if(!text) { + WINE_FIXME("Could not get script text\n"); + return; + } + + hres = IActiveScriptParse_ParseScriptText(parser, text, NULL, NULL, NULL, 1, 1, + SCRIPTTEXT_HOSTMANAGESSOURCE|SCRIPTITEM_ISVISIBLE, NULL, NULL); + SysFreeString(text); + if(FAILED(hres)) { + WINE_FIXME("ParseScriptText failed: %08x\n", hres); + return; + } + + hres = IActiveScript_SetScriptState(script, SCRIPTSTATE_STARTED); + if(FAILED(hres)) + WINE_FIXME("SetScriptState failed: %08x\n", hres); +} + +static BOOL set_host_properties(const WCHAR *prop) +{ + static const WCHAR nologoW[] = {'n','o','l','o','g','o',0}; + static const WCHAR iactive[] = {'i',0}; + static const WCHAR batch[] = {'b',0}; + + if(*prop == '/') { + ++prop; + if(*prop == '/') + ++prop; + } + else + ++prop; + + if(strcmpiW(prop, iactive) == 0) + wshInteractive = VARIANT_TRUE; + else if(strcmpiW(prop, batch) == 0) + wshInteractive = VARIANT_FALSE; + else if(strcmpiW(prop, nologoW) == 0) + WINE_FIXME("ignored %s switch\n", debugstr_w(nologoW)); + else + { + WINE_FIXME("unsupported switch %s\n", debugstr_w(prop)); + return FALSE; + } + return TRUE; +} + +int WINAPI wWinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPWSTR cmdline, int cmdshow) +{ + WCHAR *ext, *filepart, *filename = NULL; + IActiveScriptParse *parser; + IActiveScript *script; + WCHAR **argv; + CLSID clsid; + int argc, i; + DWORD res; + + WINE_TRACE("(%p %p %s %x)\n", hInst, hPrevInst, wine_dbgstr_w(cmdline), cmdshow); + + argv = CommandLineToArgvW(cmdline, &argc); + if(!argv) + return 1; + + for(i=0; i sizeof(scriptFullName)/sizeof(WCHAR)) + return 1; + + ext = strrchrW(filepart, '.'); + if(!ext || !get_engine_clsid(ext, &clsid)) { + WINE_FIXME("Could not find engine for %s\n", wine_dbgstr_w(ext)); + return 1; + } + + CoInitialize(NULL); + + if(!create_engine(&clsid, &script, &parser)) { + WINE_FIXME("Could not create script engine\n"); + CoUninitialize(); + return 1; + } + + if(init_engine(script, parser)) { + run_script(filename, script, parser); + IActiveScript_Close(script); + ITypeInfo_Release(host_ti); + }else { + WINE_FIXME("Script initialization failed\n"); + } + + IActiveScript_Release(script); + IActiveScriptParse_Release(parser); + + CoUninitialize(); + + return 0; +} diff --git a/base/applications/cmdutils/wscript/rsrc.rc b/base/applications/cmdutils/wscript/rsrc.rc new file mode 100644 index 00000000000..51ce0982659 --- /dev/null +++ b/base/applications/cmdutils/wscript/rsrc.rc @@ -0,0 +1,20 @@ +/* + * Copyright 2010 Jacek Caban for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* @makedep: ihost.tlb */ +1 TYPELIB ihost.tlb diff --git a/base/applications/cmdutils/wscript/wscript.h b/base/applications/cmdutils/wscript/wscript.h new file mode 100644 index 00000000000..7a861613818 --- /dev/null +++ b/base/applications/cmdutils/wscript/wscript.h @@ -0,0 +1,54 @@ +/* + * Copyright 2010 Jacek Caban for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef _WSCRIPT_H_ +#define _WSCRIPT_H_ + +#include + +#define WIN32_NO_STATUS +#define _INC_WINDOWS +#define COBJMACROS +#define CONST_VTABLE + +#include +#include +#include +#include +#include +#include + +WINE_DEFAULT_DEBUG_CHANNEL(wscript); + +extern IHost host_obj; + +extern IArguments2 arguments_obj; + +extern ITypeInfo *host_ti; + +extern ITypeInfo *arguments_ti; + +extern WCHAR scriptFullName[]; + +extern WCHAR **argums; + +extern int numOfArgs; + +extern VARIANT_BOOL wshInteractive; + +#endif /* _WSCRIPT_H_ */ diff --git a/base/applications/cmdutils/xcopy/lang/Da.rc b/base/applications/cmdutils/xcopy/lang/Da.rc index dbf958ae796..1de5f247a1a 100644 --- a/base/applications/cmdutils/xcopy/lang/Da.rc +++ b/base/applications/cmdutils/xcopy/lang/Da.rc @@ -1,26 +1,27 @@ LANGUAGE LANG_DANISH, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_INVPARMS "Ugyldigt antal parametere; brug xcopy /? for hjelp\n" - STRING_INVPARM "Ugyldigt parameter %1; brug xcopy /? for hjelp\n" - STRING_PAUSE "Tryk Enter for at begynde at kopiere\n" - STRING_SIMCOPY "%1!d! fil(er) vil blive kopieret\n" - STRING_COPY "%1!d! fil(er) kopieret\n" - STRING_QISDIR "Er %1 et filnavn eller katalog\n\ +{ + STRING_INVPARMS, "Ugyldigt antal parametere; brug xcopy /? for hjelp\n" + STRING_INVPARM, "Ugyldigt parameter %1; brug xcopy /? for hjelp\n" + STRING_PAUSE, "Tryk Enter for at begynde at kopiere\n" + STRING_SIMCOPY, "%1!d! fil(er) vil blive kopieret\n" + STRING_COPY, "%1!d! fil(er) kopieret\n" + STRING_QISDIR, "Er %1 et filnavn eller katalog\n\ p destinationen?\n\ (F - Fil, K - Katalog)\n" - STRING_SRCPROMPT "%1? (Ja|Nei)\n" - STRING_OVERWRITE "Overskrive %1? (Ja|Nei|Alle)\n" - STRING_COPYFAIL "Kunne ikke kopiere %1 til %2; fejlet med r/c %3!d!\n" - STRING_OPENFAIL "Kunne ikke bne %1\n" - STRING_READFAIL "Kunne ikke lse %1\n" - STRING_YES_CHAR "J" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "A" - STRING_FILE_CHAR "F" - STRING_DIR_CHAR "K" - STRING_HELP + STRING_SRCPROMPT, "%1? (Ja|Nei)\n" + STRING_OVERWRITE, "Overskrive %1? (Ja|Nei|Alle)\n" + STRING_COPYFAIL, "Kunne ikke kopiere %1 til %2; fejlet med r/c %3!d!\n" + STRING_OPENFAIL, "Kunne ikke bne %1\n" + STRING_READFAIL, "Kunne ikke lse %1\n" + STRING_YES_CHAR, "J" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "A" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "K" + + STRING_HELP, "XCOPY - Kopierer filer eller katalogtre til en mlplassering\n\ \n\ Syntaks:\n\ @@ -28,8 +29,9 @@ XCOPY kilde [m \t [/R] [/H] [/C] [/P] [/A] [/M] [/E] [/D] [/Y] [/-Y]\n\ \n\ hvor:\n\ +\n\ [/I] Antag at destinationen er et katalog hvis destinationen ikke\n\ - \tfindes og 2 eller flere filer bliver kopieret\n\ +\tfindes og 2 eller flere filer bliver kopieret\n\ [/S] Kopier kataloger og underkataloger\n\ [/E] Kopier kataloger og underkataloger, ogs tomme kataloger\n\ [/Q] Vr stille : vis ikke filnavne under kopiering\n\ @@ -48,7 +50,8 @@ hvor:\n\ [/A] Kopier ikke filer som er markeret som arkiv\n\ [/M] Kopier kun filer som er markeret som akriv; fjerner denne markering\n\ [/D | /D:m-d-] Kopier kun nye filer eller dem som er ndret efter\n\ - \t\tden opgivne dato.\n\ - \t\tHvis ingen dato opgives kopieres kun de filer hvor\n\ - \t\tdestinationen er ldre end kilden\n\n" -END +\t\tden opgivne dato.\n\ +\t\tHvis ingen dato opgives kopieres kun de filer hvor\n\ +\t\tdestinationen er ldre end kilden\n\n" + +} diff --git a/base/applications/cmdutils/xcopy/lang/De.rc b/base/applications/cmdutils/xcopy/lang/De.rc index 3587bc3a7c0..b149d8b7468 100644 --- a/base/applications/cmdutils/xcopy/lang/De.rc +++ b/base/applications/cmdutils/xcopy/lang/De.rc @@ -1,26 +1,27 @@ LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_INVPARMS "Falsche Parameteranzahl - xcopy /? zeigt Hilfe an\n" - STRING_INVPARM "Unbekannter Parameter '%1' - xcopy /? zeigt Hilfe an\n" - STRING_PAUSE "Eingabetaste betätigen, um mit dem Kopieren zu beginnen\n" - STRING_SIMCOPY "%1!d! Datei(en) würden kopiert\n" - STRING_COPY "%1!d! Datei(en) kopiert\n" - STRING_QISDIR "Ist '%1' eine Datei oder ein Verzeichnis\n\ +{ + STRING_INVPARMS, "Falsche Parameteranzahl - xcopy /? zeigt Hilfe an\n" + STRING_INVPARM, "Unbekannter Parameter '%1' - xcopy /? zeigt Hilfe an\n" + STRING_PAUSE, "Eingabetaste betätigen, um mit dem Kopieren zu beginnen\n" + STRING_SIMCOPY, "%1!d! Datei(en) würden kopiert\n" + STRING_COPY, "%1!d! Datei(en) kopiert\n" + STRING_QISDIR, "Ist '%1' eine Datei oder ein Verzeichnis\n\ am Zielsort?\n\ (D - Datei, V - Verzeichnis)\n" - STRING_SRCPROMPT "%1? (Ja|Nein)\n" - STRING_OVERWRITE "%1 überschreiben? (Ja|Nein|Alle)\n" - STRING_COPYFAIL "Kopieren von '%1' nach '%2' fehlgeschlagen. Fehlernummer: %3!d!\n" - STRING_OPENFAIL "Fehler beim Öffnen von '%1'\n" - STRING_READFAIL "Fehler beim Lesen von '%1'\n" - STRING_YES_CHAR "J" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "A" - STRING_FILE_CHAR "D" - STRING_DIR_CHAR "V" - STRING_HELP + STRING_SRCPROMPT,"%1? (Ja|Nein)\n" + STRING_OVERWRITE,"%1 überschreiben? (Ja|Nein|Alle)\n" + STRING_COPYFAIL, "Kopieren von '%1' nach '%2' fehlgeschlagen. Fehlernummer: %3!d!\n" + STRING_OPENFAIL, "Fehler beim Öffnen von '%1'\n" + STRING_READFAIL, "Fehler beim Lesen von '%1'\n" + STRING_YES_CHAR, "J" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "A" + STRING_FILE_CHAR,"D" + STRING_DIR_CHAR, "V" + + STRING_HELP, "XCOPY - Kopiert Dateien oder Verzeichnisse an einen Zielort\n\ \n\ Syntax:\n\ @@ -51,4 +52,5 @@ Mit:\n\ [/D | /D:M-T-J] Kopiere neue Dateien und Dateien, die neuer als das\n\ \t\tangegebene Datum sind. Wird kein Datum angegegebn, werden nur\n\ \t\tQuelldateien kopiert, die neuer sind als die Zieldatei\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/En.rc b/base/applications/cmdutils/xcopy/lang/En.rc index 411892aacd0..615a244f0cd 100644 --- a/base/applications/cmdutils/xcopy/lang/En.rc +++ b/base/applications/cmdutils/xcopy/lang/En.rc @@ -1,27 +1,28 @@ LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_INVPARMS "Invalid number of parameters - Use xcopy /? for help\n" - STRING_INVPARM "Invalid parameter '%1' - Use xcopy /? for help\n" - STRING_PAUSE "Press to begin copying\n" - STRING_SIMCOPY "%1!d! file(s) would be copied\n" - STRING_COPY "%1!d! file(s) copied\n" - STRING_QISDIR "Is '%1' a filename or directory\n\ +{ + STRING_INVPARMS, "Invalid number of parameters - Use xcopy /? for help\n" + STRING_INVPARM, "Invalid parameter '%1' - Use xcopy /? for help\n" + STRING_PAUSE, "Press to begin copying\n" + STRING_SIMCOPY, "%1!d! file(s) would be copied\n" + STRING_COPY, "%1!d! file(s) copied\n" + STRING_QISDIR, "Is '%1' a filename or directory\n\ on the target?\n\ (F - File, D - Directory)\n" - STRING_SRCPROMPT "%1? (Yes|No)\n" - STRING_OVERWRITE "Overwrite %1? (Yes|No|All)\n" - STRING_COPYFAIL "Copying of '%1' to '%2' failed with r/c %3!d!\n" - STRING_OPENFAIL "Failed to open '%1'\n" - STRING_READFAIL "Failed during reading of '%1'\n" - STRING_YES_CHAR "Y" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "A" - STRING_FILE_CHAR "F" - STRING_DIR_CHAR "D" - STRING_HELP -"XCOPY - Copies source files or directory trees to a destination\n\ + STRING_SRCPROMPT,"%1? (Yes|No)\n" + STRING_OVERWRITE,"Overwrite %1? (Yes|No|All)\n" + STRING_COPYFAIL, "Copying of '%1' to '%2' failed with r/c %3!d!\n" + STRING_OPENFAIL, "Failed to open '%1'\n" + STRING_READFAIL, "Failed during reading of '%1'\n" + STRING_YES_CHAR, "Y" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "A" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "D" + + STRING_HELP, +"XCOPY - Copies source files or directory trees to a destination.\n\ \n\ Syntax:\n\ XCOPY source [destination] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\ @@ -30,26 +31,27 @@ XCOPY source [destination] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\ Where:\n\ \n\ [/I] Assume directory if destination does not exist and copying two or\n\ -\tmore files\n\ -[/S] Copy directories and subdirectories\n\ -[/E] Copy directories and subdirectories, including any empty ones\n\ +\tmore files.\n\ +[/S] Copy directories and subdirectories.\n\ +[/E] Copy directories and subdirectories, including any empty ones.\n\ [/Q] Do not list names during copy, that is be quiet.\n\ -[/F] Show full source and destination names during copy\n\ -[/L] Simulate operation, showing names which would be copied\n\ -[/W] Prompts before beginning the copy operation\n\ -[/T] Creates empty directory structure but does not copy files\n\ -[/Y] Suppress prompting when overwriting files\n\ -[/-Y] Enable prompting when overwriting files\n\ -[/P] Prompts on each source file before copying\n\ -[/N] Copy using short names\n\ -[/U] Copy only files which already exist in destination\n\ -[/R] Overwrite any read only files\n\ -[/H] Include hidden and system files in the copy\n\ -[/C] Continue even if an error occurs during the copy\n\ -[/A] Only copy files with archive attribute set\n\ +[/F] Show full source and destination names during copy.\n\ +[/L] Simulate operation, showing names which would be copied.\n\ +[/W] Prompts before beginning the copy operation.\n\ +[/T] Creates empty directory structure but does not copy files.\n\ +[/Y] Suppress prompting when overwriting files.\n\ +[/-Y] Enable prompting when overwriting files.\n\ +[/P] Prompts on each source file before copying.\n\ +[/N] Copy using short names.\n\ +[/U] Copy only files which already exist in destination.\n\ +[/R] Overwrite any read only files.\n\ +[/H] Include hidden and system files in the copy.\n\ +[/C] Continue even if an error occurs during the copy.\n\ +[/A] Only copy files with archive attribute set.\n\ [/M] Only copy files with archive attribute set, removes the\n\ \tarchive attribute.\n\ [/D | /D:m-d-y] Copy new files or those modified after the supplied date.\n\ \t\tIf no date is supplied, only copy if destination is older\n\ -\t\tthan source\n\n" -END +\t\tthan source.\n\n" + +} diff --git a/base/applications/cmdutils/xcopy/lang/Es.rc b/base/applications/cmdutils/xcopy/lang/Es.rc index 84ed0a2f072..e0997c2503b 100644 --- a/base/applications/cmdutils/xcopy/lang/Es.rc +++ b/base/applications/cmdutils/xcopy/lang/Es.rc @@ -1,26 +1,27 @@ LANGUAGE LANG_SPANISH, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_INVPARMS "Cantidad invalido de parametros - Use xcopy /? para obtener ayuda\n" - STRING_INVPARM "Parametro invalido '%1' - Use xcopy /? para obtener ayuda\n" - STRING_PAUSE "Unde para iniciar la copia\n" - STRING_SIMCOPY "%1!d! archivo(s) seran copiado(s)\n" - STRING_COPY "%1!d! archivo(s) copiado(s)\n" - STRING_QISDIR "Es '%1' un nombre de archivo o de directorio\n\ +{ + STRING_INVPARMS, "Cantidad invalido de parametros - Use xcopy /? para obtener ayuda\n" + STRING_INVPARM, "Parametro invalido '%1' - Use xcopy /? para obtener ayuda\n" + STRING_PAUSE, "Unde para iniciar la copia\n" + STRING_SIMCOPY, "%1!d! archivo(s) seran copiado(s)\n" + STRING_COPY, "%1!d! archivo(s) copiado(s)\n" + STRING_QISDIR, "Es '%1' un nombre de archivo o de directorio\n\ en el punto de destino?\n\ (F - Archivo, D - Directorio)\n" - STRING_SRCPROMPT "%1? (Si|No)\n" - STRING_OVERWRITE "Destruir y escribir encima %1? (Si|No|Todo)\n" - STRING_COPYFAIL "La copia de '%1' a '%2' ha faillecido con r/c %3!d!\n" - STRING_OPENFAIL "Impossible de abrir '%1'\n" - STRING_READFAIL "Hubo un error durante la lectura de '%1'\n" - STRING_YES_CHAR "S" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "T" - STRING_FILE_CHAR "A" - STRING_DIR_CHAR "D" - STRING_HELP + STRING_SRCPROMPT,"%1? (Si|No)\n" + STRING_OVERWRITE,"Destruir y escribir encima %1? (Si|No|Todo)\n" + STRING_COPYFAIL, "La copia de '%1' a '%2' ha faillecido con r/c %3!d!\n" + STRING_OPENFAIL, "Impossible de abrir '%1'\n" + STRING_READFAIL, "Hubo un error durante la lectura de '%1'\n" + STRING_YES_CHAR, "S" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "T" + STRING_FILE_CHAR,"A" + STRING_DIR_CHAR, "D" + + STRING_HELP, "XCOPY - Copia los archivos o directorios fuentes a un destino\n\ \n\ Sintaxis:\n\ @@ -52,4 +53,5 @@ En la cual:\n\ [/D | /D:m-d-y] Copia los nuevos archivos or los que fueront modificado despues la fecha especificada.\n\ \t\tSi la fecha no esta especificada, copia unicamente cuando el archivo de destino est mas viejo\n\ \t\tque el archivo fuente\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/Fr.rc b/base/applications/cmdutils/xcopy/lang/Fr.rc index 315cecc324e..eccb0a65efa 100644 --- a/base/applications/cmdutils/xcopy/lang/Fr.rc +++ b/base/applications/cmdutils/xcopy/lang/Fr.rc @@ -1,26 +1,27 @@ LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_INVPARMS "Nombre invalide de paramètres - Utilisez xcopy /? pour obtenir de l'aide\n" - STRING_INVPARM "Paramètre invalide « %1 » - Utilisez xcopy /? pour obtenir de l'aide\n" - STRING_PAUSE "Appuyez sur ENTRÉE pour démarrer la copie\n" - STRING_SIMCOPY "%1!d! fichier(s) seront copiés\n" - STRING_COPY "%1!d! fichier(s) copiés\n" - STRING_QISDIR "« %1 » est-il un fichier ou un répertoire\n\ +{ + STRING_INVPARMS, "Nombre invalide de paramètres - Utilisez xcopy /? pour obtenir de l'aide\n" + STRING_INVPARM, "Paramètre invalide « %1 » - Utilisez xcopy /? pour obtenir de l'aide\n" + STRING_PAUSE, "Appuyez sur ENTRÉE pour démarrer la copie\n" + STRING_SIMCOPY, "%1!d! fichier(s) seront copiés\n" + STRING_COPY, "%1!d! fichier(s) copiés\n" + STRING_QISDIR, "« %1 » est-il un fichier ou un répertoire\n\ dans la destination ?\n\ (F - Fichier, R - Répertoire)\n" - STRING_SRCPROMPT "%1 ? (Oui|Non)\n" - STRING_OVERWRITE "Écraser %1 ? (Oui|Non|Tous)\n" - STRING_COPYFAIL "La copie de « %1 » vers « %2 » a échoué avec le code de retour %3!d!\n" - STRING_OPENFAIL "Impossible d'ouvrir « %1 »\n" - STRING_READFAIL "Impossible de lire « %1 »\n" - STRING_YES_CHAR "O" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "T" - STRING_FILE_CHAR "F" - STRING_DIR_CHAR "R" - STRING_HELP + STRING_SRCPROMPT,"%1 ? (Oui|Non)\n" + STRING_OVERWRITE,"Écraser %1 ? (Oui|Non|Tous)\n" + STRING_COPYFAIL, "La copie de « %1 » vers « %2 » a échoué avec le code de retour %3!d!\n" + STRING_OPENFAIL, "Impossible d'ouvrir « %1 »\n" + STRING_READFAIL, "Impossible de lire « %1 »\n" + STRING_YES_CHAR, "O" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "T" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "R" + + STRING_HELP, "XCOPY - Copie les fichiers ou répertoires sources vers une destination\n\ \n\ Syntaxe :\n\ @@ -52,4 +53,5 @@ où :\n\ [/D | /D:m-d-y] Copie uniquement les nouveaux fichiers, ou ceux modifiés après la date spécifiée.\n\ \t\tSi aucune date n'est spécifiée, copie uniquement lorsque le fichier de destination est plus ancien\n\ \t\tque le fichier source\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/It.rc b/base/applications/cmdutils/xcopy/lang/It.rc index 255fa6be787..3b518ba39c4 100644 --- a/base/applications/cmdutils/xcopy/lang/It.rc +++ b/base/applications/cmdutils/xcopy/lang/It.rc @@ -1,26 +1,27 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_INVPARMS "Numero non valido di parametri - Digita xcopy /? per l'aiuto\n" - STRING_INVPARM "Parametro '%1' non valido - Digita xcopy /? per l'aiuto\n" - STRING_PAUSE "Premi Invio per iniziare a copiare\n" - STRING_SIMCOPY "%1!d! file saranno copiati\n" - STRING_COPY "%1!d! file copiato/i\n" - STRING_QISDIR "'%1' è il nome di un file o una cartella\n\ +{ + STRING_INVPARMS, "Numero non valido di parametri - Digita xcopy /? per l'aiuto\n" + STRING_INVPARM, "Parametro '%1' non valido - Digita xcopy /? per l'aiuto\n" + STRING_PAUSE, "Premi Invio per iniziare a copiare\n" + STRING_SIMCOPY, "%1!d! file saranno copiati\n" + STRING_COPY, "%1!d! file copiato/i\n" + STRING_QISDIR, "'%1' è il nome di un file o una cartella\n\ nella destinazione?\n\ (F - File, C - Cartella)\n" - STRING_SRCPROMPT "%1? (Sì|No)\n" - STRING_OVERWRITE "Sovrascrivere %1? (Sì|No|Tutti)\n" - STRING_COPYFAIL "La copia di '%1' in '%2' è fallita con r/c %3!d!\n" - STRING_OPENFAIL "Impossibile aprire '%1'\n" - STRING_READFAIL "Errore durante la lettura di '%1'\n" - STRING_YES_CHAR "S" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "T" - STRING_FILE_CHAR "F" - STRING_DIR_CHAR "C" - STRING_HELP + STRING_SRCPROMPT,"%1? (Sì|No)\n" + STRING_OVERWRITE,"Sovrascrivere %1? (Sì|No|Tutti)\n" + STRING_COPYFAIL, "La copia di '%1' in '%2' è fallita con r/c %3!d!\n" + STRING_OPENFAIL, "Impossibile aprire '%1'\n" + STRING_READFAIL, "Errore durante la lettura di '%1'\n" + STRING_YES_CHAR, "S" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "T" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "C" + + STRING_HELP, "XCOPY - Copia file e alberi di cartelle sorgenti in una destinazione\n\ \n\ Sintassi:\n\ @@ -52,4 +53,5 @@ Dove:\n\ [/D | /D:m-g-a] Copia i nuovi file o quelli modificati dopo la data fornita.\n\ \t\tSe nessuna data è stata fornita, copia solo se la destinazione è più vecchia\n\ \t\tdella sorgente\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/Ja.rc b/base/applications/cmdutils/xcopy/lang/Ja.rc index f8aa1b3b196..7ead13b86ab 100644 --- a/base/applications/cmdutils/xcopy/lang/Ja.rc +++ b/base/applications/cmdutils/xcopy/lang/Ja.rc @@ -1,26 +1,27 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_INVPARMS "パラメータの数が違います。xcopy /? で使い方を表示します\n" - STRING_INVPARM "無効なパラメータ '%1' です。xcopy /? で使い方を表示します\n" - STRING_PAUSE "コピーを開始するには を押してください\n" - STRING_SIMCOPY "%1!d! ファイルがコピーされる見込みです。\n" - STRING_COPY "%1!d! ファイルをコピーしました\n" - STRING_QISDIR "送り先の '%1' はファイル名ですか、\n\ +{ + STRING_INVPARMS, "パラメータの数が違います。xcopy /? で使い方を表示します\n" + STRING_INVPARM, "無効なパラメータ '%1' です。xcopy /? で使い方を表示します\n" + STRING_PAUSE, "コピーを開始するには を押してください\n" + STRING_SIMCOPY, "%1!d! ファイルがコピーされる見込みです。\n" + STRING_COPY, "%1!d! ファイルをコピーしました\n" + STRING_QISDIR, "送り先の '%1' はファイル名ですか、\n\ ディレクトリですか?\n\ (F - ファイル、D - ディレクトリ)\n" - STRING_SRCPROMPT "%1? (Yes|No)\n" - STRING_OVERWRITE "%1 を上書きしますか? (Yes|No|All)\n" - STRING_COPYFAIL "'%1' から '%2' へのコピーは失敗しました。戻り値 %3!d!\n" - STRING_OPENFAIL "'%1' を開けません\n" - STRING_READFAIL "'%1' の読み込み中に失敗しました\n" - STRING_YES_CHAR "Y" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "A" - STRING_FILE_CHAR "F" - STRING_DIR_CHAR "D" - STRING_HELP + STRING_SRCPROMPT,"%1? (Yes|No)\n" + STRING_OVERWRITE,"%1 を上書きしますか? (Yes|No|All)\n" + STRING_COPYFAIL, "'%1' から '%2' へのコピーは失敗しました。戻り値 %3!d!\n" + STRING_OPENFAIL, "'%1' を開けません\n" + STRING_READFAIL, "'%1' の読み込み中に失敗しました\n" + STRING_YES_CHAR, "Y" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "A" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "D" + + STRING_HELP, "XCOPY - 送り元のファイルやディレクトリを送り先にコピーします\n\ \n\ 構文:\n\ @@ -52,4 +53,5 @@ XCOPY 送り元 [送り先] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\ [/D | /D:月-日-年] 新しいファイルや指定された日付以降に変更された\n\ \t\tファイルをコピーします。日付が指定されない場合は、\n\ \t\tコピー先がコピー元より古いファイルだけコピーします。\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/Ko.rc b/base/applications/cmdutils/xcopy/lang/Ko.rc index 6181715804d..f18c6030bb4 100644 --- a/base/applications/cmdutils/xcopy/lang/Ko.rc +++ b/base/applications/cmdutils/xcopy/lang/Ko.rc @@ -1,26 +1,27 @@ LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_INVPARMS "올바르지 않은 매개변수의 갯수 - xcopy /?로 도움말을 보시오\n" - STRING_INVPARM "올바르지 않은 매개변수 '%1' - xcopy /?로 도움말을 보시오\n" - STRING_PAUSE " 를 누르면 복사가 시작될 것입니다\n" - STRING_SIMCOPY "%1!d! 파일이 복사될 것입니다\n" - STRING_COPY "%1!d! 파일이 복사되었습니다\n" - STRING_QISDIR "'%1'이 복사할 파일이나 디렉토리?\n\ +{ + STRING_INVPARMS, "올바르지 않은 매개변수의 갯수 - xcopy /?로 도움말을 보시오\n" + STRING_INVPARM, "올바르지 않은 매개변수 '%1' - xcopy /?로 도움말을 보시오\n" + STRING_PAUSE, " 를 누르면 복사가 시작될 것입니다\n" + STRING_SIMCOPY, "%1!d! 파일이 복사될 것입니다\n" + STRING_COPY, "%1!d! 파일이 복사되었습니다\n" + STRING_QISDIR, "'%1'이 복사할 파일이나 디렉토리?\n\ 입니까?\n\ (F - 파일, D - 디렉토리)\n" - STRING_SRCPROMPT "%1? (예|아니오)\n" - STRING_OVERWRITE "%1를 덮어쓰겠습니까? (예|아니오|모두)\n" - STRING_COPYFAIL "Copying of '%1' to '%2' failed with r/c %3!d!\n" - STRING_OPENFAIL "'%1' 열기 실패\n" - STRING_READFAIL "'%1를 읽지 못했습니다'\n" - STRING_YES_CHAR "Y" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "A" - STRING_FILE_CHAR "F" - STRING_DIR_CHAR "D" - STRING_HELP + STRING_SRCPROMPT,"%1? (예|아니오)\n" + STRING_OVERWRITE,"%1를 덮어쓰겠습니까? (예|아니오|모두)\n" + STRING_COPYFAIL, "Copying of '%1' to '%2' failed with r/c %3!d!\n" + STRING_OPENFAIL, "'%1' 열기 실패\n" + STRING_READFAIL, "'%1를 읽지 못했습니다'\n" + STRING_YES_CHAR, "Y" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "A" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "D" + + STRING_HELP, "XCOPY - 원본 파일이나 디렉토리 구조를 목적지로 복사\n\ \n\ 문법:\n\ @@ -52,4 +53,5 @@ Where:\n\ [/D | /D:m-d-y] 지정된 날짜 후에 수정되거나 새로운 파일 복사.\n\ \t\tI만약 어떠한 날짜도 지정되지 않으면,오직 원본보다\n\ \t\t대상이 오래된 것만 복사\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/Lt.rc b/base/applications/cmdutils/xcopy/lang/Lt.rc index b52f54d17d6..96c9a386dd0 100644 --- a/base/applications/cmdutils/xcopy/lang/Lt.rc +++ b/base/applications/cmdutils/xcopy/lang/Lt.rc @@ -1,25 +1,26 @@ LANGUAGE LANG_LITHUANIAN, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_INVPARMS "Neteisingas parametrų skaičius - pagalba: xcopy /?\n" - STRING_INVPARM "Neteisingas parametras „%1“ - pagalba: xcopy /?\n" - STRING_PAUSE "Spauskite kopijavimui pradėti\n" - STRING_SIMCOPY "bus nukopijuota failų: %1!d!\n" - STRING_COPY "nukopijuota failų: %1!d!\n" - STRING_QISDIR "Ar „%1“ yra failas, ar katalogas,\n\ +{ + STRING_INVPARMS, "Neteisingas parametrų skaičius - pagalba: xcopy /?\n" + STRING_INVPARM, "Neteisingas parametras „%1“ - pagalba: xcopy /?\n" + STRING_PAUSE, "Spauskite kopijavimui pradėti\n" + STRING_SIMCOPY, "bus nukopijuota failų: %1!d!\n" + STRING_COPY, "nukopijuota failų: %1!d!\n" + STRING_QISDIR, "Ar „%1“ yra failas, ar katalogas,\n\ ar paskirtis?\n\ (F - failas, K - katalogas)\n" - STRING_SRCPROMPT "%1? (Taip|Ne)\n" - STRING_OVERWRITE "Perrašyti %1? (Taip|Ne|Visus)\n" - STRING_COPYFAIL "„%1“ kopijavimas į „%2“ nepavyko su r/c %3!d!\n" - STRING_OPENFAIL "Nepavyko atverti „%1“\n" - STRING_READFAIL "Klaida skaitant „%1“\n" - STRING_YES_CHAR "T" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "V" - STRING_FILE_CHAR "F" - STRING_DIR_CHAR "K" + STRING_SRCPROMPT,"%1? (Taip|Ne)\n" + STRING_OVERWRITE,"Perrašyti %1? (Taip|Ne|Visus)\n" + STRING_COPYFAIL, "„%1“ kopijavimas į „%2“ nepavyko su r/c %3!d!\n" + STRING_OPENFAIL, "Nepavyko atverti „%1“\n" + STRING_READFAIL, "Klaida skaitant „%1“\n" + STRING_YES_CHAR, "T" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "V" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "K" + STRING_HELP "XCOPY - Kopijuoja šaltinio failus ir katalogų medžius į paskirties vietą\n\ \n\ @@ -52,4 +53,5 @@ Kur:\n\ [/D | /D:m-d-y] Kopijuoti naujus failus arba modifikuotos po nurodytos datos.\n\ \t\tJei data nenurodyta, kopijuoti tik jei paskirties failas yra\n\ \t\tsenesnis už šaltinio failą\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/Nl.rc b/base/applications/cmdutils/xcopy/lang/Nl.rc index 913f7c5df48..4c1620efc12 100644 --- a/base/applications/cmdutils/xcopy/lang/Nl.rc +++ b/base/applications/cmdutils/xcopy/lang/Nl.rc @@ -1,26 +1,27 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_INVPARMS "Onjuist aantal parameters - Gebruik xcopy /? om hulp te krijgen\n" - STRING_INVPARM "Onjuiste parameter '%1' - Gebruik xcopy /? om hulp te krijgen\n" - STRING_PAUSE "Druk op om te beginnen met kopiëren\n" - STRING_SIMCOPY "%1!d! bestand(en) zouden worden gekopieerd\n" - STRING_COPY "%1!d! bestand(en) gekopieerd\n" - STRING_QISDIR "Is '%1' een bestand of een map\n\ +{ + STRING_INVPARMS, "Onjuist aantal parameters - Gebruik xcopy /? om hulp te krijgen\n" + STRING_INVPARM, "Onjuiste parameter '%1' - Gebruik xcopy /? om hulp te krijgen\n" + STRING_PAUSE, "Druk op om te beginnen met kopiëren\n" + STRING_SIMCOPY, "%1!d! bestand(en) zouden worden gekopieerd\n" + STRING_COPY, "%1!d! bestand(en) gekopieerd\n" + STRING_QISDIR, "Is '%1' een bestand of een map\n\ op de bestemming?\n\ (B - Bestand, D - Directory)\n" - STRING_SRCPROMPT "%1? (Ja|Nee)\n" - STRING_OVERWRITE "Overschrijven %1? (Ja|Nee|Alles)\n" - STRING_COPYFAIL "Kopiëren van '%1' naar '%2' mislukt met r/c %3!d!\n" - STRING_OPENFAIL "Fout tijdens openen van '%1'\n" - STRING_READFAIL "Fout tijdens lezen van '%1'\n" - STRING_YES_CHAR "J" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "A" - STRING_FILE_CHAR "B" - STRING_DIR_CHAR "D" - STRING_HELP + STRING_SRCPROMPT,"%1? (Ja|Nee)\n" + STRING_OVERWRITE,"Overschrijven %1? (Ja|Nee|Alles)\n" + STRING_COPYFAIL, "Kopiëren van '%1' naar '%2' mislukt met r/c %3!d!\n" + STRING_OPENFAIL, "Fout tijdens openen van '%1'\n" + STRING_READFAIL, "Fout tijdens lezen van '%1'\n" + STRING_YES_CHAR, "J" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "A" + STRING_FILE_CHAR,"B" + STRING_DIR_CHAR, "D" + + STRING_HELP, "XCOPY - Kopieert bronbestanden of -mappen naar een bestemming\n\ \n\ Gebruik:\n\ @@ -51,4 +52,5 @@ Parameters:\n\ \tdit archiveringsattribuut\n\ [/D | /D:m-d-y] Kopieer bestanden die nieuw zijn of gewijzigd zijn na de opgegeven\n\ \t\tdatum. Als geen datum wordt gegeven, kopieer alleen als bron nieuwer is.\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/No.rc b/base/applications/cmdutils/xcopy/lang/No.rc index 901876abcca..bb5b82346aa 100644 --- a/base/applications/cmdutils/xcopy/lang/No.rc +++ b/base/applications/cmdutils/xcopy/lang/No.rc @@ -1,26 +1,27 @@ LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL STRINGTABLE -BEGIN - STRING_INVPARMS "Ugyldig antall parametere; bruk xcopy /? for hjelp\n" - STRING_INVPARM "Ugyldig parameter %1; bruk xcopy /? for hjelp\n" - STRING_PAUSE "Trykk Enter for begynne kopiere\n" - STRING_SIMCOPY "%1!d! fil(er) ville blitt kopiert\n" - STRING_COPY "%1!d! fil(er) kopiert\n" - STRING_QISDIR "Eer %1 et filnevn eller katalog\n\ +{ + STRING_INVPARMS, "Ugyldig antall parametere; bruk xcopy /? for hjelp\n" + STRING_INVPARM, "Ugyldig parameter %1; bruk xcopy /? for hjelp\n" + STRING_PAUSE, "Trykk Enter for begynne kopiere\n" + STRING_SIMCOPY, "%1!d! fil(er) ville blitt kopiert\n" + STRING_COPY, "%1!d! fil(er) kopiert\n" + STRING_QISDIR, "Eer %1 et filnevn eller katalog\n\ i mlet?\n\ (F - Fil, K - Katalog)\n" - STRING_SRCPROMPT "%1? (Ja|Nei)\n" - STRING_OVERWRITE "Skrive over %1? (Ja|Nei|Alle)\n" - STRING_COPYFAIL "Klarte ikke kopiere %1 til %2; feilet med r/c %3!d!\n" - STRING_OPENFAIL "Klarte ikke pne %1\n" - STRING_READFAIL "Klarte ikke lese %1\n" - STRING_YES_CHAR "J" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "A" - STRING_FILE_CHAR "F" - STRING_DIR_CHAR "K" - STRING_HELP + STRING_SRCPROMPT,"%1? (Ja|Nei)\n" + STRING_OVERWRITE,"Skrive over %1? (Ja|Nei|Alle)\n" + STRING_COPYFAIL, "Klarte ikke kopiere %1 til %2; feilet med r/c %3!d!\n" + STRING_OPENFAIL, "Klarte ikke pne %1\n" + STRING_READFAIL, "Klarte ikke lese %1\n" + STRING_YES_CHAR, "J" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "A" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "K" + + STRING_HELP, "XCOPY - Kopierer filer eller katalogtre til en mlplassering\n\ \n\ Syntax:\n\ @@ -30,7 +31,7 @@ XCOPY kilde [m Where:\n\ \n\ [/I] Anta at mlet er en katalog hvis mlet ikke finnes og 2 eller\n\ - \tflere filer blir kopiert\n\ +\tflere filer blir kopiert\n\ [/S] Kopier kataloger og underkataloger\n\ [/E] Kopier kataloger og underkataloger, ta med tomme kataloger\n\ [/Q] Stille modus: ikke vis filnavn under kopiering\n\ @@ -49,7 +50,8 @@ Where:\n\ [/A] Ikke kopier filer som er markert som arkiv\n\ [/M] Bare kopier filer som er markert som akriv; fjerner denne merkingen\n\ [/D | /D:m-d-] Kopier nye filer eller de som er endret etter\n\ - \t\tden oppgitte datoen.\n\ - \t\tHvis ingen dato oppgis kopieres bare de filene som er\n\ - \t\teldre i mlet enn i kilden\n\n" -END +\t\tden oppgitte datoen.\n\ +\t\tHvis ingen dato oppgis kopieres bare de filene som er\n\ +\t\teldre i mlet enn i kilden\n\n" + +} diff --git a/base/applications/cmdutils/xcopy/lang/Pl.rc b/base/applications/cmdutils/xcopy/lang/Pl.rc index 7cf0a18f942..136d141c3ca 100644 --- a/base/applications/cmdutils/xcopy/lang/Pl.rc +++ b/base/applications/cmdutils/xcopy/lang/Pl.rc @@ -1,26 +1,27 @@ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_INVPARMS "Niewaciwa liczba parametrw - uruchom xcopy /? aby wywietli pomoc\n" - STRING_INVPARM "Nieznany parameter '%1' - uruchom xcopy /? aby wywietli pomoc\n" - STRING_PAUSE "Nacinij aby rozpocz kopiowanie\n" - STRING_SIMCOPY "%1!d! plik(w) zostaoby skopiowanych\n" - STRING_COPY "%1!d! plik(w) skopiowanych\n" - STRING_QISDIR "Czy '%1' jest nazw pliku czy katalogu\n\ +{ + STRING_INVPARMS, "Niewaciwa liczba parametrw - uruchom xcopy /? aby wywietli pomoc\n" + STRING_INVPARM, "Nieznany parameter '%1' - uruchom xcopy /? aby wywietli pomoc\n" + STRING_PAUSE, "Nacinij aby rozpocz kopiowanie\n" + STRING_SIMCOPY, "%1!d! plik(w) zostaoby skopiowanych\n" + STRING_COPY, "%1!d! plik(w) skopiowanych\n" + STRING_QISDIR, "Czy '%1' jest nazw pliku czy katalogu\n\ docelowego?\n\ (P - plik, K - katalog)\n" - STRING_SRCPROMPT "%1? (Tak|Nie)\n" - STRING_OVERWRITE "Zastpi %1? (Tak|Nie|Wszystkie)\n" - STRING_COPYFAIL "Kopiowanie '%1' do '%2' nie powiodo si - kod bdu %3!d!\n" - STRING_OPENFAIL "Nie udao si otworzy '%1'\n" - STRING_READFAIL "Bd podczas czytania '%1'\n" - STRING_YES_CHAR "T" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "W" - STRING_FILE_CHAR "P" - STRING_DIR_CHAR "K" - STRING_HELP + STRING_SRCPROMPT,"%1? (Tak|Nie)\n" + STRING_OVERWRITE,"Zastpi %1? (Tak|Nie|Wszystkie)\n" + STRING_COPYFAIL, "Kopiowanie '%1' do '%2' nie powiodo si - kod bdu %3!d!\n" + STRING_OPENFAIL, "Nie udao si otworzy '%1'\n" + STRING_READFAIL, "Bd podczas czytania '%1'\n" + STRING_YES_CHAR, "T" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "W" + STRING_FILE_CHAR,"P" + STRING_DIR_CHAR, "K" + + STRING_HELP, "XCOPY - kopiuje pliki lub drzewa katalogw\n\ \n\ Skadnia:\n\ @@ -51,4 +52,5 @@ Gdzie:\n\ [/D | /D:m-d-y] Kopiuje tylko nowe pliki lub te zmodifikowane po podanej dacie.\n\ \t\tJeeli nie podano adnej daty, to kopiowane s pliki, ktre s\n\ \t\tnowsze ni w katalogu docelowym\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/Pt.rc b/base/applications/cmdutils/xcopy/lang/Pt.rc index 432a5eac5a0..4cec93d191a 100644 --- a/base/applications/cmdutils/xcopy/lang/Pt.rc +++ b/base/applications/cmdutils/xcopy/lang/Pt.rc @@ -1,26 +1,27 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN STRINGTABLE -BEGIN - STRING_INVPARMS "Número de parâmetros inválido - Use xcopy /? para ajuda\n" - STRING_INVPARM "Parâmetro inválido '%1' - Use xcopy /? para ajuda\n" - STRING_PAUSE "Pressione para iniciar a cópia\n" - STRING_SIMCOPY "%1!d! arquivo(s) seriam copiado(s)\n" - STRING_COPY "%1!d! arquivo(s) copiado(s)\n" - STRING_QISDIR "'%1' é um arquivo ou diretório\n\ +{ + STRING_INVPARMS, "Número de parâmetros inválido - Use xcopy /? para ajuda\n" + STRING_INVPARM, "Parâmetro inválido '%1' - Use xcopy /? para ajuda\n" + STRING_PAUSE, "Pressione para iniciar a cópia\n" + STRING_SIMCOPY, "%1!d! arquivo(s) seriam copiado(s)\n" + STRING_COPY, "%1!d! arquivo(s) copiado(s)\n" + STRING_QISDIR, "'%1' é um arquivo ou diretório\n\ no alvo?\n\ (A - Arquivo, D - Directório)\n" - STRING_SRCPROMPT "%1? (Sim|Não)\n" - STRING_OVERWRITE "Reescrever %1? (Sim|Não|Tudo)\n" - STRING_COPYFAIL "Falha ao copiar '%1' para '%2' com r/c %3!d!\n" - STRING_OPENFAIL "Falha ao abrir '%1'\n" - STRING_READFAIL "Falha a ler '%1'\n" - STRING_YES_CHAR "S" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "T" - STRING_FILE_CHAR "A" - STRING_DIR_CHAR "D" - STRING_HELP + STRING_SRCPROMPT,"%1? (Sim|Não)\n" + STRING_OVERWRITE,"Reescrever %1? (Sim|Não|Tudo)\n" + STRING_COPYFAIL, "Falha ao copiar '%1' para '%2' com r/c %3!d!\n" + STRING_OPENFAIL, "Falha ao abrir '%1'\n" + STRING_READFAIL, "Falha a ler '%1'\n" + STRING_YES_CHAR, "S" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "T" + STRING_FILE_CHAR,"A" + STRING_DIR_CHAR, "D" + + STRING_HELP, "XCOPY - Copia arquivos ou diretórios para um destino\n\ \n\ Sintaxe:\n\ @@ -59,25 +60,26 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE STRINGTABLE { - STRING_INVPARMS "Número de parâmetros inválido - Use xcopy /? para ajuda\n" - STRING_INVPARM "Parâmetro inválido '%1' - Use xcopy /? para ajuda\n" - STRING_PAUSE "Carregue para iniciar cópia\n" - STRING_SIMCOPY "%1!d! ficheiro(s) seriam copiado(s)\n" - STRING_COPY "%1!d! ficheiro(s) copiado(s)\n" - STRING_QISDIR "'%1' é um ficheiro ou directório\n\ + STRING_INVPARMS, "Número de parâmetros inválido - Use xcopy /? para ajuda\n" + STRING_INVPARM, "Parâmetro inválido '%1' - Use xcopy /? para ajuda\n" + STRING_PAUSE, "Carregue para iniciar cópia\n" + STRING_SIMCOPY, "%1!d! ficheiro(s) seriam copiado(s)\n" + STRING_COPY, "%1!d! ficheiro(s) copiado(s)\n" + STRING_QISDIR, "'%1' é um ficheiro ou directório\n\ no alvo?\n\ (F - Ficheiro, D - Directório)\n" - STRING_SRCPROMPT "%1? (Yes|No)\n" - STRING_OVERWRITE "Reescrever %1? (Yes|No|All)\n" - STRING_COPYFAIL "Cópia de '%1' para '%2' falhou com r/c %3!d!\n" - STRING_OPENFAIL "Falhou ao abrir '%1'\n" - STRING_READFAIL "Falhou a ler '%1'\n" - STRING_YES_CHAR "Y" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "A" - STRING_FILE_CHAR "F" - STRING_DIR_CHAR "D" - STRING_HELP + STRING_SRCPROMPT,"%1? (Yes|No)\n" + STRING_OVERWRITE,"Reescrever %1? (Yes|No|All)\n" + STRING_COPYFAIL, "Cópia de '%1' para '%2' falhou com r/c %3!d!\n" + STRING_OPENFAIL, "Falhou ao abrir '%1'\n" + STRING_READFAIL, "Falhou a ler '%1'\n" + STRING_YES_CHAR, "Y" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "A" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "D" + + STRING_HELP, "XCOPY - Copia ficheiros ou directórios para um destino\n\ \n\ Sintaxe:\n\ @@ -109,4 +111,5 @@ Onde:\n\ [/D | /D:m-d-y] Copiar novos ficheiros ou os alterados após a data fornecida\n\ \t\tSe nenhuma data for fornecida, apenas copiar se o destino\n\ \t\tfor mais antigo que a fonte\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/Ro.rc b/base/applications/cmdutils/xcopy/lang/Ro.rc index 978fa076f65..4ce8153c70d 100644 --- a/base/applications/cmdutils/xcopy/lang/Ro.rc +++ b/base/applications/cmdutils/xcopy/lang/Ro.rc @@ -2,24 +2,25 @@ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - 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_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_YES_CHAR "D" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "T" - STRING_FILE_CHAR "F" - STRING_DIR_CHAR "D" - STRING_HELP +{ + 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_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_YES_CHAR, "D" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "T" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "D" + + STRING_HELP, "XCOPY - Copiază fișiere sau arbori de directoare sursă într-o destinație.\n\ \n\ Sintaxă:\n\ @@ -51,4 +52,5 @@ XCOPY sursă [destinație] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\ \t\tspecificată. Dacă nu este specificată nici o dată, copiază\n\ \t\tnumai dacă fișierul destinație este mai vechi decât fișierul\n\ \t\tsursă.\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/Ru.rc b/base/applications/cmdutils/xcopy/lang/Ru.rc index cf5f315ac95..e4aff4f3ba4 100644 --- a/base/applications/cmdutils/xcopy/lang/Ru.rc +++ b/base/applications/cmdutils/xcopy/lang/Ru.rc @@ -1,27 +1,28 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_INVPARMS "Недопустимое число параметров - попробуйте 'xcopy /?' для получения\n\ +{ + STRING_INVPARMS, "Недопустимое число параметров - попробуйте 'xcopy /?' для получения\n\ подробного описания.\n" - STRING_INVPARM "Недопустимый параметр '%1' - попробуйте 'xcopy /?' для получения подробного\n\ + STRING_INVPARM, "Недопустимый параметр '%1' - попробуйте 'xcopy /?' для получения подробного\n\ описания.\n" - STRING_PAUSE "Нажмите на клавишу , чтобы начать копирование.\n" - STRING_SIMCOPY "%1!d! файл(ов) было бы скопировано.\n" - STRING_COPY "%1!d! файл(ов) скопировано.\n" - STRING_QISDIR "'%1' является файлом или папкой?\n\ + STRING_PAUSE, "Нажмите на клавишу , чтобы начать копирование.\n" + STRING_SIMCOPY, "%1!d! файл(ов) было бы скопировано.\n" + STRING_COPY, "%1!d! файл(ов) скопировано.\n" + STRING_QISDIR, "'%1' является файлом или папкой?\n\ (F - Файл, D - Папка)\n" - STRING_SRCPROMPT "%1? (Yes|No)\n" - STRING_OVERWRITE "Переписать %1? (Yes|No|All)\n" - STRING_COPYFAIL "При копировании '%1' в '%2' произошла ошибка: %3!d!\n" - STRING_OPENFAIL "Невозможно открыть '%1'\n" - STRING_READFAIL "При чтении '%1' произошла ошибка\n" - STRING_YES_CHAR "Y" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "A" - STRING_FILE_CHAR "F" - STRING_DIR_CHAR "D" - STRING_HELP + STRING_SRCPROMPT,"%1? (Yes|No)\n" + STRING_OVERWRITE,"Переписать %1? (Yes|No|All)\n" + STRING_COPYFAIL, "При копировании '%1' в '%2' произошла ошибка: %3!d!\n" + STRING_OPENFAIL, "Невозможно открыть '%1'\n" + STRING_READFAIL, "При чтении '%1' произошла ошибка\n" + STRING_YES_CHAR, "Y" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "A" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "D" + + STRING_HELP, "Копирование файлов и структур каталогов.\n\ \n\ Синтаксис:\n\ @@ -54,4 +55,5 @@ XCOPY источник [целевой_объект] [/I] [/S] [/Q] [/F] [/L] [/ /D | /D:m-d-y Копирование файлов, измененных не ранее указанной даты.\n\ Если дата не указана, заменяются только конечные файлы,\n\ более старые, чем исходные.\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/Si.rc b/base/applications/cmdutils/xcopy/lang/Si.rc index 728113f096b..4673100b28e 100644 --- a/base/applications/cmdutils/xcopy/lang/Si.rc +++ b/base/applications/cmdutils/xcopy/lang/Si.rc @@ -1,26 +1,27 @@ LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_INVPARMS "Neveljavno število parametrov - za pomoč uporabite xcopy /?\n" - STRING_INVPARM "Neveljaven parameter '%1' - za pomoč uporabite xcopy /?\n" - STRING_PAUSE "Za začetek kopiranja pritisnite \n" - STRING_SIMCOPY "Prekopiral bom %1!d! datotek\n" - STRING_COPY "Prekopiral sem %1!d! datotek\n" - STRING_QISDIR "Ali je '%1' ime ciljne datoteke\n\ +{ + STRING_INVPARMS, "Neveljavno število parametrov - za pomoč uporabite xcopy /?\n" + STRING_INVPARM, "Neveljaven parameter '%1' - za pomoč uporabite xcopy /?\n" + STRING_PAUSE, "Za začetek kopiranja pritisnite \n" + STRING_SIMCOPY, "Prekopiral bom %1!d! datotek\n" + STRING_COPY, "Prekopiral sem %1!d! datotek\n" + STRING_QISDIR, "Ali je '%1' ime ciljne datoteke\n\ ali mape?\n\ (D - Datoteka, M - Mapa)\n" - STRING_SRCPROMPT "%1? (Da|Ne)\n" - STRING_OVERWRITE "Ali naj prepišem %1? (Da|Ne|Vse)\n" - STRING_COPYFAIL "Kopiranje '%1' v '%2' ni uspelo (koda napake: %3!d!)\n" - STRING_OPENFAIL "Napaka pri odpiranju '%1'\n" - STRING_READFAIL "Napaka pri branju '%1'\n" - STRING_YES_CHAR "D" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "V" - STRING_FILE_CHAR "D" - STRING_DIR_CHAR "M" - STRING_HELP + STRING_SRCPROMPT,"%1? (Da|Ne)\n" + STRING_OVERWRITE,"Ali naj prepišem %1? (Da|Ne|Vse)\n" + STRING_COPYFAIL, "Kopiranje '%1' v '%2' ni uspelo (koda napake: %3!d!)\n" + STRING_OPENFAIL, "Napaka pri odpiranju '%1'\n" + STRING_READFAIL, "Napaka pri branju '%1'\n" + STRING_YES_CHAR, "D" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "V" + STRING_FILE_CHAR,"D" + STRING_DIR_CHAR, "M" + + STRING_HELP, "XCOPY - kopira navedene izvorne datoteke oz. mape v naveden cilj\n\ \n\ Sintaksa:\n\ @@ -52,4 +53,5 @@ Where:\n\ [/D | /D:m-d-y] Kopiraj datoteke, ustvarjene ali spremenjene po navedenem datumu.\n\ \t\tČe datum ni podan, gre za kopiranje datotek, katerih obstoječi cilj je\n\ \t\tod izvora\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/Sq.rc b/base/applications/cmdutils/xcopy/lang/Sq.rc index c96a7403823..57bef2bf69f 100644 --- a/base/applications/cmdutils/xcopy/lang/Sq.rc +++ b/base/applications/cmdutils/xcopy/lang/Sq.rc @@ -5,26 +5,27 @@ LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_INVPARMS "I pavlershem numri i parametrave - perdor xcopy /? per ndihmë\n" - STRING_INVPARM "Parametra te pavlershme '%1' - perdor xcopy /? per ndihmë\n" - STRING_PAUSE "Shtyp per të kopjuar\n" - STRING_SIMCOPY "%1!d! dokumenta(t) do të kopjohen\n" - STRING_COPY "%1!d! dokumenta(t) u kopjuan\n" - STRING_QISDIR "është '%1' një dokument ose skedare\n\ +{ + STRING_INVPARMS, "I pavlershem numri i parametrave - perdor xcopy /? per ndihmë\n" + STRING_INVPARM, "Parametra te pavlershme '%1' - perdor xcopy /? per ndihmë\n" + STRING_PAUSE, "Shtyp per të kopjuar\n" + STRING_SIMCOPY, "%1!d! dokumenta(t) do të kopjohen\n" + STRING_COPY, "%1!d! dokumenta(t) u kopjuan\n" + STRING_QISDIR, "është '%1' një dokument ose skedare\n\ në ogjekt?\n\ (F - Dokument, D - Skedë)\n" - STRING_SRCPROMPT "%1? (Po|Jo)\n" - STRING_OVERWRITE "Overwrite %1? (Po|Jo|Të gjith)\n" - STRING_COPYFAIL "Kopje e '%1' në '%2' dështuar me r/c %3!d!\n" - STRING_OPENFAIL "Dështuar per tu hapur '%1'\n" - STRING_READFAIL "Dështuar duke lexuar në '%1'\n" - STRING_YES_CHAR "P" - STRING_NO_CHAR "J" - STRING_ALL_CHAR "T" - STRING_FILE_CHAR "D" - STRING_DIR_CHAR "S" - STRING_HELP + STRING_SRCPROMPT,"%1? (Po|Jo)\n" + STRING_OVERWRITE,"Overwrite %1? (Po|Jo|Të gjith)\n" + STRING_COPYFAIL, "Kopje e '%1' në '%2' dështuar me r/c %3!d!\n" + STRING_OPENFAIL, "Dështuar per tu hapur '%1'\n" + STRING_READFAIL, "Dështuar duke lexuar në '%1'\n" + STRING_YES_CHAR, "P" + STRING_NO_CHAR, "J" + STRING_ALL_CHAR, "T" + STRING_FILE_CHAR,"D" + STRING_DIR_CHAR, "S" + + STRING_HELP, "XCOPY - Copies source files or directory trees to a destination\n\ \n\ Syntax:\n\ @@ -56,4 +57,5 @@ Where:\n\ [/D | /D:m-d-y] Kopjo dokumentët e ri ose modifiko ato pas datës së furnizuar.\n\ \t\tNëse asnjë datë është paraqitur, vetëm kopjoni nëse destinacioni është i vjetër\n\ \t\tse burimi\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/Sr.rc b/base/applications/cmdutils/xcopy/lang/Sr.rc index 3e9c3f94816..e8116bf5883 100644 --- a/base/applications/cmdutils/xcopy/lang/Sr.rc +++ b/base/applications/cmdutils/xcopy/lang/Sr.rc @@ -1,26 +1,27 @@ LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC STRINGTABLE -BEGIN - STRING_INVPARMS "Неисправан број параметара. Користите xcopy /? за помоћ\n" - STRING_INVPARM "Неисправан параметар „%1“. Користите xcopy /? за помоћ\n" - STRING_PAUSE "Притисните да започнете умножавање\n" - STRING_SIMCOPY "%1!d! датотека/е ће бити уможено\n" - STRING_COPY "%1!d! датотека/е је умножено\n" - STRING_QISDIR "Да ли је „%1“ назив датотеке или фасцикла\n\ +{ + STRING_INVPARMS, "Неисправан број параметара. Користите xcopy /? за помоћ\n" + STRING_INVPARM, "Неисправан параметар „%1“. Користите xcopy /? за помоћ\n" + STRING_PAUSE, "Притисните да започнете умножавање\n" + STRING_SIMCOPY, "%1!d! датотека/е ће бити уможено\n" + STRING_COPY, "%1!d! датотека/е је умножено\n" + STRING_QISDIR, "Да ли је „%1“ назив датотеке или фасцикла\n\ на одредишту?\n\ (Д - датотека, Ф - фасцикла)\n" - STRING_SRCPROMPT "%1? (Да|Не)\n" - STRING_OVERWRITE "Заменити %1? (Да|Не|Све)\n" - STRING_COPYFAIL "Умножавање „%1“ у „%2“ није успело са r/c %3!d!\n" - STRING_OPENFAIL "Отварање „%1“ датотеке није успело\n" - STRING_READFAIL "Читање „%1“ датотеке није успело\n" - STRING_YES_CHAR "Д" - STRING_NO_CHAR "Н" - STRING_ALL_CHAR "С" - STRING_FILE_CHAR "Д" - STRING_DIR_CHAR "Ф" - STRING_HELP + STRING_SRCPROMPT,"%1? (Да|Не)\n" + STRING_OVERWRITE,"Заменити %1? (Да|Не|Све)\n" + STRING_COPYFAIL, "Умножавање „%1“ у „%2“ није успело са r/c %3!d!\n" + STRING_OPENFAIL, "Отварање „%1“ датотеке није успело\n" + STRING_READFAIL, "Читање „%1“ датотеке није успело\n" + STRING_YES_CHAR, "Д" + STRING_NO_CHAR, "Н" + STRING_ALL_CHAR, "С" + STRING_FILE_CHAR,"Д" + STRING_DIR_CHAR, "Ф" + + STRING_HELP, "XCOPY — умножава изворне датотеке или гране фасцикли у одредиште\n\ \n\ Синтакса:\n\ @@ -52,31 +53,33 @@ XCOPY извор [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\ [/D | /D:m-d-y] Умножи нове или измењене датотеке након одређеног датума.\n\ \t\tАко датум није унесен, умножи само ако је одредиште старије\n\ \t\tод извора\n\n" -END + +} LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_LATIN STRINGTABLE -BEGIN - STRING_INVPARMS "Neispravan broj parametara. Koristite xcopy /? za pomoć\n" - STRING_INVPARM "Neispravan parametar „%1“. Koristite xcopy /? za pomoć\n" - STRING_PAUSE "Pritisnite da započnete umnožavanje\n" - STRING_SIMCOPY "%1!d! datoteka/e će biti umoženo\n" - STRING_COPY "%1!d! datoteka/e je umnoženo\n" - STRING_QISDIR "Da li je „%1“ naziv datoteke ili fascikla\n\ +{ + STRING_INVPARMS, "Neispravan broj parametara. Koristite xcopy /? za pomoć\n" + STRING_INVPARM, "Neispravan parametar „%1“. Koristite xcopy /? za pomoć\n" + STRING_PAUSE, "Pritisnite da započnete umnožavanje\n" + STRING_SIMCOPY, "%1!d! datoteka/e će biti umoženo\n" + STRING_COPY, "%1!d! datoteka/e je umnoženo\n" + STRING_QISDIR, "Da li je „%1“ naziv datoteke ili fascikla\n\ na odredištu?\n\ (D - datoteka, F - fascikla)\n" - STRING_SRCPROMPT "%1? (Da|Ne)\n" - STRING_OVERWRITE "Zameniti %1? (Da|Ne|Sve)\n" - STRING_COPYFAIL "Umnožavanje „%1“ u „%2“ nije uspelo sa r/c %3!d!\n" - STRING_OPENFAIL "Otvaranje „%1“ datoteke nije uspelo\n" - STRING_READFAIL "Čitanje „%1“ datoteke nije uspelo\n" - STRING_YES_CHAR "D" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "S" - STRING_FILE_CHAR "D" - STRING_DIR_CHAR "F" - STRING_HELP + STRING_SRCPROMPT,"%1? (Da|Ne)\n" + STRING_OVERWRITE,"Zameniti %1? (Da|Ne|Sve)\n" + STRING_COPYFAIL, "Umnožavanje „%1“ u „%2“ nije uspelo sa r/c %3!d!\n" + STRING_OPENFAIL, "Otvaranje „%1“ datoteke nije uspelo\n" + STRING_READFAIL, "Čitanje „%1“ datoteke nije uspelo\n" + STRING_YES_CHAR, "D" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "S" + STRING_FILE_CHAR,"D" + STRING_DIR_CHAR, "F" + + STRING_HELP, "XCOPY — umnožava izvorne datoteke ili grane fascikli u odredište\n\ \n\ Sintaksa:\n\ @@ -108,4 +111,5 @@ Gde:\n\ [/D | /D:m-d-y] Umnoži nove ili izmenjene datoteke nakon određenog datuma.\n\ \t\tAko datum nije unesen, umnoži samo ako je odredište starije\n\ \t\tod izvora\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/Sv.rc b/base/applications/cmdutils/xcopy/lang/Sv.rc index 788fb022378..ee929d52cd0 100644 --- a/base/applications/cmdutils/xcopy/lang/Sv.rc +++ b/base/applications/cmdutils/xcopy/lang/Sv.rc @@ -1,24 +1,25 @@ LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL STRINGTABLE -BEGIN - STRING_INVPARMS "Ogiltigt antal parametrar - Använd xcopy /? för hjälp\n" - STRING_INVPARM "Ogiltig parameter '%1' - Använd xcopy /? för hjälp\n" - STRING_PAUSE "Tryck för att börja kopiera\n" - STRING_SIMCOPY "%1!d! fil(er) skulle kopieras\n" - STRING_COPY "%1!d! fil(er) kopierade\n" - STRING_QISDIR "Är '%1' ett filnamn eller en katalog\npå målet?\n(F - Fil, K - Katalog)\n" - STRING_SRCPROMPT "%1? (Ja|Nej)\n" - STRING_OVERWRITE "Skriv över %1? (Ja|Nej|Alla)\n" - STRING_COPYFAIL "Kunde inte kopiera '%1' till '%2'; misslyckades med r/c %3!d!\n" - STRING_OPENFAIL "Kunde inte öppna '%1'\n" - STRING_READFAIL "Kunde inte läsa '%1'\n" - STRING_YES_CHAR "J" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "A" - STRING_FILE_CHAR "F" - STRING_DIR_CHAR "K" - STRING_HELP +{ + STRING_INVPARMS, "Ogiltigt antal parametrar - Använd xcopy /? för hjälp\n" + STRING_INVPARM, "Ogiltig parameter '%1' - Använd xcopy /? för hjälp\n" + STRING_PAUSE, "Tryck för att börja kopiera\n" + STRING_SIMCOPY, "%1!d! fil(er) skulle kopieras\n" + STRING_COPY, "%1!d! fil(er) kopierade\n" + STRING_QISDIR, "Är '%1' ett filnamn eller en katalog\npå målet?\n(F - Fil, K - Katalog)\n" + STRING_SRCPROMPT,"%1? (Ja|Nej)\n" + STRING_OVERWRITE,"Skriv över %1? (Ja|Nej|Alla)\n" + STRING_COPYFAIL, "Kunde inte kopiera '%1' till '%2'; misslyckades med r/c %3!d!\n" + STRING_OPENFAIL, "Kunde inte öppna '%1'\n" + STRING_READFAIL, "Kunde inte läsa '%1'\n" + STRING_YES_CHAR, "J" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "A" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "K" + + STRING_HELP, "XCOPY - Kopierar källfiler eller katalogträd till ett mål\n\ \n\ Syntax:\n\ @@ -50,4 +51,5 @@ Där:\n\ [/D | /D:m-d-y] Kopiera nya filer eller de ändrade efter angivet datum.\n\ \t\tOm inget datum angivits utförs endast kopiering om målet är\n\ \t\täldre än källan\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/lang/Uk.rc b/base/applications/cmdutils/xcopy/lang/Uk.rc index 3ba796a6d65..22403e44168 100644 --- a/base/applications/cmdutils/xcopy/lang/Uk.rc +++ b/base/applications/cmdutils/xcopy/lang/Uk.rc @@ -1,25 +1,26 @@ LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT STRINGTABLE -BEGIN - STRING_INVPARMS "Невірна кількість параметрів - Введіть xcopy /? для довідки\n" - STRING_INVPARM "Невірний параметр '%1' - Введіть xcopy /? для довідки\n" - STRING_PAUSE "Натисніть щоб почати копіювання\n" - STRING_SIMCOPY "%1!d! файл(ів) буде скопійовано\n" - STRING_COPY "%1!d! файл(ів) скопійовано\n" - STRING_QISDIR "'%1' є файлом чи директорією?\n\ +{ + STRING_INVPARMS, "Невірна кількість параметрів - Введіть xcopy /? для довідки\n" + STRING_INVPARM, "Невірний параметр '%1' - Введіть xcopy /? для довідки\n" + STRING_PAUSE, "Натисніть щоб почати копіювання\n" + STRING_SIMCOPY, "%1!d! файл(ів) буде скопійовано\n" + STRING_COPY, "%1!d! файл(ів) скопійовано\n" + STRING_QISDIR, "'%1' є файлом чи директорією?\n\ (F - Файл, D - Директорія)\n" - STRING_SRCPROMPT "%1? (Yes|No)\n" - STRING_OVERWRITE "Переписати %1? (Yes|No|All)\n" - STRING_COPYFAIL "Під час копіювання '%1' в '%2' сталась помилка r/c %3!d!\n" - STRING_OPENFAIL "Не вдалось відкрити '%1'\n" - STRING_READFAIL "Помилка читання '%1'\n" - STRING_YES_CHAR "Y" - STRING_NO_CHAR "N" - STRING_ALL_CHAR "A" - STRING_FILE_CHAR "F" - STRING_DIR_CHAR "D" - STRING_HELP + STRING_SRCPROMPT,"%1? (Yes|No)\n" + STRING_OVERWRITE,"Переписати %1? (Yes|No|All)\n" + STRING_COPYFAIL, "Під час копіювання '%1' в '%2' сталась помилка r/c %3!d!\n" + STRING_OPENFAIL, "Не вдалось відкрити '%1'\n" + STRING_READFAIL, "Помилка читання '%1'\n" + STRING_YES_CHAR, "Y" + STRING_NO_CHAR, "N" + STRING_ALL_CHAR, "A" + STRING_FILE_CHAR,"F" + STRING_DIR_CHAR, "D" + + STRING_HELP, "XCOPY - Копіює файли та дерева директорій за призначенням\n\ \n\ Синтаксис:\n\ @@ -51,4 +52,5 @@ XCOPY source [dest] [/I] [/S] [/Q] [/F] [/L] [/W] [/T] [/N] [/U]\n\ [/D | /D:m-d-y] Копіює лише нові файли або ті, які були змінені після вказаної\n\ дати. Якщо дата не вказана, копіює лише ті файли, які новіші\n\ в початковій папці\n\n" -END + +} diff --git a/base/applications/cmdutils/xcopy/xcopy.c b/base/applications/cmdutils/xcopy/xcopy.c index 1f2a3b73381..d9c9b37465a 100644 --- a/base/applications/cmdutils/xcopy/xcopy.c +++ b/base/applications/cmdutils/xcopy/xcopy.c @@ -119,7 +119,7 @@ static int __cdecl XCOPY_wprintf(const WCHAR *format, ...) { */ if (!output_bufW) output_bufW = HeapAlloc(GetProcessHeap(), 0, - MAX_WRITECONSOLE_SIZE); + MAX_WRITECONSOLE_SIZE*sizeof(WCHAR)); if (!output_bufW) { WINE_FIXME("Out of memory - could not allocate 2 x 64K buffers\n"); return 0; @@ -667,7 +667,7 @@ static WCHAR *skip_whitespace(WCHAR *p) Example: 'XCOPY "c:\DIR A" "c:DIR B\"' is OK. */ static int find_end_of_word(const WCHAR *word, WCHAR **end) { - BOOL in_quotes = 0; + BOOL in_quotes = FALSE; const WCHAR *ptr = word; for (;;) { for (; *ptr != '\0' && *ptr != '"' && @@ -783,19 +783,20 @@ static int XCOPY_ParseCommandLine(WCHAR *suppliedsource, BOOL isError = FALSE; memset(&st, 0x00, sizeof(st)); - /* Parse the arg : Month */ + /* Microsoft xcopy's usage message implies that the date + * format depends on the locale, but that is false. + * It is hardcoded to month-day-year. + */ st.wMonth = _wtol(pos); while (*pos && isdigit(*pos)) pos++; if (*pos++ != '-') isError = TRUE; - /* Parse the arg : Day */ if (!isError) { st.wDay = _wtol(pos); while (*pos && isdigit(*pos)) pos++; if (*pos++ != '-') isError = TRUE; } - /* Parse the arg : Year */ if (!isError) { st.wYear = _wtol(pos); while (*pos && isdigit(*pos)) pos++; diff --git a/base/applications/cmdutils/xcopy/xcopy.h b/base/applications/cmdutils/xcopy/xcopy.h index cd4dad8bdb2..d18f52ca66a 100644 --- a/base/applications/cmdutils/xcopy/xcopy.h +++ b/base/applications/cmdutils/xcopy/xcopy.h @@ -54,20 +54,20 @@ #define MAXSTRING 8192 /* Translation ids */ -#define STRING_INVPARMS 101 -#define STRING_INVPARM 102 -#define STRING_PAUSE 103 -#define STRING_SIMCOPY 104 -#define STRING_COPY 105 -#define STRING_QISDIR 106 -#define STRING_SRCPROMPT 107 -#define STRING_OVERWRITE 108 -#define STRING_COPYFAIL 109 -#define STRING_OPENFAIL 110 -#define STRING_READFAIL 111 -#define STRING_YES_CHAR 112 -#define STRING_NO_CHAR 113 -#define STRING_ALL_CHAR 114 -#define STRING_FILE_CHAR 115 -#define STRING_DIR_CHAR 116 -#define STRING_HELP 117 +#define STRING_INVPARMS 101 +#define STRING_INVPARM 102 +#define STRING_PAUSE 103 +#define STRING_SIMCOPY 104 +#define STRING_COPY 105 +#define STRING_QISDIR 106 +#define STRING_SRCPROMPT 107 +#define STRING_OVERWRITE 108 +#define STRING_COPYFAIL 109 +#define STRING_OPENFAIL 110 +#define STRING_READFAIL 111 +#define STRING_YES_CHAR 112 +#define STRING_NO_CHAR 113 +#define STRING_ALL_CHAR 114 +#define STRING_FILE_CHAR 115 +#define STRING_DIR_CHAR 116 +#define STRING_HELP 117 diff --git a/base/applications/dxdiag/lang/es-ES.rc b/base/applications/dxdiag/lang/es-ES.rc index e9e2d96f69c..0c9e39e7416 100644 --- a/base/applications/dxdiag/lang/es-ES.rc +++ b/base/applications/dxdiag/lang/es-ES.rc @@ -1,4 +1,4 @@ -/* Spanish Language resource file. Traducido por: Javier Remacha 2008 */ +/* Spanish Language resource file. Traducido por: Javier Remacha <2008> e Ismael Ferreras Morezuelas <2014> */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL @@ -19,10 +19,10 @@ IDD_SYSTEM_DIALOG DIALOGEX 0, 0, 462, 220 STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Esta herramienta reporta información detallada acerca de los componentes de ReactX y controladores instalados en su equipo.", -1, 10, 10, 443, 17 - LTEXT "Si sabe que área está causando el problema, presione la pestaña superior apropiada. Si no puede usar el botón ""Siguiente página"" para visitar las páginas en secuencia.", -1, 10, 30, 443, 25 + LTEXT "Esta herramienta informa detalladamente acerca de los componentes y controladores de ReactX instalados en su equipo.", -1, 10, 10, 443, 17 + LTEXT "Si sabe la causa del problema, presione la pestaña superior apropiada. De lo contrario, puede usar el botón ""Siguiente página"" para visitar las páginas en secuencia.", -1, 10, 30, 443, 25 GROUPBOX "Información del sistema ", -1, 10, 55, 443, 130, SS_RIGHT - LTEXT "Fecha/hora actual:", -1, 70, 70, 80, 10, SS_RIGHT + LTEXT "Fecha y hora actual:", -1, 70, 70, 80, 10, SS_RIGHT LTEXT "Nombre del equipo:", -1, 70, 80, 80, 10, SS_RIGHT LTEXT "Sistema operativo:", -1, 70, 90, 80, 10, SS_RIGHT LTEXT "Idioma:", -1, 70, 100, 80, 10, SS_RIGHT @@ -50,11 +50,11 @@ IDD_DISPLAY_DIALOG DIALOGEX 0, 0, 462, 220 STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Dispositivo ", -1, 10, 10, 250, 100 + GROUPBOX "Dispositivo", -1, 10, 10, 250, 100 RTEXT "Nombre:", -1, 20, 25, 70, 10 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 "Tipo de chip:", -1, 20, 45, 70, 10 + RTEXT "Tipo de DAC:", -1, 20, 55, 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 @@ -65,13 +65,13 @@ BEGIN LTEXT "", IDC_STATIC_ADAPTER_MEM, 95, 65, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_MODE, 95, 75, 150, 10 LTEXT "", IDC_STATIC_ADAPTER_MONITOR, 95, 85, 150, 10 - GROUPBOX "Controlador ", -1, 270, 10, 190, 100 + GROUPBOX "Controladores ", -1, 270, 10, 190, 100 RTEXT "Controlador:", -1, 275, 25, 55, 10 RTEXT "Versión:", -1, 275, 35, 55, 10 RTEXT "Fecha:", -1, 275, 45, 55, 10 - RTEXT "WHQL-Logo:", -1, 275, 55, 55, 10 + RTEXT "Logo WHQL:", -1, 275, 55, 55, 10 RTEXT "Mini-VDD:", -1, 275, 65, 55, 10 - RTEXT " vvdddVDD:", -1, 275, 75, 55, 10 + RTEXT "vvdddVDD:", -1, 275, 75, 55, 10 RTEXT "Versión DDI:", -1, 275, 85, 55, 10 LTEXT "", IDC_STATIC_ADAPTER_DRIVER, 335, 35, 100, 10 LTEXT "", IDC_STATIC_ADAPTER_VERSION, 335, 35, 100, 10 @@ -82,16 +82,16 @@ BEGIN LTEXT "", IDC_STATIC_ADAPTER_DDI, 335, 85, 100, 10 GROUPBOX "Características ReactX ", -1, 10, 115, 450, 60 RTEXT "Aceleración DirectDraw:", -1, 15, 130, 110, 12 - RTEXT "AceleraciónDirect3D:", -1, 15, 145, 110, 12 + RTEXT "Aceleración Direct3D:", -1, 15, 145, 110, 12 RTEXT "Aceleración texturas AGP:", -1, 15, 160, 110, 12 LTEXT "", IDC_STATIC_DDSTATE, 130, 130, 40, 10 LTEXT "", IDC_STATIC_D3DSTATE, 130, 145, 40, 10 LTEXT "", IDC_STATIC_AGPSTATE, 130, 160, 40, 10 - PUSHBUTTON "Permita", IDC_BUTTON_DDRAW, 170, 124, 60, 14, WS_DISABLED - PUSHBUTTON "Permita", IDC_BUTTON_D3D, 170, 140, 60, 14, WS_DISABLED - PUSHBUTTON "Permita", IDC_BUTTON_AGP, 170, 156, 60, 14, WS_DISABLED - PUSHBUTTON "Test DirectDraw", IDC_BUTTON_TESTDD, 250, 124, 80, 14 - PUSHBUTTON "Test Direct3D", IDC_BUTTON_TEST3D, 250, 140, 80, 14 + PUSHBUTTON "Habilitar", IDC_BUTTON_DDRAW, 170, 124, 60, 14, WS_DISABLED + PUSHBUTTON "Habilitar", IDC_BUTTON_D3D, 170, 140, 60, 14, WS_DISABLED + PUSHBUTTON "Habilitar", IDC_BUTTON_AGP, 170, 156, 60, 14, WS_DISABLED + PUSHBUTTON "Probar DirectDraw", IDC_BUTTON_TESTDD, 250, 124, 80, 14 + PUSHBUTTON "Probar Direct3D", IDC_BUTTON_TEST3D, 250, 140, 80, 14 GROUPBOX "Notas ", -1, 10, 180, 450, 40 EDITTEXT IDC_TEXT_INFO, 20, 192, 432, 20, WS_DISABLED | WS_TABSTOP END @@ -117,7 +117,7 @@ BEGIN RTEXT "Nombre:", -1, 275, 25, 55, 10 RTEXT "Versión:", -1, 275, 35, 55, 10 RTEXT "Fecha:", -1, 275, 45, 55, 10 - RTEXT "WHQL-Logo:", -1, 275, 55, 55, 10 + RTEXT "Logo WHQL:", -1, 275, 55, 55, 10 RTEXT "Otros archivos:", -1, 275, 65, 55, 10 RTEXT "Proveedor:", -1, 275, 75, 55, 10 LTEXT "", IDC_STATIC_DSOUND_DRIVER, 335, 25, 100, 10 @@ -129,7 +129,7 @@ BEGIN GROUPBOX "Características ReactX ", -1, 10, 115, 450, 60 CONTROL "", IDC_SLIDER_DSOUND, "msctls_trackbar32", TBS_BOTTOM | TBS_AUTOTICKS | WS_TABSTOP, 120, 135, 80, 17 RTEXT "Sonido Hardware\nNivel de aceleración:", -1, 20, 135, 90, 20 - PUSHBUTTON "Test DirectSound", IDC_BUTTON_TESTDSOUND, 270, 134, 80, 14 + PUSHBUTTON "Probar DirectSound", IDC_BUTTON_TESTDSOUND, 270, 134, 80, 14 GROUPBOX "Notas", -1, 10, 180, 450, 40 EDITTEXT IDC_TEXT_DSOUNDINFO, 20, 192, 432, 20, WS_DISABLED | WS_TABSTOP END @@ -157,7 +157,7 @@ IDD_NETWORK_DIALOG DIALOGEX 0, 0, 462, 220 STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Proveedores servicios DirectPlay registrados", -1, 10, 10, 452, 80 + GROUPBOX "Proveedores de servicios DirectPlay registrados", -1, 10, 10, 452, 80 CONTROL "", IDC_LIST_PROVIDER, "SysListView32", LVS_REPORT | WS_CHILD | WS_BORDER | WS_TABSTOP, 20, 22, 432, 60 END @@ -190,7 +190,7 @@ BEGIN IDS_DEVICE_CONTROLLER "ID del controlador" IDS_DEVICE_MANUFACTURER "ID del fabricante" IDS_DEVICE_PRODUCT "ID del producto" - IDS_DEVICE_FORCEFEEDBACK "Forzar recuperación del controlador" + IDS_DEVICE_FORCEFEEDBACK "Controlador de vibración" IDS_NOT_APPLICABLE "n/a" IDS_OPTION_YES "Sí" IDS_DIRECTPLAY_COL_NAME1 "Nombre" @@ -207,17 +207,17 @@ BEGIN IDS_DIRECTPLAY_SERIALCONN "Conexión serie para DirectPlay" IDS_REG_SUCCESS "Aceptar" IDS_REG_FAIL "Error" - IDS_DDTEST_ERROR "¡El test ha fallado!" - IDS_DDTEST_DESCRIPTION "Va ha comenzar el test de interface DirecDraw. ¿Desea continuar?" - IDS_DDPRIMARY_DESCRIPTION "Este test usará DirectDraw para dibujar en la pantalla principal. Deben dibujarse rectángulos blancos y negros. ¿Desea continuar?" + IDS_DDTEST_ERROR "¡La prueba ha fallado!" + IDS_DDTEST_DESCRIPTION "Va ha comenzar la prueba del interfaz DirecDraw. ¿Desea continuar?" + IDS_DDPRIMARY_DESCRIPTION "Esta prueba usará DirectDraw para dibujar en la pantalla principal. Deben aparecer rectángulos blancos y negros. ¿Desea continuar?" IDS_DDPRIMARY_RESULT "¿Ve rectángulos blancos y negros?" - IDS_DDOFFSCREEN_DESCRIPTION "Este test usará DirectDraw para dibujar en pantalla. Un rectángulo blanco moviendose debe dibujarse. ¿Desea continuar?" + IDS_DDOFFSCREEN_DESCRIPTION "Esta prueba usará DirectDraw para dibujar en pantalla. Debe aparecer un rectángulo blanco en movimiento. ¿Desea continuar?" IDS_DDOFFSCREEN_RESULT "¿Ve un rectángulo blanco moviendose?" - IDS_DDFULLSCREEN_DESCRIPTION "Este test usará DirectDraw para dibujar en pantalla completa. Un rectángulo blanco moviendose debe dibujarse. ¿Desea continuar?" - IDS_DDFULLSCREEN_RESULT "¿Ve un rectángulo blanco moviendose en pantalla completa?" + IDS_DDFULLSCREEN_DESCRIPTION "Esta prueba usará DirectDraw para dibujar en pantalla completa. Debe aparecer un rectángulo blanco en movimiento. ¿Desea continuar?" + IDS_DDFULLSCREEN_RESULT "¿Ve un rectángulo blanco moviéndose en pantalla completa?" IDS_FORMAT_ADAPTER_MEM "%u MB" IDS_FORMAT_ADAPTER_MODE "%04u x %04u (%u bit)(%uHz)" IDS_OPTION_NO "No" - IDS_D3DTEST_DESCRIPTION "This will start Direct3D interface test. Continue?" - IDS_D3DTEST_D3Dx "This test will use hardware-accelerated Direct3D %u interface." + IDS_D3DTEST_DESCRIPTION "Va a comenzar la prueba del interfaz Direct3D. ¿Desea continuar?" + IDS_D3DTEST_D3Dx "Esta prueba utilizará un interfaz Direct3D %u acelerado por hardware." END diff --git a/base/applications/dxdiag/lang/ru-RU.rc b/base/applications/dxdiag/lang/ru-RU.rc index a8aa8236f71..df780b60b05 100644 --- a/base/applications/dxdiag/lang/ru-RU.rc +++ b/base/applications/dxdiag/lang/ru-RU.rc @@ -185,9 +185,9 @@ BEGIN IDS_DEVICE_STATUS_UNKNOWN "Неизвестно" IDS_DEVICE_NAME "Имя устройства" IDS_DEVICE_STATUS "Состояние" - IDS_DEVICE_CONTROLLER "ID контроллера" - IDS_DEVICE_MANUFACTURER "ID производителя" - IDS_DEVICE_PRODUCT "ID продукта" + IDS_DEVICE_CONTROLLER "Код контроллера" + IDS_DEVICE_MANUFACTURER "Код производителя" + IDS_DEVICE_PRODUCT "Код продукта" IDS_DEVICE_FORCEFEEDBACK "Драйвер Force Feedback" IDS_NOT_APPLICABLE "Н/Д" IDS_OPTION_YES "Да" @@ -213,7 +213,7 @@ BEGIN IDS_DDOFFSCREEN_RESULT "Вы видели двигающийся белый квадратик?" IDS_DDFULLSCREEN_DESCRIPTION "В этом тесте будет проверена возможность рисования DirectDraw в полноэкранном режиме. Должен быть виден двигающийся белый квадратик. Продолжить?" IDS_DDFULLSCREEN_RESULT "Вы видели белый двигающийся квадратик в полноэкранном режиме?" - IDS_FORMAT_ADAPTER_MEM "%u Мб" + IDS_FORMAT_ADAPTER_MEM "%u МБ" IDS_FORMAT_ADAPTER_MODE "%04u x %04u (%u бит)(%uГц)" IDS_OPTION_NO "Нет" IDS_D3DTEST_DESCRIPTION "Будет произведена проверка Direct3D на этом устройстве. Продолжить?" diff --git a/base/applications/dxdiag/lang/tr-TR.rc b/base/applications/dxdiag/lang/tr-TR.rc index dd76fcd5ec9..300fd8a916b 100644 --- a/base/applications/dxdiag/lang/tr-TR.rc +++ b/base/applications/dxdiag/lang/tr-TR.rc @@ -11,7 +11,7 @@ BEGIN CONTROL "Tab1", IDC_TAB_CONTROL, "SysTabControl32", WS_TABSTOP, 2, 2, 474, 250 PUSHBUTTON "&Yardım", IDC_BUTTON_HELP, 2, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP DEFPUSHBUTTON "&Sonraki Bölüm", IDC_BUTTON_NEXT, 257, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP - PUSHBUTTON "&Tüm Bilgileri Kaydet...", IDC_BUTTON_SAVE_INFO, 311, 261, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP + PUSHBUTTON "&Tüm Bilgileri Sakla...", IDC_BUTTON_SAVE_INFO, 311, 261, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP PUSHBUTTON "&Çıkış", IDC_BUTTON_EXIT, 425, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP END diff --git a/base/applications/findstr/lang/es-ES.rc b/base/applications/findstr/lang/es-ES.rc index ee65978dc45..0f7b3f912f8 100644 --- a/base/applications/findstr/lang/es-ES.rc +++ b/base/applications/findstr/lang/es-ES.rc @@ -1,13 +1,16 @@ +/* Spanish Language resource file. + * Translated by: ?? and Ismael Ferreras Morezuelas <2014-11-07> */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL STRINGTABLE BEGIN - IDS_USAGE "FIND: Imprime todas las líneas de un fichero que contiene una cadena.\n\n\ - FIND [ /C ] [ /I ] [ /N ] [ /V ] ""cadena"" [ fichero... ]\n\ + IDS_USAGE "FIND: Muestra todas las líneas de un archivo que contenga una cadena.\n\n\ + FIND [ /C ] [ /I ] [ /N ] [ /V ] ""cadena"" [ archivo... ]\n\ /C Cuenta el número de líneas que contienen la cadena de caracteres\n\ /I Ignora mayúsculas y minúsculas\n\ - /N Numero de líneas a mostrar en pantalla, a partir de la primera\n\ + /N Número de líneas a mostrar en pantalla, a partir de la primera\n\ /V Muestra las líneas que no contienen la cadena de caracteres." - IDS_NO_SUCH_FILE "FIND: %s: No se encontró el fichero\n" - IDS_CANNOT_OPEN "FIND: %s: No se pudo abrir el fichero\n" + IDS_NO_SUCH_FILE "FIND: %s: No se encontró el archivo\n" + IDS_CANNOT_OPEN "FIND: %s: No se pudo abrir el arvhivo\n" END diff --git a/base/applications/fontview/lang/es-ES.rc b/base/applications/fontview/lang/es-ES.rc index 2ce98b271ab..59dce1483e2 100644 --- a/base/applications/fontview/lang/es-ES.rc +++ b/base/applications/fontview/lang/es-ES.rc @@ -1,15 +1,15 @@ -/* Spanish language file by Javier Remacha <2007-09-21> */ +/* Spanish language file by Javier Remacha <2007-09-21> and Ismael Ferreras Morezuelas <2014-11-07> */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL STRINGTABLE BEGIN - IDS_INSTALL "Install" + IDS_INSTALL "Instalar" IDS_PRINT "Imprimir" - IDS_STRING "Haz el amor y no la guerra. 1234567890" - IDS_OPEN "Open Font..." + IDS_STRING "Jovencillo emponzoñado de whisky: ¡qué figurota exhibe! 1234567890" + IDS_OPEN "Abrir fuente..." IDS_ERROR "Error" IDS_ERROR_NOMEM "No hay memoria suficiente para completar la operación." - IDS_ERROR_NOFONT "El archivo %1 no es un archivo válido de fuente." - IDS_ERROR_NOCLASS "No es posible iniciar la clase." + IDS_ERROR_NOFONT "El archivo %1 no es un archivo de fuente válido." + IDS_ERROR_NOCLASS "No es posible iniciar la clase de ventana." END diff --git a/base/applications/fontview/lang/ru-RU.rc b/base/applications/fontview/lang/ru-RU.rc index 7cda19f3565..04981f6364c 100644 --- a/base/applications/fontview/lang/ru-RU.rc +++ b/base/applications/fontview/lang/ru-RU.rc @@ -6,10 +6,10 @@ STRINGTABLE BEGIN IDS_INSTALL "Установить" IDS_PRINT "Печать" - IDS_STRING "В чащах юга жил бы цитрус? Да, но фальшивый экземпляр! 1234567890" + IDS_STRING "Съешь же ещё этих мягких французских булок, да выпей чаю. 1234567890" IDS_OPEN "Открыть шрифт..." IDS_ERROR "Ошибка" - IDS_ERROR_NOMEM "Недостаточно памяти, чтобы завершить операцию." + IDS_ERROR_NOMEM "Недостаточно памяти для выполнения операции." IDS_ERROR_NOFONT "%1 не является корректным файлом шрифта." IDS_ERROR_NOCLASS "Невозможно инициализировать класс окна." END diff --git a/base/applications/fontview/lang/tr-TR.rc b/base/applications/fontview/lang/tr-TR.rc index 19755a4f403..f6cb3442d2d 100644 --- a/base/applications/fontview/lang/tr-TR.rc +++ b/base/applications/fontview/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT STRINGTABLE diff --git a/base/applications/games/solitaire/CMakeLists.txt b/base/applications/games/solitaire/CMakeLists.txt index 5172ccb304a..552812129b5 100644 --- a/base/applications/games/solitaire/CMakeLists.txt +++ b/base/applications/games/solitaire/CMakeLists.txt @@ -1,6 +1,5 @@ set_cpp(WITH_RUNTIME) - include_directories(${REACTOS_SOURCE_DIR}/lib/3rdparty/cardlib) list(APPEND SOURCE diff --git a/base/applications/games/solitaire/lang/es-ES.rc b/base/applications/games/solitaire/lang/es-ES.rc index 24a282d302f..3a3222a558f 100644 --- a/base/applications/games/solitaire/lang/es-ES.rc +++ b/base/applications/games/solitaire/lang/es-ES.rc @@ -5,6 +5,7 @@ * PURPOSE: Spanish Language File for Solitaire * PROGRAMMERS: Daniel "EmuandCo" Reimer (reimer.daniel@freenet.de) * ACTUALIZADO: Javier Remacha - 13/01/09 + * Ismael Ferreras Morezuelas - 2014/11/07 */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL @@ -17,21 +18,21 @@ CAPTION "Opciones" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Cartas", -1, 7, 7, 90, 40 - AUTORADIOBUTTON "Sacar &Una", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP - AUTORADIOBUTTON "Sacar &Tres", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 - GROUPBOX "Scoring", -1, 100, 7, 75, 53 - AUTORADIOBUTTON "&Standard", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "Sacar &una", IDC_OPT_DRAWONE, 14, 19, 70, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "Sacar &tres", IDC_OPT_DRAWTHREE, 14, 32, 70, 10 + GROUPBOX "Estilo de juego", -1, 100, 7, 75, 53 + AUTORADIOBUTTON "&Normal", IDC_OPT_STANDARD, 107, 19, 60, 10, WS_GROUP | WS_TABSTOP AUTORADIOBUTTON "&Vegas", IDC_OPT_VEGAS, 107, 32, 60, 10 - AUTORADIOBUTTON "&None", IDC_OPT_NOSCORE, 107, 45, 60, 10 + AUTORADIOBUTTON "&Sin puntuar", IDC_OPT_NOSCORE, 107, 45, 60, 10 AUTOCHECKBOX "&Mostrar tiempo", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP AUTOCHECKBOX "&Barra de estado", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP - AUTOCHECKBOX "&Keep Score", IDC_OPT_KEEPSCORE, 100, 66, 65, 10, WS_TABSTOP + AUTOCHECKBOX "&Mantener puntuación", IDC_OPT_KEEPSCORE, 100, 66, 83, 10, WS_TABSTOP DEFPUSHBUTTON "Aceptar", IDOK, 35, 97, 50, 14 PUSHBUTTON "Cancelar", IDCANCEL, 101, 97, 50, 14 END IDD_CARDBACK DIALOGEX 6, 6, 345, 185 -CAPTION "Seleccionar el reverso" +CAPTION "Selecciona el reverso de una carta" FONT 8, "MS Shell Dlg" STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT BEGIN @@ -48,20 +49,20 @@ BEGIN CONTROL "", IDC_CARDBACK11, "Static", SS_NOTIFY, 232, 89, 50, 71 CONTROL "", IDC_CARDBACK12, "Static", SS_NOTIFY, 289, 89, 50, 71 DEFPUSHBUTTON "Aceptar", IDOK, 114, 165, 54, 14 - PUSHBUTTON "Cancelar", IDCANCEL, 176, 165, 54, 14 + PUSHBUTTON "Cancelar", IDCANCEL, 176, 165, 54, 14 END /* Strings */ STRINGTABLE BEGIN - IDS_SOL_NAME "Solitario" - IDS_SOL_ABOUT "Solitario por J Brown\n\nCardLib version 1.0." - IDS_SOL_QUIT "¿Finalizar el juego actual?" - IDS_SOL_WIN "Felicidades, ¡¡Has ganado!!" - IDS_SOL_DEAL "¿Repartir de nuevo?" - IDS_SOL_SCORE "Score: %d" - IDS_SOL_TIME "Time: %d" + IDS_SOL_NAME "Solitario" + IDS_SOL_ABOUT "Solitario por J Brown\n\nCardLib versión 1.0." + IDS_SOL_QUIT "¿Salir del juego actual?" + IDS_SOL_WIN "¡Enhorabuena, has ganado!" + IDS_SOL_DEAL "¿Jugar de nuevo?" + IDS_SOL_SCORE "Puntuación: %d" + IDS_SOL_TIME "Tiempo: %d" END /* Menus */ @@ -77,7 +78,7 @@ BEGIN MENUITEM SEPARATOR MENUITEM "&Salir", IDM_GAME_EXIT END - POPUP "&Ayuda" + POPUP "Ay&uda" BEGIN MENUITEM "&Temas de ayuda\tF1", IDM_HELP_CONTENTS MENUITEM "&Acerca de", IDM_HELP_ABOUT diff --git a/base/applications/games/solitaire/lang/ro-RO.rc b/base/applications/games/solitaire/lang/ro-RO.rc index ed6a1f975ed..13e948f271d 100644 --- a/base/applications/games/solitaire/lang/ro-RO.rc +++ b/base/applications/games/solitaire/lang/ro-RO.rc @@ -4,7 +4,7 @@ * FILE: base/applications/games/solitaire/lang/ro-RO.rc * PURPOSE: Romanian Language File for Solitaire * TRANSLATORS: - * Petre Dumitriu + * Petru Dumitriu (petrimetri at gmail dot com) * Ștefan Fulea (stefan dot fulea at mail dot md) */ diff --git a/base/applications/games/spider/lang/es-ES.rc b/base/applications/games/spider/lang/es-ES.rc index a87e000132a..3d16fc8ae28 100644 --- a/base/applications/games/spider/lang/es-ES.rc +++ b/base/applications/games/spider/lang/es-ES.rc @@ -4,6 +4,7 @@ * FILE: base/applications/games/spider/lang/es-ES.rc * PURPOSE: Spanish Language File for Spider Solitaire * TRANSLATORS: Javier Fernandez & Gabriel ilardi + * PROOFREAD: Ismael Ferreras Morezuelas */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL @@ -11,7 +12,7 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL /* Dialogs */ IDD_CARDBACK DIALOGEX 6, 6, 345, 185 -CAPTION "Escoge Reverso de Carta" +CAPTION "Selecciona el reverso de una carta" FONT 8, "MS Shell Dlg" STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT BEGIN @@ -36,9 +37,9 @@ STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT CAPTION "Dificultad" FONT 8, "MS Shell Dlg" BEGIN - AUTORADIOBUTTON "Fácil: &Un Palo", IDC_DIF_ONECOLOR, 8, 10, 80, 10, WS_GROUP | WS_TABSTOP - AUTORADIOBUTTON "Medio: &Dos Palos", IDC_DIF_TWOCOLORS, 8, 23, 80, 10 - AUTORADIOBUTTON "Difícil: &Cuatro Palos", IDC_DIF_FOURCOLORS, 8, 36, 90, 10 + AUTORADIOBUTTON "Fácil: &Un palo", IDC_DIF_ONECOLOR, 8, 10, 80, 10, WS_GROUP | WS_TABSTOP + AUTORADIOBUTTON "Medio: &Dos palos", IDC_DIF_TWOCOLORS, 8, 23, 80, 10 + AUTORADIOBUTTON "Difícil: &Cuatro palos", IDC_DIF_FOURCOLORS, 8, 36, 90, 10 DEFPUSHBUTTON "Aceptar", IDOK, 8, 58, 40, 14 PUSHBUTTON "Cancelar", IDCANCEL, 58, 58, 40, 14 END @@ -48,9 +49,9 @@ END STRINGTABLE BEGIN IDS_SPI_NAME "Spider" - IDS_SPI_ABOUT "Solitario Spider por Gregor Schneider\n\nCardLib version 1.0" + IDS_SPI_ABOUT "Solitario Spider por Gregor Schneider\n\nCardLib versión 1.0" IDS_SPI_QUIT "¿Salir del juego actual?" - IDS_SPI_WIN "¡Enhorabuena, ganaste!" + IDS_SPI_WIN "¡Enhorabuena, has ganado!" IDS_SPI_DEAL "¿Jugar de nuevo?" END @@ -60,13 +61,13 @@ IDR_MENU1 MENU BEGIN POPUP "&Juego" BEGIN - MENUITEM "&Nuevo Juego\tF2", IDM_GAME_NEW + MENUITEM "&Nuevo juego\tF2", IDM_GAME_NEW MENUITEM SEPARATOR MENUITEM "&Mazo...", IDM_GAME_DECK MENUITEM SEPARATOR MENUITEM "&Salir", IDM_GAME_EXIT END - POPUP "&Ayuda" + POPUP "Ay&uda" BEGIN MENUITEM "&Contenidos\tF1", IDM_HELP_CONTENTS MENUITEM "&Acerca de", IDM_HELP_ABOUT diff --git a/base/applications/games/spider/lang/tr-TR.rc b/base/applications/games/spider/lang/tr-TR.rc index 6057b15e5af..29db01e18da 100644 --- a/base/applications/games/spider/lang/tr-TR.rc +++ b/base/applications/games/spider/lang/tr-TR.rc @@ -3,7 +3,7 @@ * LICENSE: See COPYING in top level directory * FILE: base/applications/games/spider/lang/tr-TR.rc * PURPOSE: Turkish Resource File for ReactOS Spider Solitaire - * TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) + * TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/applications/games/winmine/lang/tr-TR.rc b/base/applications/games/winmine/lang/tr-TR.rc index b099f26c890..3ada667c5d4 100644 --- a/base/applications/games/winmine/lang/tr-TR.rc +++ b/base/applications/games/winmine/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATORS: 2006 Fatih Aşıcı, 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATORS: 2006 Fatih Aşıcı; 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/applications/kbswitch/CMakeLists.txt b/base/applications/kbswitch/CMakeLists.txt index 6fe41a541c7..23d7831a200 100644 --- a/base/applications/kbswitch/CMakeLists.txt +++ b/base/applications/kbswitch/CMakeLists.txt @@ -3,4 +3,5 @@ add_executable(kbswitch kbswitch.c kbswitch.rc) set_module_type(kbswitch win32gui UNICODE) add_importlibs(kbswitch advapi32 user32 shell32 gdi32 msvcrt kernel32) add_cd_file(TARGET kbswitch DESTINATION reactos/system32 FOR all) + add_subdirectory(kbsdll) diff --git a/base/applications/kbswitch/kbsdll/CMakeLists.txt b/base/applications/kbswitch/kbsdll/CMakeLists.txt index 8484ee6e39c..b192592cde0 100644 --- a/base/applications/kbswitch/kbsdll/CMakeLists.txt +++ b/base/applications/kbswitch/kbsdll/CMakeLists.txt @@ -1,5 +1,4 @@ - spec2def(kbsdll.dll kbsdll.spec) list(APPEND SOURCE @@ -8,7 +7,6 @@ list(APPEND SOURCE ${CMAKE_CURRENT_BINARY_DIR}/kbsdll.def) add_library(kbsdll SHARED ${SOURCE}) - set_module_type(kbsdll win32dll UNICODE) add_importlibs(kbsdll user32 comctl32 msvcrt kernel32) add_cd_file(TARGET kbsdll DESTINATION reactos/system32 FOR all) diff --git a/base/applications/kbswitch/kbswitch.c b/base/applications/kbswitch/kbswitch.c index 5d0849d65e6..2fb1a192641 100644 --- a/base/applications/kbswitch/kbswitch.c +++ b/base/applications/kbswitch/kbswitch.c @@ -541,7 +541,7 @@ _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPTSTR lpCmdLine, INT nCmdSh hProcessHeap = GetProcessHeap(); WndClass.style = 0; - WndClass.lpfnWndProc = (WNDPROC)WndProc; + WndClass.lpfnWndProc = WndProc; WndClass.cbClsExtra = 0; WndClass.cbWndExtra = 0; WndClass.hInstance = hInstance; diff --git a/base/applications/kbswitch/lang/tr-TR.rc b/base/applications/kbswitch/lang/tr-TR.rc index 612c24585e7..5d8073d811a 100644 --- a/base/applications/kbswitch/lang/tr-TR.rc +++ b/base/applications/kbswitch/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/applications/logoff/lang/es-ES.rc b/base/applications/logoff/lang/es-ES.rc index 5ebeb0b2df9..2e61080f5a6 100644 --- a/base/applications/logoff/lang/es-ES.rc +++ b/base/applications/logoff/lang/es-ES.rc @@ -1,16 +1,17 @@ /* * Spanish Language resource file * Traducido por: Javier Remacha 2007-12-21 + * Corregido por: Ismael Ferreras Morezuelas 2014-11-06 */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL STRINGTABLE BEGIN - IDS_USAGE "Terminar una sesión.\n\n\ - /v\t\tMuestra información acerca de las acciónes realizadas.\n\ + IDS_USAGE "Cierra una sesión.\n\n\ + /v\t\tMuestra información acerca de las acciones realizadas.\n\ /?\t\tMuestra esta información.\n\n" - IDS_LOGOFF_REMOTE "Terminando sesión en una máquina remota." - IDS_LOGOFF_LOCAL "Terminando la sesión actual de esta máquina." - IDS_ILLEGAL_PARAM "Parámetro(s) no válido(s)\n" + IDS_LOGOFF_REMOTE "Cerrando sesión en una máquina remota." + IDS_LOGOFF_LOCAL "Cerrando la sesión actual de esta máquina." + IDS_ILLEGAL_PARAM "Parámetro o parámetros no válidos\n" END diff --git a/base/applications/logoff/logoff.c b/base/applications/logoff/logoff.c index 4913c83db70..ca570123e66 100644 --- a/base/applications/logoff/logoff.c +++ b/base/applications/logoff/logoff.c @@ -30,6 +30,7 @@ static void PrintUsage() { if (AllocAndLoadString(&lpUsage, GetModuleHandle(NULL), IDS_USAGE)) { _putts(lpUsage); + LocalFree(lpUsage); } } @@ -88,8 +89,10 @@ BOOL ParseCommandLine(int argc, TCHAR *argv[]) } default: //Invalid parameter detected - if (AllocAndLoadString(&lpIllegalMsg, GetModuleHandle(NULL), IDS_ILLEGAL_PARAM)) - _putts(lpIllegalMsg); + if (AllocAndLoadString(&lpIllegalMsg, GetModuleHandle(NULL), IDS_ILLEGAL_PARAM)) { + _putts(lpIllegalMsg); + LocalFree(lpIllegalMsg); + } return FALSE; } } diff --git a/base/applications/magnify/lang/es-ES.rc b/base/applications/magnify/lang/es-ES.rc index d0adb90c269..1555993f04a 100644 --- a/base/applications/magnify/lang/es-ES.rc +++ b/base/applications/magnify/lang/es-ES.rc @@ -1,4 +1,6 @@ -/* Spanish language file by Javier Remacha <2007-09-21> */ +/* Spanish language file by Javier Remacha <2007-09-21> + * Proofread: Ismael Ferreras Morezuelas <2014-11-06> + */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL @@ -25,25 +27,25 @@ CAPTION "Acerca de" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN ICON IDI_ICON, IDC_MYICON, 14, 9, 20, 20 - LTEXT "Magnifier Version 1.0", IDC_STATIC, 49, 10, 119, 8, SS_NOPREFIX + LTEXT "Lupa. Versión 1.0", IDC_STATIC, 49, 10, 119, 8, SS_NOPREFIX LTEXT "Copyright (C) 2007 Marc Piulachs (marc.piulachs@codexchange.net)", IDC_STATIC, 48, 24, 125, 22 PUSHBUTTON "Aceptar", IDOK, 162, 48, 50, 14 END IDD_DIALOGOPTIONS DIALOGEX 0, 0, 153, 182 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Configurar Magnifier" +CAPTION "Configurar lupa" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Salir", IDOK, 96, 161, 50, 14 PUSHBUTTON "Ayuda", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "Nivel de aumento:", IDC_STATIC, 6, 8, 68, 8 - COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Rastreando", IDC_STATIC, 7, 25, 139, 59 + LTEXT "Niveles de aumento:", IDC_STATIC, 6, 8, 68, 8 + COMBOBOX IDC_ZOOM, 76, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Seguimiento", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "Presentación", IDC_STATIC, 7, 87, 139, 57 CONTROL "Seguir el cursor del ratón", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "Seguir el foco del teclado", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "Seguir la entrada del teclado", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 CONTROL "Seguir la edición de texto", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 @@ -51,23 +53,23 @@ BEGIN BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 CONTROL "Comenzar minimizado", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "Mostrar Magnifier", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "Mostrar lupa", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END IDD_WARNINGDIALOG DIALOGEX 0, 0, 250, 97 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION -CAPTION "ReactOS Magnifier" +CAPTION "Lupa de ReactOS" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Aceptar", IDOK, 193, 76, 50, 14 ICON IDI_ICON, IDC_STATIC, 7, 17, 20, 20 - LTEXT "Magnifier está pensada para proporcionar un nivel mínimo de funcionalidad para usuarios con pequeñas deficiencias visuales. La mayoría de los usuarios con deficiencias visuales necesitarán una utilidad de mayor ampliación para el uso diario.", IDC_STATIC, 36, 7, 207, 33 + LTEXT "La lupa está pensada para proporcionar un nivel mínimo de funcionalidad para usuarios con pequeñas deficiencias visuales. La mayoría de los usuarios con deficiencias visuales necesitarán una utilidad de mayor ampliación para el uso diario.", IDC_STATIC, 36, 7, 207, 33 CONTROL "No volver a mostrar este mensaje", IDC_SHOWWARNINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 43, 80, 137, 10 END STRINGTABLE BEGIN - IDS_APP_TITLE "Magnifier" + IDS_APP_TITLE "Lupa" END diff --git a/base/applications/magnify/lang/tr-TR.rc b/base/applications/magnify/lang/tr-TR.rc index 5eb162d02f0..e7e45fac8ad 100644 --- a/base/applications/magnify/lang/tr-TR.rc +++ b/base/applications/magnify/lang/tr-TR.rc @@ -3,7 +3,7 @@ * LICENSE: GPL - See COPYING in the top level directory * FILE: base/applications/magnify/lang/tr-TR.rc * PURPOSE: Turkish Resource File for RecatOS Magnifier - * TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) + * TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/applications/mmc/lang/es-ES.rc b/base/applications/mmc/lang/es-ES.rc index 27d7546704a..0616beb5874 100644 --- a/base/applications/mmc/lang/es-ES.rc +++ b/base/applications/mmc/lang/es-ES.rc @@ -1,6 +1,7 @@ /* * Spanish Language resource file * Traducido por: Javier Remacha 2007-12-18 + * Corregido por: Ismael Ferreras Morezuelas 2014-11-07 */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL @@ -9,13 +10,13 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Archivo" BEGIN - MENUITEM "New\tCtrl+N", IDM_FILE_NEW + MENUITEM "Nuevo\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Sa&lir\tAlt+F4", IDM_FILE_EXIT END POPUP "&Ayuda" BEGIN - MENUITEM "&Acerca de la Consola de Administración de ReactOS...", IDM_HELP_ABOUT + MENUITEM "&Acerca de la Consola de administración de ReactOS...", IDM_HELP_ABOUT END END @@ -23,22 +24,22 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Archivo" BEGIN - MENUITEM "New\tCtrl+N", IDM_FILE_NEW + MENUITEM "Nuevo\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "Sa&lir\tAlt+F4", IDM_FILE_EXIT END - POPUP "&Windows" + POPUP "&Ventana" BEGIN - MENUITEM "List", IDM_WINDOWS_LIST + MENUITEM "Lista", IDM_WINDOWS_LIST END POPUP "&Ayuda" BEGIN - MENUITEM "&Acerca de la Consola de Administración de ReactOS...", IDM_HELP_ABOUT + MENUITEM "&Acerca de la Consola de administración de ReactOS...", IDM_HELP_ABOUT END END STRINGTABLE BEGIN - IDS_APPTITLE "Consola de Administración de ReactOS" + IDS_APPTITLE "Consola de administración de ReactOS" IDS_CONSOLETITLE "Consola%1!u!" END diff --git a/base/applications/mmc/lang/ru-RU.rc b/base/applications/mmc/lang/ru-RU.rc index ff02bd1226b..caa2308bc70 100644 --- a/base/applications/mmc/lang/ru-RU.rc +++ b/base/applications/mmc/lang/ru-RU.rc @@ -1,4 +1,4 @@ -/* Russian language resource file (Dmitry Chapyshev, 2007-06-10) */ +/* Russian language resource file by Dmitry Chapyshev, 2007-06-10, Kudratov Olimjon (olim98@bk.ru) */ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT @@ -6,7 +6,7 @@ IDM_CONSOLE_SMALL MENU BEGIN POPUP "&Файл" BEGIN - MENUITEM "New\tCtrl+N", IDM_FILE_NEW + MENUITEM "&Создать\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Выход\tAlt+F4", IDM_FILE_EXIT END @@ -20,13 +20,13 @@ IDM_CONSOLE_LARGE MENU BEGIN POPUP "&Файл" BEGIN - MENUITEM "New\tCtrl+N", IDM_FILE_NEW + MENUITEM "&Создать\tCtrl+N", IDM_FILE_NEW MENUITEM SEPARATOR MENUITEM "&Выход\tAlt+F4", IDM_FILE_EXIT END - POPUP "&Windows" + POPUP "&Окно" BEGIN - MENUITEM "List", IDM_WINDOWS_LIST + MENUITEM "Сверху вниз", IDM_WINDOWS_LIST END POPUP "&Справка" BEGIN diff --git a/base/applications/mmc/lang/tr-TR.rc b/base/applications/mmc/lang/tr-TR.rc index 517b0249cd1..e8a79119867 100644 --- a/base/applications/mmc/lang/tr-TR.rc +++ b/base/applications/mmc/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/applications/mplay32/lang/es-ES.rc b/base/applications/mplay32/lang/es-ES.rc index 82e8e89061c..c2b04e12eec 100644 --- a/base/applications/mplay32/lang/es-ES.rc +++ b/base/applications/mplay32/lang/es-ES.rc @@ -11,20 +11,20 @@ BEGIN END POPUP "&Reproducir" BEGIN - MENUITEM "Reproducir/&Pausa\tCtrl+P", IDC_PLAY + MENUITEM "Reproducir/&Pausar\tCtrl+P", IDC_PLAY MENUITEM "&Detener\tCtrl+S", IDC_STOP MENUITEM SEPARATOR MENUITEM "Repe&tir\tCtrl+T", IDM_REPEAT END - POPUP "&Vista" + POPUP "&Ver" BEGIN - MENUITEM "&Modo Ventana Única", IDM_SWITCHVIEW + MENUITEM "&Modo de ventana única", IDM_SWITCHVIEW END POPUP "&Dispositivo" BEGIN MENUITEM "&Propiedades", IDM_DEVPROPS MENUITEM SEPARATOR - MENUITEM "Control de &Volumen", IDM_VOLUMECTL + MENUITEM "Control de &volumen", IDM_VOLUMECTL END POPUP "Ay&uda" BEGIN @@ -43,16 +43,16 @@ END STRINGTABLE BEGIN - IDS_ALL_TYPES_FILTER "Todos los ficheros soportados (*.wav, *.cda, *.midi, *.mid, *.avi)\0*.wav;*.cda;*.midi;*.mid;*.avi\0" - IDS_TOOLTIP_PLAY "Reproducir" - IDS_TOOLTIP_STOP "Detener" - IDS_TOOLTIP_EJECT "Expulsar" + IDS_ALL_TYPES_FILTER "Todos los archivos soportados (*.wav, *.cda, *.midi, *.mid, *.avi)\0*.wav;*.cda;*.midi;*.mid;*.avi\0" + IDS_TOOLTIP_PLAY "Reproducir" + IDS_TOOLTIP_STOP "Detener" + IDS_TOOLTIP_EJECT "Expulsar" IDS_TOOLTIP_BACKWARD "Marca anterior" IDS_TOOLTIP_SEEKBACK "Rebobinar" IDS_TOOLTIP_SEEKFORW "Avance rápido" - IDS_TOOLTIP_FORWARD "Marca siguiente" - IDS_APPTITLE "Reproductor Multimedia de ReactOS" - IDS_PLAY "Reproducir" + IDS_TOOLTIP_FORWARD "Siguiente marca" + IDS_APPTITLE "Reproductor multimedia de ReactOS" + IDS_PLAY "Reproducir" IDS_DEFAULTMCIERRMSG "No hay una descripción disponible para este error." - IDS_UNKNOWNFILEEXT "No se puede determinar el tipo de dispositivo a partir de la extensión del fichero." + IDS_UNKNOWNFILEEXT "No se puede determinar el tipo de dispositivo a partir de la extensión del archivo." END diff --git a/base/applications/mplay32/lang/ro-RO.rc b/base/applications/mplay32/lang/ro-RO.rc index fc217178e5a..d2d4d757efa 100644 --- a/base/applications/mplay32/lang/ro-RO.rc +++ b/base/applications/mplay32/lang/ro-RO.rc @@ -15,16 +15,16 @@ BEGIN MENUITEM SEPARATOR MENUITEM "I&eșire", IDM_EXIT END - POPUP "&Play" + POPUP "&Lectură" BEGIN - MENUITEM "Play/&Pause\tCtrl+P", IDC_PLAY - MENUITEM "St&op\tCtrl+S", IDC_STOP + MENUITEM "Lecturează/&Pauză\tCtrl+P", IDC_PLAY + MENUITEM "&Oprește\tCtrl+S", IDC_STOP MENUITEM SEPARATOR - MENUITEM "Repea&t\tCtrl+T", IDM_REPEAT + MENUITEM "&Repetă\tCtrl+T", IDM_REPEAT END - POPUP "&View" + POPUP "&Afișare" BEGIN - MENUITEM "Single-Window &Mode", IDM_SWITCHVIEW + MENUITEM "&Mod fereastră-solitară", IDM_SWITCHVIEW END POPUP "&Dispozitiv" BEGIN diff --git a/base/applications/mplay32/mplay32.c b/base/applications/mplay32/mplay32.c index 4340686768d..f983ca04af6 100644 --- a/base/applications/mplay32/mplay32.c +++ b/base/applications/mplay32/mplay32.c @@ -54,10 +54,10 @@ void EnableMenuItems(HWND hwnd) mciVideoWindow.hWnd = hwnd; - dwError = mciSendCommand(wDeviceId, MCI_WINDOW, MCI_DGV_WINDOW_HWND | MCI_TEST, (DWORD)(LPSTR)&mciVideoWindow); + dwError = mciSendCommand(wDeviceId, MCI_WINDOW, MCI_DGV_WINDOW_HWND | MCI_TEST, (DWORD_PTR)&mciVideoWindow); if (!dwError) { - dwError = mciSendCommand(wDeviceId, MCI_WHERE, MCI_DGV_WHERE_SOURCE | MCI_TEST, (DWORD)(LPSTR)&mciVideoRect); + dwError = mciSendCommand(wDeviceId, MCI_WHERE, MCI_DGV_WHERE_SOURCE | MCI_TEST, (DWORD_PTR)&mciVideoRect); if (!dwError) { EnableMenuItem(hMainMenu, IDM_SWITCHVIEW, MF_BYCOMMAND | MF_ENABLED); @@ -260,13 +260,13 @@ SwitchViewMode(HWND hwnd) mciVideoWindow.hWnd = hwnd; - mciError = mciSendCommand(wDeviceId, MCI_WINDOW, MCI_DGV_WINDOW_HWND | MCI_TEST, (DWORD)(LPSTR)&mciVideoWindow); + mciError = mciSendCommand(wDeviceId, MCI_WINDOW, MCI_DGV_WINDOW_HWND | MCI_TEST, (DWORD_PTR)&mciVideoWindow); if (mciError) { return; } - mciError = mciSendCommand(wDeviceId, MCI_WHERE, MCI_DGV_WHERE_SOURCE | MCI_TEST, (DWORD)(LPSTR)&mciVideoRect); + mciError = mciSendCommand(wDeviceId, MCI_WHERE, MCI_DGV_WHERE_SOURCE | MCI_TEST, (DWORD_PTR)&mciVideoRect); if (mciError) { return; @@ -278,7 +278,7 @@ SwitchViewMode(HWND hwnd) SetParent(hTrackBar, hToolBar); - mciError = mciSendCommand(wDeviceId, MCI_WHERE, MCI_DGV_WHERE_SOURCE, (DWORD)(LPSTR)&mciVideoRect); + mciError = mciSendCommand(wDeviceId, MCI_WHERE, MCI_DGV_WHERE_SOURCE, (DWORD_PTR)&mciVideoRect); if (mciError) { ShowMCIError(hwnd, mciError); @@ -288,7 +288,7 @@ SwitchViewMode(HWND hwnd) GetWindowRect(hToolBar, &rcToolbarRect); ResizeClientArea(hwnd, mciVideoRect.rc.right, mciVideoRect.rc.bottom + (rcToolbarRect.bottom - rcToolbarRect.top)); - mciError = mciSendCommand(wDeviceId, MCI_WINDOW, MCI_DGV_WINDOW_HWND, (DWORD)(LPSTR)&mciVideoWindow); + mciError = mciSendCommand(wDeviceId, MCI_WINDOW, MCI_DGV_WINDOW_HWND, (DWORD_PTR)&mciVideoWindow); if (mciError) { ShowMCIError(hwnd, mciError); @@ -307,7 +307,7 @@ SwitchViewMode(HWND hwnd) CheckMenuItem(hMainMenu, IDM_SWITCHVIEW, MF_BYCOMMAND | MF_UNCHECKED); mciVideoWindow.hWnd = MCI_DGV_WINDOW_DEFAULT; - mciError = mciSendCommand(wDeviceId, MCI_WINDOW, MCI_DGV_WINDOW_HWND, (DWORD)(LPSTR)&mciVideoWindow); + mciError = mciSendCommand(wDeviceId, MCI_WINDOW, MCI_DGV_WINDOW_HWND, (DWORD_PTR)&mciVideoWindow); if (mciError) { ShowMCIError(hwnd, mciError); @@ -780,7 +780,7 @@ MainWndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) mciPut.rc.right = Rect.right; mciPut.rc.bottom = Rect.bottom - (ToolbarRect.bottom - ToolbarRect.top) - 2; - mciSendCommand(wDeviceId, MCI_PUT, MCI_DGV_PUT_DESTINATION | MCI_DGV_RECT | MCI_WAIT, (DWORD)&mciPut); + mciSendCommand(wDeviceId, MCI_PUT, MCI_DGV_PUT_DESTINATION | MCI_DGV_RECT | MCI_WAIT, (DWORD_PTR)&mciPut); } } return 0L; diff --git a/base/applications/msconfig/lang/es-ES.rc b/base/applications/msconfig/lang/es-ES.rc index a2d7fa1048a..a1058d97654 100644 --- a/base/applications/msconfig/lang/es-ES.rc +++ b/base/applications/msconfig/lang/es-ES.rc @@ -1,3 +1,6 @@ +/* Spanish Language resource file. + * Translated by: ?? and Ismael Ferreras Morezuelas <2014-11-07> */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL IDD_MSCONFIG_DIALOG DIALOGEX 0, 0, 378, 220 @@ -30,15 +33,15 @@ BEGIN CONTROL "", IDC_SYSTEM_TREE, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_EDITLABELS | TVS_SHOWSELALWAYS | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 2, 1, 280, 148 - PUSHBUTTON "Mover &Arriba", IDC_BTN_SYSTEM_UP, 290, 5, 66, 14 - PUSHBUTTON "Mover A&bajo", IDC_BTN_SYSTEM_DOWN, 290, 25, 66, 14 + PUSHBUTTON "&Subir", IDC_BTN_SYSTEM_UP, 290, 5, 66, 14 + PUSHBUTTON "Ba&jar", IDC_BTN_SYSTEM_DOWN, 290, 25, 66, 14 PUSHBUTTON "&Permitir", IDC_BTN_SYSTEM_ENABLE, 290, 50, 66, 14 PUSHBUTTON "&Bloquear", IDC_BTN_SYSTEM_DISABLE, 290, 70, 66, 14 PUSHBUTTON "&Buscar", IDC_BTN_SYSTEM_FIND, 290, 95, 66, 14 PUSHBUTTON "&Nuevo", IDC_BTN_SYSTEM_NEW, 290, 115, 66, 14 PUSHBUTTON "Edi&ción", IDC_BTN_SYSTEM_EDIT, 290, 135, 66, 14 - PUSHBUTTON "Permi&tir Todo", IDC_BTN_SYSTEM_ACTIVATE, 123, 155, 66, 14 - PUSHBUTTON "Blo&quear Todo", IDC_BTN_SYSTEM_DEACTIVATE, 195, 155, 66, 14 + PUSHBUTTON "Permi&tir todo", IDC_BTN_SYSTEM_ACTIVATE, 123, 155, 66, 14 + PUSHBUTTON "Blo&quear todo", IDC_BTN_SYSTEM_DEACTIVATE, 195, 155, 66, 14 END IDD_TOOLS_PAGE DIALOGEX 0, 0, 362, 175 @@ -65,13 +68,13 @@ IDD_GENERAL_PAGE DIALOGEX 0, 0, 362, 175 STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Selección de Inicio ", -1, 10, 10, 340, 150, 0, WS_EX_TRANSPARENT - CONTROL "Inicio &Normal - cargar todos los controladores de unidades y servicios", IDC_CBX_NORMAL_START, "Button", 0x50010009, 20, 30, 260, 10 - CONTROL "Inicio de &Diagnostico - cargar sólo los controladores y servicios básicos", IDC_CBX_DIAGNOSTIC_START, "Button", 0x50010009, 20, 45, 260, 10 - CONTROL "Inicio S&electivo", IDC_CBX_SELECTIVE_STARTUP, "Button", 0x50010009, 20, 60, 260, 10 + GROUPBOX "Selección de inicio ", -1, 10, 10, 340, 150, 0, WS_EX_TRANSPARENT + CONTROL "Inicio &normal - Cargar todos los controladores de unidades y servicios", IDC_CBX_NORMAL_START, "Button", 0x50010009, 20, 30, 260, 10 + CONTROL "Inicio de &diagnóstico - Cargar sólo los controladores y servicios básicos", IDC_CBX_DIAGNOSTIC_START, "Button", 0x50010009, 20, 45, 260, 10 + CONTROL "Inicio s&electivo", IDC_CBX_SELECTIVE_STARTUP, "Button", 0x50010009, 20, 60, 260, 10 AUTOCHECKBOX "P&rocesar archivo SYSTEM.INI", IDC_CBX_SYSTEM_INI, 30, 80, 260, 10 - AUTOCHECKBOX "&Cargar Servicios del Sistema", IDC_CBX_SYSTEM_SERVICE, 30, 95, 260, 10 - AUTOCHECKBOX "C&argar elementos de Inicio", IDC_CBX_STARTUP_ITEM, 30, 110, 260, 10 + AUTOCHECKBOX "&Cargar servicios del sistema", IDC_CBX_SYSTEM_SERVICE, 30, 95, 260, 10 + AUTOCHECKBOX "C&argar elementos de inicio", IDC_CBX_STARTUP_ITEM, 30, 110, 260, 10 END IDD_FREELDR_PAGE DIALOGEX 0, 0, 362, 175 @@ -80,18 +83,18 @@ FONT 8, "MS Shell Dlg" BEGIN LISTBOX IDC_LIST_BOX, 10, 10, 340, 50, WS_CHILD | WS_VISIBLE | WS_TABSTOP | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL - PUSHBUTTON "&Verificar las rutas de Arranque", IDC_BTN_CHECK_BOOT_PATH, 10, 65, 110, 12 - PUSHBUTTON "&Configurar por Defecto", IDC_BTN_SET_DEFAULT_BOOT, 130, 65, 80, 12 - PUSHBUTTON "Mover &Arriba", IDC_BTN_MOVE_UP_BOOT_OPTION, 220, 65, 60, 12 - PUSHBUTTON "Mover A&bajo", IDC_BTN_MOVE_DOWN_BOOT_OPTION, 290, 65, 60, 12 - GROUPBOX "Opciones de Arranque ", -1, 10, 80, 250, 90, 0, WS_EX_TRANSPARENT + PUSHBUTTON "&Verificar las rutas de arranque", IDC_BTN_CHECK_BOOT_PATH, 10, 65, 110, 12 + PUSHBUTTON "&Configurar por defecto", IDC_BTN_SET_DEFAULT_BOOT, 130, 65, 80, 12 + PUSHBUTTON "&Subir", IDC_BTN_MOVE_UP_BOOT_OPTION, 220, 65, 60, 12 + PUSHBUTTON "&Bajar", IDC_BTN_MOVE_DOWN_BOOT_OPTION, 290, 65, 60, 12 + GROUPBOX "Opciones de arranque", -1, 10, 80, 250, 90, 0, WS_EX_TRANSPARENT CHECKBOX "/SA&FEBOOT", IDC_CBX_SAFE_BOOT, 15, 90, 55, 10 CHECKBOX "/&NOGUIBOOT", IDC_CBX_NO_GUI_BOOT, 15, 105, 60, 10 CHECKBOX "/&BOOTLOG", IDC_CBX_BOOT_LOG, 15, 120, 50, 10 CHECKBOX "/BAS&EVIDEO", IDC_CBX_BASE_VIDEO, 15, 135, 55, 10 CHECKBOX "/S&OS", IDC_CBX_SOS, 15, 150, 50, 10 - PUSHBUTTON "Opciones A&vazadas...", IDC_BTN_ADVANCED_OPTIONS, 100, 150, 80, 12 - LTEXT "&Tiempo Máx:", -1, 280, 86, 30, 16 + PUSHBUTTON "Opciones a&vanzadas...", IDC_BTN_ADVANCED_OPTIONS, 100, 150, 80, 12 + LTEXT "&Tiempo máx:", -1, 280, 86, 30, 16 EDITTEXT IDC_TXT_BOOT_TIMEOUT, 310, 90, 25, 12, ES_LEFT LTEXT "seg.", -1, 340, 91, 15, 10 END @@ -123,7 +126,7 @@ END STRINGTABLE BEGIN - IDS_MSCONFIG "Programa de configuración del Sistema" + IDS_MSCONFIG "Utilidad de configuración del sistema" IDS_TAB_GENERAL "General" IDS_TAB_SYSTEM "SYSTEM.INI" IDS_TAB_FREELDR "FREELDR.INI" @@ -135,8 +138,8 @@ END STRINGTABLE BEGIN IDS_SERVICES_COLUMN_SERVICE "Servicio" - IDS_SERVICES_COLUMN_REQ "Requirido" - IDS_SERVICES_COLUMN_VENDOR "Vendedor" + IDS_SERVICES_COLUMN_REQ "Necesario" + IDS_SERVICES_COLUMN_VENDOR "Fabricante" IDS_SERVICES_COLUMN_STATUS "Estado" END @@ -151,7 +154,7 @@ BEGIN IDS_TOOLS_INFO_DESCR "Muestra información de la versión." IDS_TOOLS_INFO_CMD "winver.exe" IDS_TOOLS_REGEDIT_NAME "Editor del Registro" - IDS_TOOLS_REGEDIT_DESCR "Abre el Editor del Registro." + IDS_TOOLS_REGEDIT_DESCR "Abre el editor del Registro." IDS_TOOLS_REGEDIT_CMD "regedit.exe" IDS_TOOLS_SYSDM_NAME "Propiedades del sistema" IDS_TOOLS_SYSDM_DESCR "Muestra información acerca de este equipo." diff --git a/base/applications/msconfig/srvpage.c b/base/applications/msconfig/srvpage.c index 4cfd62e6cc9..44870c0c87e 100644 --- a/base/applications/msconfig/srvpage.c +++ b/base/applications/msconfig/srvpage.c @@ -187,19 +187,16 @@ GetServices ( void ) return; } } - if (pServiceFailureActions->cActions) - { - if (pServiceFailureActions->lpsaActions[0].Type == SC_ACTION_REBOOT) - { - LoadString(hInst, IDS_SERVICES_YES, szStatus, 128); - item.pszText = szStatus; - item.iSubItem = 1; - SendMessage(hServicesListCtrl, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item); - } - } if (pServiceFailureActions != NULL) { + if (pServiceFailureActions->cActions && pServiceFailureActions->lpsaActions[0].Type == SC_ACTION_REBOOT) + { + LoadString(hInst, IDS_SERVICES_YES, szStatus, 128); + item.pszText = szStatus; + item.iSubItem = 1; + SendMessage(hServicesListCtrl, LVM_SETITEMTEXT, item.iItem, (LPARAM) &item); + } HeapFree(GetProcessHeap(), 0, pServiceFailureActions); pServiceFailureActions = NULL; } diff --git a/base/applications/msconfig/startuppage.c b/base/applications/msconfig/startuppage.c index 4d65a0fb12e..e535893e04d 100644 --- a/base/applications/msconfig/startuppage.c +++ b/base/applications/msconfig/startuppage.c @@ -97,7 +97,11 @@ GetDisabledAutostartEntriesFromRegistry (TCHAR * szBasePath) if (Data == NULL) break; - RegEnumKeyEx(hKey, Index, szValueName, &dwValueLength, NULL, NULL, NULL, NULL); + if(RegEnumKeyEx(hKey, Index, szValueName, &dwValueLength, NULL, NULL, NULL, NULL) != ERROR_SUCCESS) + { + HeapFree(GetProcessHeap(), 0, Data); + continue; + } _stprintf(szSubPath, _T("%s\\%s"), szBasePath, szValueName); memset(&item, 0, sizeof(LV_ITEM)); item.mask = LVIF_TEXT; diff --git a/base/applications/mscutils/devmgmt/enumdevices.c b/base/applications/mscutils/devmgmt/enumdevices.c index 9f5b3a305e2..ac4d345b45b 100644 --- a/base/applications/mscutils/devmgmt/enumdevices.c +++ b/base/applications/mscutils/devmgmt/enumdevices.c @@ -15,9 +15,7 @@ #include static SP_CLASSIMAGELIST_DATA ImageListData; -static HDEVINFO hDevInfo; -DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0); VOID FreeDeviceStrings(HWND hTreeView) @@ -96,7 +94,6 @@ OpenPropSheet(HWND hTreeView, DPF_EXTENDED, FALSE); } - } @@ -106,7 +103,7 @@ InsertIntoTreeView(HWND hTreeView, LPTSTR lpLabel, LPTSTR DeviceID, INT DevImage, - LONG DevProb) + UINT OverlayImage) { TV_ITEM tvi; TV_INSERTSTRUCT tvins; @@ -121,15 +118,11 @@ InsertIntoTreeView(HWND hTreeView, tvi.iImage = DevImage; tvi.iSelectedImage = DevImage; - if (DevProb != 0) + if (OverlayImage != 0) { + tvi.mask |= TVIF_STATE; tvi.stateMask = TVIS_OVERLAYMASK; - - if (DevProb == CM_PROB_DISABLED) - { - /* FIXME: set the overlay icon */ - } - + tvi.state = INDEXTOOVERLAYMASK(OverlayImage); } tvins.item = tvi; @@ -139,212 +132,295 @@ InsertIntoTreeView(HWND hTreeView, } -static INT -EnumDeviceClasses(INT ClassIndex, - BOOL ShowHidden, - LPTSTR DevClassName, - LPTSTR DevClassDesc, - BOOL *DevPresent, - INT *ClassImage, - BOOL *IsUnknown, - BOOL *IsHidden) +static +ULONG +GetClassCount(VOID) { + ULONG ulClassIndex; GUID ClassGuid; - HKEY KeyClass; - TCHAR ClassName[MAX_CLASS_NAME_LEN]; - DWORD RequiredSize = MAX_CLASS_NAME_LEN; - UINT Ret; + CONFIGRET cr; - *DevPresent = FALSE; - *DevClassName = _T('\0'); - *IsHidden = FALSE; - - Ret = CM_Enumerate_Classes(ClassIndex, - &ClassGuid, - 0); - if (Ret != CR_SUCCESS) + for (ulClassIndex = 0; ; ulClassIndex++) { - /* all classes enumerated */ - if(Ret == CR_NO_SUCH_VALUE) + cr = CM_Enumerate_Classes(ulClassIndex, + &ClassGuid, + 0); + if (cr == CR_NO_SUCH_VALUE) + return ulClassIndex; + } +} + + +static +PDEVCLASS_ENTRY +GetClassFromClassGuid( + PDEVCLASS_ENTRY pClassArray, + ULONG ulClassCount, + GUID *pGuid) +{ + PDEVCLASS_ENTRY pClass, pUnknownClass = NULL; + ULONG i; + + for (i = 0; i < ulClassCount; i++) + { + pClass = &pClassArray[i]; + + if (IsEqualGUID(&pClass->ClassGuid, &GUID_DEVCLASS_UNKNOWN)) + pUnknownClass = pClass; + + if (IsEqualGUID(&pClass->ClassGuid, pGuid)) + return pClass; + } + + return pUnknownClass; +} + + +static +VOID +EnumDeviceClasses( + HWND hTreeView, + HTREEITEM hRoot, + PDEVCLASS_ENTRY pClassArray, + ULONG ClassCount) +{ + WCHAR ClassName[MAX_DEV_LEN]; + WCHAR ClassDesc[MAX_DEV_LEN]; + PDEVCLASS_ENTRY pClass; + ULONG ClassIndex; + DWORD dwSize; + LONG lSize; + HKEY hKey; + CONFIGRET cr; + + for (ClassIndex = 0; ClassIndex < ClassCount; ClassIndex++) + { + pClass = &pClassArray[ClassIndex]; + + cr = CM_Enumerate_Classes(ClassIndex, + &pClass->ClassGuid, + 0); + if (cr == CR_NO_SUCH_VALUE) + return; + + dwSize = MAX_CLASS_NAME_LEN; + if (!SetupDiClassNameFromGuid(&pClass->ClassGuid, + ClassName, + dwSize, + &dwSize)) { - return -1; + ClassName[0] = _T('\0'); } - if (Ret == CR_INVALID_DATA) + if (!SetupDiGetClassImageIndex(&ImageListData, + &pClass->ClassGuid, + &pClass->ClassImage)) { - ; /*FIXME: what should we do here? */ + /* FIXME: can we do this? + * Set the blank icon: IDI_SETUPAPI_BLANK = 41 + * it'll be image 24 in the imagelist */ + pClass->ClassImage = 24; } - /* handle other errors... */ - } - - /* This case is special because these devices don't show up with normal class enumeration */ - *IsUnknown = IsEqualGUID(&ClassGuid, &GUID_DEVCLASS_UNKNOWN); - - if (ShowHidden == FALSE && - (IsEqualGUID(&ClassGuid, &GUID_DEVCLASS_LEGACYDRIVER) || - IsEqualGUID(&ClassGuid, &GUID_DEVCLASS_VOLUME))) - *IsHidden = TRUE; - - if (SetupDiClassNameFromGuid(&ClassGuid, - ClassName, - RequiredSize, - &RequiredSize)) - { - lstrcpy(DevClassName, ClassName); - } - - if (!SetupDiGetClassImageIndex(&ImageListData, - &ClassGuid, - ClassImage)) - { - /* FIXME: can we do this? - * Set the blank icon: IDI_SETUPAPI_BLANK = 41 - * it'll be image 24 in the imagelist */ - *ClassImage = 24; - } - - /* Get device info for all devices of a particular class */ - hDevInfo = SetupDiGetClassDevs(*IsUnknown ? NULL : &ClassGuid, - NULL, - NULL, - DIGCF_PRESENT | (*IsUnknown ? DIGCF_ALLCLASSES : 0)); - if (hDevInfo == INVALID_HANDLE_VALUE) - { - return 0; - } - - KeyClass = SetupDiOpenClassRegKeyEx(&ClassGuid, + hKey = SetupDiOpenClassRegKeyEx(&pClass->ClassGuid, MAXIMUM_ALLOWED, DIOCR_INSTALLER, NULL, 0); - if (KeyClass != INVALID_HANDLE_VALUE) - { - - LONG dwSize = MAX_DEV_LEN; - - if (RegQueryValue(KeyClass, - NULL, - DevClassDesc, - &dwSize) != ERROR_SUCCESS) + if (hKey != INVALID_HANDLE_VALUE) { - *DevClassDesc = _T('\0'); + lSize = MAX_DEV_LEN; + if (RegQueryValue(hKey, + NULL, + ClassDesc, + &lSize) != ERROR_SUCCESS) + { + ClassDesc[0] = _T('\0'); + } + + RegCloseKey(hKey); } + + pClass->hItem = InsertIntoTreeView(hTreeView, + hRoot, + (ClassDesc[0] != _T('\0')) ? ClassDesc : ClassName, + NULL, + pClass->ClassImage, + 0); } - else - { - return 0; - } - - *DevPresent = TRUE; - - RegCloseKey(KeyClass); - - return 0; } -static LONG -EnumDevices(INT index, - LPTSTR DeviceClassName, - LPTSTR DeviceName, - LPTSTR *DeviceID) +static +VOID +EnumDevices( + HWND hTreeView, + PDEVCLASS_ENTRY pClassArray, + ULONG ulClassCount, + BOOL bShowHidden) { + HDEVINFO hDevInfo = INVALID_HANDLE_VALUE; SP_DEVINFO_DATA DeviceInfoData; - CONFIGRET cr; - ULONG Status, ProblemNumber; + ULONG Status, Problem; DWORD DevIdSize; + TCHAR DeviceName[MAX_DEV_LEN]; + DWORD DevIndex; + LPTSTR InstanceId; + PDEVCLASS_ENTRY pClass; + UINT OverlayImage; + CONFIGRET cr; - *DeviceName = _T('\0'); - *DeviceID = NULL; - ZeroMemory(&DeviceInfoData, sizeof(SP_DEVINFO_DATA)); - DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA); + /* Get device info for all devices of a particular class */ + hDevInfo = SetupDiGetClassDevs(NULL, + NULL, + NULL, + DIGCF_PRESENT | DIGCF_ALLCLASSES); + if (hDevInfo == INVALID_HANDLE_VALUE) + return; - if (!SetupDiEnumDeviceInfo(hDevInfo, - index, - &DeviceInfoData)) + for (DevIndex = 0; ; DevIndex++) { - /* no such device */ - return -1; - } + ZeroMemory(&DeviceInfoData, sizeof(SP_DEVINFO_DATA)); + DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA); - if (DeviceClassName == NULL && !IsEqualGUID(&DeviceInfoData.ClassGuid, &GUID_NULL)) - { - /* we're looking for unknown devices and this isn't one */ - return -2; - } + InstanceId = NULL; + DeviceName[0] = _T('\0'); + OverlayImage = 0; - /* get the device ID */ - if (!SetupDiGetDeviceInstanceId(hDevInfo, - &DeviceInfoData, - NULL, - 0, - &DevIdSize)) - { - if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) + if (!SetupDiEnumDeviceInfo(hDevInfo, + DevIndex, + &DeviceInfoData)) + break; + + if (bShowHidden == FALSE && + (IsEqualGUID(&DeviceInfoData.ClassGuid, &GUID_DEVCLASS_LEGACYDRIVER) || + IsEqualGUID(&DeviceInfoData.ClassGuid, &GUID_DEVCLASS_VOLUME))) + continue; + + pClass = GetClassFromClassGuid(pClassArray, + ulClassCount, + &DeviceInfoData.ClassGuid); + + /* get the device ID */ + if (!SetupDiGetDeviceInstanceId(hDevInfo, + &DeviceInfoData, + NULL, + 0, + &DevIdSize)) { - (*DeviceID) = (LPTSTR)HeapAlloc(GetProcessHeap(), - 0, - DevIdSize * sizeof(TCHAR)); - if (*DeviceID) + if (GetLastError() == ERROR_INSUFFICIENT_BUFFER) { - if (!SetupDiGetDeviceInstanceId(hDevInfo, - &DeviceInfoData, - *DeviceID, - DevIdSize, - NULL)) + InstanceId = (LPTSTR)HeapAlloc(GetProcessHeap(), + 0, + DevIdSize * sizeof(TCHAR)); + if (InstanceId != NULL) { - HeapFree(GetProcessHeap(), - 0, - *DeviceID); - *DeviceID = NULL; + if (!SetupDiGetDeviceInstanceId(hDevInfo, + &DeviceInfoData, + InstanceId, + DevIdSize, + NULL)) + { + HeapFree(GetProcessHeap(), + 0, + InstanceId); + InstanceId = NULL; + } } } } + + /* Skip the root device */ + if (InstanceId != NULL && + _tcscmp(InstanceId, _T("HTREE\\ROOT\\0")) == 0) + { + HeapFree(GetProcessHeap(), + 0, + InstanceId); + InstanceId = NULL; + continue; + } + + /* Get the device's friendly name */ + if (!SetupDiGetDeviceRegistryProperty(hDevInfo, + &DeviceInfoData, + SPDRP_FRIENDLYNAME, + 0, + (BYTE*)DeviceName, + MAX_DEV_LEN, + NULL)) + { + /* If the friendly name fails, try the description instead */ + SetupDiGetDeviceRegistryProperty(hDevInfo, + &DeviceInfoData, + SPDRP_DEVICEDESC, + 0, + (BYTE*)DeviceName, + MAX_DEV_LEN, + NULL); + } + + cr = CM_Get_DevNode_Status_Ex(&Status, + &Problem, + DeviceInfoData.DevInst, + 0, + NULL); + if ((cr == CR_SUCCESS) && + (Status & DN_HAS_PROBLEM)) + { + if (Problem == CM_PROB_DISABLED || + Problem == CM_PROB_HARDWARE_DISABLED) + OverlayImage = 2; + else + OverlayImage = 1; + } + + InsertIntoTreeView(hTreeView, + pClass->hItem, + DeviceName, + InstanceId, + pClass->ClassImage, + OverlayImage); + + if (OverlayImage != 0) + { + /* Expand the class if the device has a problem */ + (void)TreeView_Expand(hTreeView, + pClass->hItem, + TVE_EXPAND); + } + + pClass->bUsed = TRUE; } - if (DeviceID != NULL && - _tcscmp(*DeviceID, _T("HTREE\\ROOT\\0")) == 0) + if (hDevInfo != INVALID_HANDLE_VALUE) + SetupDiDestroyDeviceInfoList(hDevInfo); +} + + +static +VOID +CleanupDeviceClasses( + HWND hTreeView, + PDEVCLASS_ENTRY pClassArray, + ULONG ulClassCount) +{ + PDEVCLASS_ENTRY pClass; + ULONG i; + + for (i = 0; i < ulClassCount; i++) { - HeapFree(GetProcessHeap(), - 0, - *DeviceID); - *DeviceID = NULL; - return -1; - } + pClass = &pClassArray[i]; - /* get the device's friendly name */ - if (!SetupDiGetDeviceRegistryProperty(hDevInfo, - &DeviceInfoData, - SPDRP_FRIENDLYNAME, - 0, - (BYTE*)DeviceName, - MAX_DEV_LEN, - NULL)) - { - /* if the friendly name fails, try the description instead */ - SetupDiGetDeviceRegistryProperty(hDevInfo, - &DeviceInfoData, - SPDRP_DEVICEDESC, - 0, - (BYTE*)DeviceName, - MAX_DEV_LEN, - NULL); + if (pClass->bUsed == FALSE) + (void)TreeView_DeleteItem(hTreeView, + pClass->hItem); + else + (void)TreeView_SortChildren(hTreeView, + pClass->hItem, + 0); } - - cr = CM_Get_DevNode_Status_Ex(&Status, - &ProblemNumber, - DeviceInfoData.DevInst, - 0, - NULL); - if (cr == CR_SUCCESS && (Status & DN_HAS_PROBLEM)) - { - return ProblemNumber; - } - - return 0; } @@ -353,105 +429,33 @@ ListDevicesByType(HWND hTreeView, HTREEITEM hRoot, BOOL bShowHidden) { - HTREEITEM hDevItem; - TCHAR DevName[MAX_DEV_LEN]; - TCHAR DevDesc[MAX_DEV_LEN]; - LPTSTR DeviceID = NULL; - BOOL DevExist = FALSE; - INT ClassRet; - INT index = 0; - INT DevImage; - BOOL IsUnknown = FALSE; - BOOL IsHidden = FALSE; + PDEVCLASS_ENTRY pClassArray; + ULONG ulClassCount; - do - { - ClassRet = EnumDeviceClasses(index, - bShowHidden, - DevName, - DevDesc, - &DevExist, - &DevImage, - &IsUnknown, - &IsHidden); + ulClassCount = GetClassCount(); - if ((ClassRet != -1) && (DevExist) && !IsHidden) - { - TCHAR DeviceName[MAX_DEV_LEN]; - INT DevIndex = 0; - LONG Ret; + pClassArray = HeapAlloc(GetProcessHeap(), + HEAP_ZERO_MEMORY, + ulClassCount * sizeof(DEVCLASS_ENTRY)); + if (pClassArray == NULL) + return; - if (DevDesc[0] != _T('\0')) - { - hDevItem = InsertIntoTreeView(hTreeView, - hRoot, - DevDesc, - NULL, - DevImage, - 0); - } - else - { - hDevItem = InsertIntoTreeView(hTreeView, - hRoot, - DevName, - NULL, - DevImage, - 0); - } + EnumDeviceClasses(hTreeView, + hRoot, + pClassArray, + ulClassCount); - do - { - Ret = EnumDevices(DevIndex, - IsUnknown ? NULL : DevName, - DeviceName, - &DeviceID); - if (Ret >= 0) - { - InsertIntoTreeView(hTreeView, - hDevItem, - DeviceName, - DeviceID, - DevImage, - Ret); - if (Ret != 0) - { - /* Expand the class if the device has a problem */ - (void)TreeView_Expand(hTreeView, - hDevItem, - TVE_EXPAND); - } - } + EnumDevices(hTreeView, + pClassArray, + ulClassCount, + bShowHidden); - DevIndex++; + CleanupDeviceClasses(hTreeView, + pClassArray, + ulClassCount); - } while (Ret != -1); - - /* kill InfoList initialized in EnumDeviceClasses */ - if (hDevInfo) - { - SetupDiDestroyDeviceInfoList(hDevInfo); - hDevInfo = NULL; - } - - /* don't insert classes with no devices */ - if (!TreeView_GetChild(hTreeView, - hDevItem)) - { - (void)TreeView_DeleteItem(hTreeView, - hDevItem); - } - else - { - (void)TreeView_SortChildren(hTreeView, - hDevItem, - 0); - } - } - - index++; - - } while (ClassRet != -1); + if (pClassArray != NULL) + HeapFree(GetProcessHeap(), 0, pClassArray); (void)TreeView_Expand(hTreeView, hRoot, @@ -647,26 +651,16 @@ HTREEITEM InitTreeView(HWND hTreeView) { HTREEITEM hRoot; - HBITMAP hComp; TCHAR ComputerName[MAX_PATH]; DWORD dwSize = MAX_PATH; INT RootImage; (void)TreeView_DeleteAllItems(hTreeView); - /* get the device image List */ + /* Get the device image list */ ImageListData.cbSize = sizeof(ImageListData); SetupDiGetClassImageList(&ImageListData); - hComp = LoadBitmap(hInstance, - MAKEINTRESOURCE(IDB_ROOT_IMAGE)); - - ImageList_Add(ImageListData.ImageList, - hComp, - NULL); - - DeleteObject(hComp); - (void)TreeView_SetImageList(hTreeView, ImageListData.ImageList, TVSIL_NORMAL); @@ -677,9 +671,12 @@ InitTreeView(HWND hTreeView) ComputerName[0] = _T('\0'); } - RootImage = ImageList_GetImageCount(ImageListData.ImageList) - 1; + /* Get the image index of the computer class */ + SetupDiGetClassImageIndex(&ImageListData, + &GUID_DEVCLASS_COMPUTER, + &RootImage); - /* insert the root item into the tree */ + /* Insert the root item into the tree */ hRoot = InsertIntoTreeView(hTreeView, NULL, ComputerName, diff --git a/base/applications/mscutils/devmgmt/lang/ru-RU.rc b/base/applications/mscutils/devmgmt/lang/ru-RU.rc index e5b3b7c058d..b97e31df7e6 100644 --- a/base/applications/mscutils/devmgmt/lang/ru-RU.rc +++ b/base/applications/mscutils/devmgmt/lang/ru-RU.rc @@ -23,7 +23,7 @@ BEGIN MENUITEM "Ресурсы по типу", IDC_RESBYTYPE, GRAYED MENUITEM "Ресурсы по подключению", IDC_RESBYCONN, GRAYED MENUITEM SEPARATOR - MENUITEM "Show hidden devices", IDC_SHOWHIDDEN + MENUITEM "Показать скрытые устройства", IDC_SHOWHIDDEN END POPUP "Справка" BEGIN @@ -75,8 +75,8 @@ BEGIN IDS_HINT_REFRESH " Обновить список." IDS_HINT_PROP " Открыть свойства для выбранного элемента." IDS_HINT_HELP " Показать окно справки." - IDS_HINT_ABOUT " О ReactOS Device Manager." - IDS_HINT_SYS_RESTORE " Востановить нормальный размер этого окна." + IDS_HINT_ABOUT " О Диспетчере устройств ReactOS." + IDS_HINT_SYS_RESTORE " Восстановить нормальный размер этого окна." IDS_HINT_SYS_MOVE " Переместить это окно." IDS_HINT_SYS_SIZE " Изменить размер этого окна." IDS_HINT_SYS_MINIMIZE " Свернуть это окно в значок." diff --git a/base/applications/mscutils/devmgmt/lang/tr-TR.rc b/base/applications/mscutils/devmgmt/lang/tr-TR.rc index 76638bff41d..eb84a0ee557 100644 --- a/base/applications/mscutils/devmgmt/lang/tr-TR.rc +++ b/base/applications/mscutils/devmgmt/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/applications/mscutils/devmgmt/precomp.h b/base/applications/mscutils/devmgmt/precomp.h index 6dcf1b96bb8..3813e994db6 100644 --- a/base/applications/mscutils/devmgmt/precomp.h +++ b/base/applications/mscutils/devmgmt/precomp.h @@ -46,6 +46,15 @@ typedef struct _MAIN_WND_INFO } MAIN_WND_INFO, *PMAIN_WND_INFO; +typedef struct _DEVCLASS_ENTRY +{ + GUID ClassGuid; + INT ClassImage; + BOOL bUsed; + HTREEITEM hItem; +} DEVCLASS_ENTRY, *PDEVCLASS_ENTRY; + + INT_PTR CALLBACK AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); diff --git a/base/applications/mscutils/devmgmt_new/DeviceView.cpp b/base/applications/mscutils/devmgmt_new/DeviceView.cpp index 922ddde4693..4999421ff34 100644 --- a/base/applications/mscutils/devmgmt_new/DeviceView.cpp +++ b/base/applications/mscutils/devmgmt_new/DeviceView.cpp @@ -1,50 +1,114 @@ -#include "StdAfx.h" +/* +* PROJECT: ReactOS Device Manager +* LICENSE: GPL - See COPYING in the top level directory +* FILE: base/applications/mscutils/devmgmt/deviceview.cpp +* PURPOSE: Implements the tree view which holds the devices +* COPYRIGHT: Copyright 2014 Ged Murphy +* +*/ + + +#include "stdafx.h" #include "devmgmt.h" #include "DeviceView.h" -CDeviceView::CDeviceView(HWND hMainWnd) : +/* DATA *********************************************/ + +#define DEVICE_NAME_LEN 256 +#define CLASS_NAME_LEN 256 +#define CLASS_DESC_LEN 256 + +INT_PTR +WINAPI +DevicePropertiesExW( + IN HWND hWndParent OPTIONAL, + IN LPCWSTR lpMachineName OPTIONAL, + IN LPCWSTR lpDeviceID OPTIONAL, + IN DWORD dwFlags OPTIONAL, + IN BOOL bShowDevMgr +); + +typedef INT_PTR(WINAPI *pDevicePropertiesExW)(HWND,LPCWSTR,LPCWSTR,DWORD,BOOL); + + +/* PUBLIC METHODS *************************************/ + +CDeviceView::CDeviceView( + HWND hMainWnd, + ListDevices List + ) : + m_Devices(NULL), m_hMainWnd(hMainWnd), m_hTreeView(NULL), m_hPropertyDialog(NULL), - m_hShortcutMenu(NULL) + m_hShortcutMenu(NULL), + m_ListDevices(List), + m_ShowHidden(FALSE) { + m_Devices = new CDevices(); } - CDeviceView::~CDeviceView(void) { + delete m_Devices; + m_Devices = NULL; } BOOL CDeviceView::Initialize() { + BOOL bSuccess; + + /* Initialize the devices class */ + bSuccess = m_Devices->Initialize(); + if (bSuccess == FALSE) return FALSE; + /* Create the main treeview */ m_hTreeView = CreateWindowExW(WS_EX_CLIENTEDGE, - WC_TREEVIEW, - NULL, - WS_CHILD | WS_VISIBLE | WS_BORDER | TVS_HASLINES | - TVS_HASBUTTONS | TVS_SHOWSELALWAYS | TVS_LINESATROOT, - 0, 0, 0, 0, - m_hMainWnd, - (HMENU)IDC_TREEVIEW, - g_hInstance, - NULL); + WC_TREEVIEW, + NULL, + WS_CHILD | WS_VISIBLE | WS_BORDER | TVS_HASLINES | + TVS_HASBUTTONS | TVS_SHOWSELALWAYS | TVS_LINESATROOT, + 0, 0, 0, 0, + m_hMainWnd, + (HMENU)IDC_TREEVIEW, + g_hInstance, + NULL); if (m_hTreeView) { - + /* Get the devices image list */ + m_ImageList = m_Devices->GetImageList(); + + /* Set the image list against the treeview */ + (VOID)TreeView_SetImageList(m_hTreeView, + m_ImageList, + TVSIL_NORMAL); + + /* Give the treeview arrows instead of +/- boxes (on Win7) */ + SetWindowTheme(m_hTreeView, L"explorer", NULL); } return !!(m_hTreeView); +} + +BOOL +CDeviceView::Uninitialize() +{ + EmptyDeviceView(); + + (VOID)m_Devices->Uninitialize(); return TRUE; } VOID -CDeviceView::Size(INT x, - INT y, - INT cx, - INT cy) +CDeviceView::Size( + _In_ INT x, + _In_ INT y, + _In_ INT cx, + _In_ INT cy + ) { /* Resize the treeview */ SetWindowPos(m_hTreeView, @@ -56,23 +120,503 @@ CDeviceView::Size(INT x, SWP_NOZORDER); } -BOOL -CDeviceView::Uninitialize() -{ - return TRUE; -} VOID CDeviceView::Refresh() { + HANDLE hThread; + + /* Run on a new thread to keep the gui responsive */ + hThread = (HANDLE)_beginthreadex(NULL, + 0, + &ListDevicesThread, + this, + 0, + NULL); + + if (hThread) CloseHandle(hThread); } VOID CDeviceView::DisplayPropertySheet() { +#ifndef __REACTOS__ + pDevicePropertiesExW DevicePropertiesExW; + HMODULE hModule; + + hModule = LoadLibraryW(L"devmgr.dll"); + if (hModule == NULL) return; + + DevicePropertiesExW = (pDevicePropertiesExW)GetProcAddress(hModule, + "DevicePropertiesExW"); + if (DevicePropertiesExW == NULL) + { + FreeLibrary(hModule); + return; + } +#endif + + TV_ITEM tvItem; + + tvItem.hItem = TreeView_GetSelection(m_hTreeView); + tvItem.mask = TVIF_PARAM; + + if (TreeView_GetItem(m_hTreeView, &tvItem) && + (LPTSTR)tvItem.lParam != NULL) + { + DevicePropertiesExW(m_hTreeView, + NULL, + (LPTSTR)tvItem.lParam, + 1,//DPF_EXTENDED, + FALSE); + } + +#ifndef __REACTOS__ + FreeLibrary(hModule); +#endif } VOID CDeviceView::SetFocus() { +} + + +/* PRIVATE METHODS ********************************************/ + +unsigned int __stdcall CDeviceView::ListDevicesThread(void *Param) +{ + CDeviceView *This = (CDeviceView *)Param; + + /* Clear any existing data */ + This->EmptyDeviceView(); + + /* Reset the tree root */ + This->m_hTreeRoot = NULL; + + switch (This->m_ListDevices) + { + case DevicesByType: + (VOID)This->ListDevicesByType(); + break; + + case DevicesByConnection: + (VOID)This->ListDevicesByConnection(); + break; + + case ResourcesByType: + break; + + case ResourcesByConnection: + break; + } + return 0; +} + + +BOOL +CDeviceView::ListDevicesByType() +{ + HTREEITEM hDevItem = NULL; + GUID ClassGuid; + WCHAR ClassName[CLASS_NAME_LEN]; + WCHAR ClassDescription[CLASS_DESC_LEN]; + INT ClassIndex; + INT ClassImage; + LPTSTR DeviceId = NULL; + BOOL bSuccess; + + + /* Get the details of the root of the device tree */ + bSuccess = m_Devices->GetDeviceTreeRoot(ClassName, CLASS_NAME_LEN, &ClassImage); + if (bSuccess) + { + /* Add the root of the device tree to the treeview */ + m_hTreeRoot = InsertIntoTreeView(NULL, + ClassName, + NULL, + ClassImage, + 0); + } + + /* If something went wrong, bail */ + if (m_hTreeRoot == NULL) return FALSE; + + ClassIndex = 0; + do + { + /* Get the next device class */ + bSuccess = m_Devices->EnumClasses(ClassIndex, + &ClassGuid, + ClassName, + CLASS_NAME_LEN, + ClassDescription, + CLASS_DESC_LEN, + &ClassImage); + if (bSuccess) + { + BOOL bDevSuccess, AddedParent; + HANDLE Handle = NULL; + WCHAR DeviceName[DEVICE_NAME_LEN]; + INT DeviceIndex = 0; + BOOL MoreItems = FALSE; + BOOL DeviceHasProblem = FALSE; + ULONG DeviceStatus = 0; + ULONG ProblemNumber = 0; + ULONG OverlayImage = 0; + + AddedParent = FALSE; + + do + { + /* Enum all the devices that belong to this class */ + bDevSuccess = m_Devices->EnumDevicesForClass(&Handle, + &ClassGuid, + DeviceIndex, + &MoreItems, + DeviceName, + DEVICE_NAME_LEN, + &DeviceId, + &DeviceStatus, + &ProblemNumber); + if (bDevSuccess) + { + /* Check if this is a hidden device */ + if (DeviceStatus & DN_NO_SHOW_IN_DM) + { + if (m_ShowHidden == FALSE) + { + DeviceIndex++; + continue; + } + } + + /* Check if the device has a problem */ + if (DeviceStatus & DN_HAS_PROBLEM) + { + DeviceHasProblem = TRUE; + OverlayImage = 1; + } + + /* The disabled overlay takes precidence over the problem overlay */ + if (ProblemNumber == CM_PROB_HARDWARE_DISABLED) + { + OverlayImage = 2; + } + + + /* We have a device, we're gonna need to add the parent first */ + if (AddedParent == FALSE) + { + /* Insert the new class under the root item */ + hDevItem = InsertIntoTreeView(m_hTreeRoot, + ClassDescription, + NULL, + ClassImage, + 0); + + /* Don't add it again */ + AddedParent = TRUE; + } + + /* Add the device under the class item */ + (VOID)InsertIntoTreeView(hDevItem, + DeviceName, + (LPARAM)DeviceId, + ClassImage, + OverlayImage); + + /* Check if there's a problem with the device */ + if (DeviceHasProblem) + { + /* Expand the class */ + (VOID)TreeView_Expand(m_hTreeView, + hDevItem, + TVE_EXPAND); + } + } + + DeviceIndex++; + + } while (MoreItems); + + /* Check if this class has any devices */ + if (AddedParent == TRUE) + { + /* Sort the devices alphabetically */ + (VOID)TreeView_SortChildren(m_hTreeView, + hDevItem, + 0); + } + } + + ClassIndex++; + + } while (bSuccess); + + /* Sort the classes alphabetically */ + (VOID)TreeView_SortChildren(m_hTreeView, + m_hTreeRoot, + 0); + + /* Expand the root item */ + (VOID)TreeView_Expand(m_hTreeView, + m_hTreeRoot, + TVE_EXPAND); + + /* Pre-select the root item */ + (VOID)TreeView_SelectItem(m_hTreeView, + m_hTreeRoot); + + return 0; +} + +BOOL +CDeviceView::ListDevicesByConnection() +{ + WCHAR DeviceName[DEVICE_NAME_LEN]; + INT ClassImage; + BOOL bSuccess; + + /* Get the details of the root of the device tree */ + bSuccess = m_Devices->GetDeviceTreeRoot(DeviceName, DEVICE_NAME_LEN, &ClassImage); + if (bSuccess) + { + /* Add the root of the device tree to the treeview */ + m_hTreeRoot = InsertIntoTreeView(NULL, + DeviceName, + NULL, + ClassImage, + 0); + } + + /* Walk the device tree and add all the devices */ + RecurseChildDevices(m_Devices->GetRootDevice(), m_hTreeRoot); + + /* Expand the root item */ + (VOID)TreeView_Expand(m_hTreeView, + m_hTreeRoot, + TVE_EXPAND); + + return TRUE; +} + +VOID +CDeviceView::RecurseChildDevices( + _In_ DEVINST ParentDevice, + _In_ HTREEITEM hParentTreeItem + ) +{ + HTREEITEM hDevItem = NULL; + DEVINST Device; + WCHAR DeviceName[DEVICE_NAME_LEN]; + LPTSTR DeviceId = NULL; + INT ClassImage; + BOOL IsUnknown = FALSE; + BOOL IsHidden = FALSE; + ULONG DeviceStatus = 0; + ULONG ProblemNumber = 0; + UINT OverlayImage = 0; + BOOL bSuccess; + + /* Check if the parent has any child devices */ + if (m_Devices->GetChildDevice(ParentDevice, &Device) == FALSE) + return; + + /* Lookup the info about this device */ + bSuccess = m_Devices->GetDevice(Device, + DeviceName, + DEVICE_NAME_LEN, + &DeviceId, + &ClassImage, + &DeviceStatus, + &ProblemNumber); + if (bSuccess) + { + /* Check if this is a hidden device */ + if ((m_ShowHidden == TRUE) || (!(DeviceStatus & DN_NO_SHOW_IN_DM))) + { + /* Check if the device has a problem */ + if (DeviceStatus & DN_HAS_PROBLEM) + { + OverlayImage = 1; + } + + /* The disabled overlay takes precidence over the problem overlay */ + if (ProblemNumber == CM_PROB_HARDWARE_DISABLED) + { + OverlayImage = 2; + } + + /* Add this device to the tree under its parent */ + hDevItem = InsertIntoTreeView(hParentTreeItem, + DeviceName, + (LPARAM)DeviceId, + ClassImage, + 0); + + + if (hDevItem) + { + /* Check if this child has any children itself */ + RecurseChildDevices(Device, hDevItem); + } + } + } + + + for (;;) + { + /* Check if the parent device has anything at the same level */ + bSuccess = m_Devices->GetSiblingDevice(Device, &Device); + if (bSuccess == FALSE) break; + + /* Lookup the info about this device */ + bSuccess = m_Devices->GetDevice(Device, + DeviceName, + DEVICE_NAME_LEN, + &DeviceId, + &ClassImage, + &DeviceStatus, + &ProblemNumber); + if (bSuccess) + { + /* Check if this is a hidden device */ + if (DeviceStatus & DN_NO_SHOW_IN_DM) + { + if (m_ShowHidden == FALSE) + continue; + } + + /* Check if the device has a problem */ + if (DeviceStatus & DN_HAS_PROBLEM) + { + OverlayImage = 1; + } + + /* The disabled overlay takes precidence over the problem overlay */ + if (ProblemNumber == CM_PROB_HARDWARE_DISABLED) + { + OverlayImage = 2; + } + + + /* Add this device to the tree under its parent */ + hDevItem = InsertIntoTreeView(hParentTreeItem, + DeviceName, + (LPARAM)DeviceId, + ClassImage, + 0); + if (hDevItem) + { + /* Check if this child has any children itself */ + RecurseChildDevices(Device, hDevItem); + } + } + } + + (void)TreeView_SortChildren(m_hTreeView, + hParentTreeItem, + 0); +} + + HTREEITEM +CDeviceView::InsertIntoTreeView( + _In_ HTREEITEM hParent, + _In_z_ LPWSTR lpLabel, + _In_ LPARAM lParam, + _In_ INT DevImage, + _In_ UINT OverlayImage + ) +{ + TV_ITEMW tvi; + TV_INSERTSTRUCT tvins; + + ZeroMemory(&tvi, sizeof(tvi)); + ZeroMemory(&tvins, sizeof(tvins)); + + tvi.mask = TVIF_TEXT | TVIF_PARAM | TVIF_IMAGE | TVIF_SELECTEDIMAGE; + tvi.pszText = lpLabel; + tvi.cchTextMax = wcslen(lpLabel); + tvi.lParam = lParam; + tvi.iImage = DevImage; + tvi.iSelectedImage = DevImage; + + if (OverlayImage != 0) + { + tvi.mask |= TVIF_STATE; + tvi.stateMask = TVIS_OVERLAYMASK; + tvi.state = INDEXTOOVERLAYMASK(OverlayImage); + } + + tvins.item = tvi; + tvins.hParent = hParent; + + return TreeView_InsertItem(m_hTreeView, &tvins); +} + +VOID +CDeviceView::RecurseDeviceView( + _In_ HTREEITEM hParentItem + ) +{ + HTREEITEM hItem; + TVITEMW tvItem; + + /* Check if this node has any children */ + hItem = TreeView_GetChild(m_hTreeView, hParentItem); + if (hItem == NULL) return; + + /* The lParam contains the device id */ + tvItem.hItem = hItem; + tvItem.mask = TVIF_PARAM; + + /* Get the item data */ + if (TreeView_GetItem(m_hTreeView, &tvItem) && + tvItem.lParam != NULL) + { + /* Free the device id */ + HeapFree(GetProcessHeap(), 0, (LPVOID)tvItem.lParam); + } + + /* This node may have its own children */ + RecurseDeviceView(hItem); + + for (;;) + { + /* Get the next item at this level */ + hItem = TreeView_GetNextSibling(m_hTreeView, hItem); + if (hItem == NULL) break; + + /* The lParam contains the device id */ + tvItem.hItem = hItem; + tvItem.mask = TVIF_PARAM; + + /* Get the item data and free the device id */ + if (TreeView_GetItem(m_hTreeView, &tvItem)) + { + if (tvItem.lParam != NULL) + HeapFree(GetProcessHeap(), 0, (LPVOID)tvItem.lParam); + } + + /* This node may have its own children */ + RecurseDeviceView(hItem); + } +} + + +VOID +CDeviceView::EmptyDeviceView() +{ + HTREEITEM hItem; + + /* Check if there are any items in the tree */ + hItem = TreeView_GetRoot(m_hTreeView); + if (hItem == NULL) return; + + /* Free all the Device Ids */ + RecurseDeviceView(hItem); + + /* Delete all the items */ + (VOID)TreeView_DeleteAllItems(m_hTreeView); } \ No newline at end of file diff --git a/base/applications/mscutils/devmgmt_new/DeviceView.h b/base/applications/mscutils/devmgmt_new/DeviceView.h index 23729c672e4..8466bca512b 100644 --- a/base/applications/mscutils/devmgmt_new/DeviceView.h +++ b/base/applications/mscutils/devmgmt_new/DeviceView.h @@ -1,23 +1,88 @@ #pragma once #include "Devices.h" +enum ListDevices +{ + DevicesByType, + DevicesByConnection, + ResourcesByType, + ResourcesByConnection +}; + class CDeviceView : public CDevices { + CDevices *m_Devices; HWND m_hMainWnd; HWND m_hTreeView; HWND m_hPropertyDialog; HWND m_hShortcutMenu; + ListDevices m_ListDevices; + + HIMAGELIST m_ImageList; + HTREEITEM m_hTreeRoot; + + BOOL m_ShowHidden; public: - CDeviceView(HWND hMainWnd); + CDeviceView( + HWND hMainWnd, + ListDevices List + ); + ~CDeviceView(void); BOOL Initialize(); BOOL Uninitialize(); - VOID Size(INT x, INT y, INT cx, INT cy); + VOID Size( + _In_ INT x, + _In_ INT y, + _In_ INT cx, + _In_ INT cy + ); + VOID Refresh(); VOID DisplayPropertySheet(); VOID SetFocus(); + + VOID SetDeviceListType(ListDevices List) + { + m_ListDevices = List; + } + + VOID ShowHiddenDevices(_In_ BOOL ShowHidden) + { + m_ShowHidden = ShowHidden; + } + +private: + static unsigned int __stdcall ListDevicesThread( + void *Param + ); + + BOOL ListDevicesByConnection( + ); + BOOL ListDevicesByType( + ); + + VOID RecurseChildDevices( + _In_ DEVINST ParentDevice, + _In_ HTREEITEM hParentTreeItem + ); + + HTREEITEM InsertIntoTreeView( + _In_ HTREEITEM hParent, + _In_z_ LPWSTR lpLabel, + _In_ LPARAM lParam, + _In_ INT DevImage, + _In_ UINT OverlayImage + ); + + VOID RecurseDeviceView( + _In_ HTREEITEM hParentItem + ); + + VOID EmptyDeviceView( + ); }; diff --git a/base/applications/mscutils/devmgmt_new/Devices.cpp b/base/applications/mscutils/devmgmt_new/Devices.cpp index ddc687e1b6e..526beb3f416 100644 --- a/base/applications/mscutils/devmgmt_new/Devices.cpp +++ b/base/applications/mscutils/devmgmt_new/Devices.cpp @@ -1,12 +1,622 @@ -#include "StdAfx.h" +/* +* PROJECT: ReactOS Device Manager +* LICENSE: GPL - See COPYING in the top level directory +* FILE: base/applications/mscutils/devmgmt/devices.cpp +* PURPOSE: Wrapper around setupapi functions +* COPYRIGHT: Copyright 2014 Ged Murphy +* +*/ + +#include "stdafx.h" +#include "devmgmt.h" #include "Devices.h" -CDevices::CDevices(void) -{ -} +/* PUBLIC METHODS *****************************************/ +CDevices::CDevices(void) : + m_bInitialized(FALSE), + m_RootImageIndex(-1) +{ + ZeroMemory(&m_ImageListData, sizeof(SP_CLASSIMAGELIST_DATA)); + + m_RootName[0] = UNICODE_NULL; +} CDevices::~CDevices(void) { + ATLASSERT(m_bInitialized == FALSE); } + +BOOL +CDevices::Initialize() +{ + BOOL bSuccess; + + ATLASSERT(m_bInitialized == FALSE); + + /* Get the device image list */ + m_ImageListData.cbSize = sizeof(SP_CLASSIMAGELIST_DATA); + bSuccess = SetupDiGetClassImageList(&m_ImageListData); + if (bSuccess == FALSE) return FALSE; + + bSuccess = CreateRootDevice(); + if (bSuccess) m_bInitialized = TRUE; + + return m_bInitialized; +} + +BOOL +CDevices::Uninitialize() +{ + if (m_ImageListData.ImageList != NULL) + { + SetupDiDestroyClassImageList(&m_ImageListData); + ZeroMemory(&m_ImageListData, sizeof(SP_CLASSIMAGELIST_DATA)); + } + + m_bInitialized = FALSE; + + return TRUE; +} + +BOOL +CDevices::GetDeviceTreeRoot( + _Out_ LPWSTR RootName, + _In_ DWORD RootNameSize, + _Out_ PINT RootImageIndex + ) +{ + wcscpy_s(RootName, RootNameSize, m_RootName); + *RootImageIndex = m_RootImageIndex; + + return TRUE; +} + +BOOL +CDevices::GetChildDevice( + _In_ DEVINST ParentDevInst, + _Out_ PDEVINST DevInst + ) +{ + CONFIGRET cr; + + cr = CM_Get_Child(DevInst, + ParentDevInst, + 0); + return (cr == CR_SUCCESS); +} + +BOOL +CDevices::GetSiblingDevice( + _In_ DEVINST PrevDevice, + _Out_ PDEVINST DevInst + ) +{ + CONFIGRET cr; + + cr = CM_Get_Sibling(DevInst, + PrevDevice, + 0); + return (cr == CR_SUCCESS); +} + +BOOL +CDevices::GetDeviceStatus( + _In_ LPWSTR DeviceId, + _Out_ PULONG Status, + _Out_ PULONG ProblemNumber + ) +{ + DEVINST DeviceInstance; + CONFIGRET cr; + + *Status = 0; + *ProblemNumber = 0; + + /* Use the device id string to lookup the instance */ + cr = CM_Locate_DevNodeW(&DeviceInstance, + DeviceId, + CM_LOCATE_DEVNODE_NORMAL); + if (cr == CR_SUCCESS) + { + /* Get the status of this device */ + cr = CM_Get_DevNode_Status_Ex(Status, + ProblemNumber, + DeviceInstance, + 0, + NULL); + } + + return (cr == CR_SUCCESS) ? TRUE : FALSE; +} + +BOOL +CDevices::GetDevice( + _In_ DEVINST Device, + _Out_writes_(DeviceNameSize) LPWSTR DeviceName, + _In_ DWORD DeviceNameSize, + _Outptr_ LPWSTR *DeviceId, + _Out_ PINT ClassImage, + _Out_ PULONG Status, + _Out_ PULONG ProblemNumber + ) +{ + WCHAR ClassGuidString[MAX_GUID_STRING_LEN]; + GUID ClassGuid; + ULONG ulLength; + CONFIGRET cr; + BOOL bSuccess; + + *DeviceId = NULL; + + /* Get the length of the device id string */ + cr = CM_Get_Device_ID_Size(&ulLength, Device, 0); + if (cr == CR_SUCCESS) + { + /* We alloc heap here because this will be stored in the lParam of the TV */ + *DeviceId = (LPWSTR)HeapAlloc(GetProcessHeap(), + 0, + (ulLength + 1) * sizeof(WCHAR)); + if (*DeviceId) + { + /* Now get the actual device id */ + cr = CM_Get_Device_IDW(Device, + *DeviceId, + ulLength + 1, + 0); + if (cr != CR_SUCCESS) + { + HeapFree(GetProcessHeap(), 0, *DeviceId); + *DeviceId = NULL; + } + } + } + + /* Make sure we got the string */ + if (*DeviceId == NULL) + return FALSE; + + + /* Get the current status of the device */ + bSuccess = GetDeviceStatus(*DeviceId, Status, ProblemNumber); + if (bSuccess == FALSE) + { + HeapFree(GetProcessHeap(), 0, *DeviceId); + *DeviceId = NULL; + return FALSE; + } + + /* Get the class guid for this device */ + ulLength = MAX_GUID_STRING_LEN * sizeof(WCHAR); + cr = CM_Get_DevNode_Registry_PropertyW(Device, + CM_DRP_CLASSGUID, + NULL, + ClassGuidString, + &ulLength, + 0); + if (cr == CR_SUCCESS) + { + /* Convert the string to a proper guid */ + CLSIDFromString(ClassGuidString, &ClassGuid); + } + else + { + /* It's a device with no driver */ + ClassGuid = GUID_DEVCLASS_UNKNOWN; + } + + + /* Get the image for the class this device is in */ + SetupDiGetClassImageIndex(&m_ImageListData, + &ClassGuid, + ClassImage); + + /* Get the description for the device */ + ulLength = DeviceNameSize * sizeof(WCHAR); + cr = CM_Get_DevNode_Registry_PropertyW(Device, + CM_DRP_FRIENDLYNAME, + NULL, + DeviceName, + &ulLength, + 0); + if (cr != CR_SUCCESS) + { + ulLength = DeviceNameSize * sizeof(WCHAR); + cr = CM_Get_DevNode_Registry_PropertyW(Device, + CM_DRP_DEVICEDESC, + NULL, + DeviceName, + &ulLength, + 0); + + } + + /* Cleanup if something failed */ + if (cr != CR_SUCCESS) + { + HeapFree(GetProcessHeap(), 0, *DeviceId); + *DeviceId = NULL; + } + + return (cr == CR_SUCCESS ? TRUE : FALSE); +} + +BOOL +CDevices::EnumClasses( + _In_ ULONG ClassIndex, + _Out_writes_bytes_(sizeof(GUID)) LPGUID ClassGuid, + _Out_writes_(ClassNameSize) LPWSTR ClassName, + _In_ DWORD ClassNameSize, + _Out_writes_(ClassDescSize) LPWSTR ClassDesc, + _In_ DWORD ClassDescSize, + _Out_ PINT ClassImage + ) +{ + DWORD RequiredSize, Type, Size; + CONFIGRET cr; + DWORD Success; + HKEY hKey; + + ClassName[0] = UNICODE_NULL; + ClassDesc[0] = UNICODE_NULL; + *ClassImage = -1; + + /* Get the next class in the list */ + cr = CM_Enumerate_Classes(ClassIndex, + ClassGuid, + 0); + if (cr != CR_SUCCESS) return FALSE; + + /* Get the name of the device class */ + RequiredSize = MAX_CLASS_NAME_LEN; + (VOID)SetupDiClassNameFromGuidW(ClassGuid, + ClassName, + RequiredSize, + &RequiredSize); + + /* Open the registry key for this class */ + hKey = SetupDiOpenClassRegKeyExW(ClassGuid, + MAXIMUM_ALLOWED, + DIOCR_INSTALLER, + NULL, + 0); + if (hKey != INVALID_HANDLE_VALUE) + { + Size = ClassDescSize; + Type = REG_SZ; + + /* Lookup the class description (win7+) */ + Success = RegQueryValueExW(hKey, + L"ClassDesc", + NULL, + &Type, + (LPBYTE)ClassDesc, + &Size); + if (Success == ERROR_SUCCESS) + { + /* Check if the string starts with an @ */ + if (ClassDesc[0] == L'@') + { + /* The description is located in a module resource */ + Success = ConvertResourceDescriptorToString(ClassDesc, ClassDescSize); + } + } + else if (Success == ERROR_FILE_NOT_FOUND) + { + /* WinXP stores the description in the default value */ + Success = RegQueryValueExW(hKey, + NULL, + NULL, + &Type, + (LPBYTE)ClassDesc, + &Size); + } + + /* Close the registry key */ + RegCloseKey(hKey); + } + else + { + Success = GetLastError(); + } + + /* Check if we failed to get the class description */ + if (Success != ERROR_SUCCESS) + { + /* Use the class name as the description */ + wcscpy_s(ClassDesc, ClassDescSize, ClassName); + } + + /* Get the image index for this class */ + (VOID)SetupDiGetClassImageIndex(&m_ImageListData, + ClassGuid, + ClassImage); + + return TRUE; +} + +BOOL +CDevices::EnumDevicesForClass( + _Inout_opt_ LPHANDLE DeviceHandle, + _In_ LPCGUID ClassGuid, + _In_ DWORD Index, + _Out_ LPBOOL MoreItems, + _Out_ LPTSTR DeviceName, + _In_ DWORD DeviceNameSize, + _Outptr_ LPTSTR *DeviceId, + _Out_ PULONG Status, + _Out_ PULONG ProblemNumber + ) +{ + SP_DEVINFO_DATA DeviceInfoData; + DWORD DevIdSize; + HDEVINFO hDevInfo; + BOOL bUnknown, bSuccess; + + *MoreItems = FALSE; + *DeviceName = NULL; + *DeviceId = NULL; + bUnknown = FALSE; + + /* The unknown class is a special case */ + if (IsEqualGUID(*ClassGuid, GUID_DEVCLASS_UNKNOWN)) + bUnknown = TRUE; + + + /* Check if this is the first call for this class */ + if (*DeviceHandle == NULL) + { + ATLASSERT(Index == 0); + + /* Check for the special case */ + if (bUnknown == TRUE) + { + /* Get device info for all devices for all classes */ + hDevInfo = SetupDiGetClassDevsW(NULL, + NULL, + NULL, + DIGCF_ALLCLASSES); + if (hDevInfo == INVALID_HANDLE_VALUE) + return FALSE; + } + else + { + /* We only want the devices for this class */ + hDevInfo = SetupDiGetClassDevsW(ClassGuid, + NULL, + NULL, + DIGCF_PRESENT); + if (hDevInfo == INVALID_HANDLE_VALUE) + return FALSE; + } + + /* Store the handle for the next call */ + *DeviceHandle = (HANDLE)hDevInfo; + } + else + { + hDevInfo = (HDEVINFO)*DeviceHandle; + } + + + /* Get the device info for this device in the class */ + ZeroMemory(&DeviceInfoData, sizeof(SP_DEVINFO_DATA)); + DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA); + bSuccess = SetupDiEnumDeviceInfo(hDevInfo, + Index, + &DeviceInfoData); + if (bSuccess == FALSE) goto Quit; + + + + /* We found a device, let the caller know they might be more */ + *MoreItems = TRUE; + + /* Check if this is the unknown class */ + if (bUnknown) + { + /* We're looking for devices without guids */ + if (IsEqualGUID(DeviceInfoData.ClassGuid, GUID_NULL) == FALSE) + { + /* This is a known device, we aren't interested in it */ + return FALSE; + } + } + + /* Get the size required to hold the device id */ + bSuccess = SetupDiGetDeviceInstanceIdW(hDevInfo, + &DeviceInfoData, + NULL, + 0, + &DevIdSize); + if (bSuccess == FALSE && (GetLastError() != ERROR_INSUFFICIENT_BUFFER)) + goto Quit; + + /* Allocate some heap to hold the device string */ + *DeviceId = (LPTSTR)HeapAlloc(GetProcessHeap(), + 0, + DevIdSize * sizeof(WCHAR)); + if (*DeviceId == NULL) goto Quit; + + /* Now get the device id string */ + bSuccess = SetupDiGetDeviceInstanceIdW(hDevInfo, + &DeviceInfoData, + *DeviceId, + DevIdSize, + NULL); + if (bSuccess == FALSE) goto Quit; + + /* Skip the root device */ + if (*DeviceId != NULL && + wcscmp(*DeviceId, L"HTREE\\ROOT\\0") == 0) + { + bSuccess = FALSE; + goto Quit; + } + + + /* Get the current status of the device */ + bSuccess = GetDeviceStatus(*DeviceId, Status, ProblemNumber); + if (bSuccess == FALSE) goto Quit; + + + /* Get the device's friendly name */ + bSuccess = SetupDiGetDeviceRegistryPropertyW(hDevInfo, + &DeviceInfoData, + SPDRP_FRIENDLYNAME, + 0, + (BYTE*)DeviceName, + 256, + NULL); + if (bSuccess == FALSE) + { + /* if the friendly name fails, try the description instead */ + bSuccess = SetupDiGetDeviceRegistryPropertyW(hDevInfo, + &DeviceInfoData, + SPDRP_DEVICEDESC, + 0, + (BYTE*)DeviceName, + 256, + NULL); + } + + /* If we didn't find a name, check if this is an unknown device */ + if (bSuccess == FALSE && bUnknown == TRUE) + { + /* We add in our own text */ + wcscpy_s(DeviceName, 256, L"Unknown device"); + bSuccess = TRUE; + } + +Quit: + if (MoreItems == FALSE) + SetupDiDestroyDeviceInfoList(hDevInfo); + + if (bSuccess == FALSE) + { + if (*DeviceId) + { + HeapFree(GetProcessHeap(), 0, *DeviceId); + *DeviceId = NULL; + } + } + + return bSuccess; +} + + +/* PRIVATE METHODS ******************************************/ + +BOOL +CDevices::CreateRootDevice() +{ + HBITMAP hRootImage = NULL; + DWORD Size = ROOT_NAME_SIZE; + BOOL bSuccess = FALSE; + CONFIGRET cr; + + /* The root name is the computer name */ + (VOID)GetComputerNameW(m_RootName, &Size); + + /* Load the bitmap we'll be using as the root image */ + hRootImage = LoadBitmapW(g_hInstance, + MAKEINTRESOURCEW(IDB_ROOT_IMAGE)); + if (hRootImage == NULL) goto Cleanup; + + /* Add this bitmap to the device image list. This is a bit hacky, but it's safe */ + m_RootImageIndex = ImageList_Add(m_ImageListData.ImageList, + hRootImage, + NULL); + if (m_RootImageIndex == -1) + goto Cleanup; + + /* Get the root instance */ + cr = CM_Locate_DevNodeW(&m_RootDevInst, + NULL, + CM_LOCATE_DEVNODE_NORMAL); + if (cr == CR_SUCCESS) + bSuccess = TRUE; + +Cleanup: + if (bSuccess == FALSE) + { + SetupDiDestroyClassImageList(&m_ImageListData); + ZeroMemory(&m_ImageListData, sizeof(SP_CLASSIMAGELIST_DATA)); + } + + if (hRootImage) DeleteObject(hRootImage); + + return bSuccess; +} + +DWORD +CDevices::ConvertResourceDescriptorToString( + _Inout_z_ LPWSTR ResourceDescriptor, + _In_ DWORD ResourceDescriptorSize + ) +{ + WCHAR ModulePath[MAX_PATH]; + WCHAR ResString[256]; + INT ResourceId; + HMODULE hModule; + LPWSTR ptr; + DWORD Size; + DWORD dwError; + + + /* First check for a semi colon */ + ptr = wcschr(ResourceDescriptor, L';'); + if (ptr) + { + /* This must be an inf based descriptor, the desc is after the semi colon */ + wcscpy_s(ResourceDescriptor, ResourceDescriptorSize, ++ptr); + dwError = ERROR_SUCCESS; + } + else + { + /* This must be a dll resource based descriptor. Find the comma */ + ptr = wcschr(ResourceDescriptor, L','); + if (ptr == NULL) return ERROR_INVALID_DATA; + + /* Terminate the string where the comma was */ + *ptr = UNICODE_NULL; + + /* Expand any environment strings */ + Size = ExpandEnvironmentStringsW(&ResourceDescriptor[1], ModulePath, MAX_PATH); + if (Size > MAX_PATH) return ERROR_BUFFER_OVERFLOW; + if (Size == 0) return GetLastError(); + + /* Put the comma back and move past it */ + *ptr = L','; + ptr++; + + /* Load the dll */ + hModule = LoadLibraryExW(ModulePath, NULL, LOAD_LIBRARY_AS_DATAFILE); + if (hModule == NULL) return GetLastError(); + + /* Convert the resource id to a number */ + ResourceId = _wtoi(ptr); + + /* If the number is negative, make it positive */ + if (ResourceId < 0) ResourceId = -ResourceId; + + /* Load the string from the dll */ + if (LoadStringW(hModule, ResourceId, ResString, 256)) + { + wcscpy_s(ResourceDescriptor, ResourceDescriptorSize, ResString); + dwError = ERROR_SUCCESS; + } + else + { + dwError = GetLastError(); + } + + /* Free the library */ + FreeLibrary(hModule); + } + + return dwError; +} + + diff --git a/base/applications/mscutils/devmgmt_new/Devices.h b/base/applications/mscutils/devmgmt_new/Devices.h index e0735162ba6..5b2ee81a1a3 100644 --- a/base/applications/mscutils/devmgmt_new/Devices.h +++ b/base/applications/mscutils/devmgmt_new/Devices.h @@ -1,8 +1,97 @@ #pragma once + +#define ROOT_NAME_SIZE MAX_COMPUTERNAME_LENGTH + 1 + class CDevices { +private: + SP_CLASSIMAGELIST_DATA m_ImageListData; + BOOL m_bInitialized; + + DEVINST m_RootDevInst; + WCHAR m_RootName[ROOT_NAME_SIZE]; + INT m_RootImageIndex; + public: CDevices(void); ~CDevices(void); + + BOOL Initialize( + ); + + BOOL Uninitialize( + ); + + BOOL GetDeviceTreeRoot( + _Out_ LPWSTR RootName, + _In_ DWORD RootNameSize, + _Out_ PINT RootImageIndex + ); + + BOOL GetChildDevice( + _In_ DEVINST ParentDevInst, + _Out_ PDEVINST DevInst + ); + + BOOL GetSiblingDevice( + _In_ DEVINST PrevDevice, + _Out_ PDEVINST DevInst + ); + + BOOL GetDevice( + _In_ DEVINST Device, + _Out_writes_(DeviceNameSize) LPTSTR DeviceName, + _In_ DWORD DeviceNameSize, + _Outptr_ LPTSTR *DeviceId, + _Out_ PINT ClassImage, + _Out_ PULONG Status, + _Out_ PULONG ProblemNumber + ); + + BOOL EnumClasses( + _In_ ULONG ClassIndex, + _Out_writes_bytes_(sizeof(GUID)) LPGUID ClassGuid, + _Out_writes_(ClassNameSize) LPWSTR ClassName, + _In_ DWORD ClassNameSize, + _Out_writes_(ClassDescSize) LPWSTR ClassDesc, + _In_ DWORD ClassDescSize, + _Out_ PINT ClassImage + ); + + BOOL EnumDevicesForClass( + _Inout_opt_ LPHANDLE DeviceHandle, + _In_ LPCGUID ClassGuid, + _In_ DWORD Index, + _Out_ LPBOOL MoreItems, + _Out_writes_(DeviceNameSize) LPTSTR DeviceName, + _In_ DWORD DeviceNameSize, + _Outptr_ LPTSTR *DeviceId, + _Out_ PULONG Status, + _Out_ PULONG ProblemNumber + ); + + BOOL GetDeviceStatus( + _In_ LPWSTR DeviceId, + _Out_ PULONG pulStatus, + _Out_ PULONG pulProblemNumber + ); + + + HIMAGELIST GetImageList() { return m_ImageListData.ImageList; } + DEVINST GetRootDevice() { return m_RootDevInst; } + +private: + BOOL CreateImageList( + ); + + BOOL CreateRootDevice( + ); + + DWORD ConvertResourceDescriptorToString( + _Inout_z_ LPWSTR ResourceDescriptor, + _In_ DWORD ResourceDescriptorSize + ); + + }; diff --git a/base/applications/mscutils/devmgmt_new/MainWindow.cpp b/base/applications/mscutils/devmgmt_new/MainWindow.cpp index 4b24304096b..95a996d43ad 100644 --- a/base/applications/mscutils/devmgmt_new/MainWindow.cpp +++ b/base/applications/mscutils/devmgmt_new/MainWindow.cpp @@ -1,7 +1,19 @@ -#include "StdAfx.h" +/* +* PROJECT: ReactOS Device Manager +* LICENSE: GPL - See COPYING in the top level directory +* FILE: base/applications/mscutils/devmgmt/deviceview.cpp +* PURPOSE: Implements main window +* COPYRIGHT: Copyright 2014 Ged Murphy +* +*/ + +#include "stdafx.h" #include "devmgmt.h" #include "MainWindow.h" + +/* DATA *****************************************************/ + /* menu hints */ static const MENU_HINT MainMenuHintTable[] = { @@ -12,7 +24,13 @@ static const MENU_HINT MainMenuHintTable[] = {IDC_REFRESH, IDS_HINT_REFRESH}, {IDC_PROP, IDS_HINT_PROP}, - {IDC_ABOUT, IDS_HINT_ABOUT} + {IDC_ABOUT, IDS_HINT_ABOUT}, + + {IDC_DEVBYTYPE, IDS_HINT_DEV_BY_TYPE}, + {IDC_DEVBYCONN, IDS_HINT_DEV_BY_CONN}, + {IDC_RESBYTYPE, IDS_HINT_RES_BY_TYPE}, + {IDC_RESBYCONN, IDS_HINT_RES_BY_TYPE} + }; /* system menu hints */ @@ -27,8 +45,10 @@ static const MENU_HINT SystemMenuHintTable[] = }; +/* PUBLIC METHODS **********************************************/ CMainWindow::CMainWindow(void) : + m_ToolbarhImageList(NULL), m_hMainWnd(NULL), m_hStatusBar(NULL), m_hToolBar(NULL), @@ -39,405 +59,8 @@ CMainWindow::CMainWindow(void) : CMainWindow::~CMainWindow(void) { -} - -BOOL -CMainWindow::CreateToolBar() -{ - HIMAGELIST hImageList; - HBITMAP hBitmap; - UINT StartResource, EndResource; - INT NumButtons; - BOOL bRet = FALSE; - - static TBBUTTON ToolbarButtons [] = - { - {TBICON_PROP, IDC_PROP, TBSTATE_INDETERMINATE, BTNS_BUTTON, {0}, 0, 0}, - {TBICON_REFRESH, IDC_REFRESH, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, - - /* Add a seperator: First item for a seperator is its width in pixels */ - {15, 0, TBSTATE_ENABLED, BTNS_SEP, {0}, 0, 0}, - }; - - /* Get the number of buttons */ - NumButtons = sizeof(ToolbarButtons) / sizeof(ToolbarButtons[0]); - - /* Create the toolbar window */ - m_hToolBar = CreateWindowExW(0, - TOOLBARCLASSNAME, - NULL, - WS_CHILD | WS_VISIBLE | TBSTYLE_FLAT | TBSTYLE_TOOLTIPS, - 0, 0, 0, 0, - m_hMainWnd, - (HMENU)IDC_TOOLBAR, - g_hInstance, - NULL); - if (m_hToolBar) - { - /* Don't show clipped buttons */ - SendMessageW(m_hToolBar, - TB_SETEXTENDEDSTYLE, - 0, - TBSTYLE_EX_HIDECLIPPEDBUTTONS); - - /* Set the struct size, the toobar needs this... */ - SendMessageW(m_hToolBar, - TB_BUTTONSTRUCTSIZE, - sizeof(ToolbarButtons[0]), - 0); - - /* Create the toolbar icon image list */ - hImageList = ImageList_Create(16, - 16, - ILC_MASK | ILC_COLOR24, - NumButtons, - 0); - if (hImageList) - { - /* Set the index endpoints */ - StartResource = IDB_PROP; - EndResource = IDB_REFRESH; - - /* Add all icons to the image list */ - for (UINT i = StartResource; i <= EndResource; i++) - { - /* Load the image resource */ - hBitmap = (HBITMAP)LoadImage(g_hInstance, - MAKEINTRESOURCE(i), - IMAGE_BITMAP, - 16, - 16, - LR_LOADTRANSPARENT); - if (hBitmap) - { - /* Add it to the image list */ - ImageList_AddMasked(hImageList, - hBitmap, - RGB(255, 0, 128)); - - /* Delete the bitmap */ - DeleteObject(hBitmap); - } - } - - /* Set the new image list */ - hImageList = (HIMAGELIST)SendMessageW(m_hToolBar, - TB_SETIMAGELIST, - 0, - (LPARAM)hImageList); - - /* Destroy any previous list */ - if (hImageList) ImageList_Destroy(hImageList); - - /* Add the buttons */ - bRet = (BOOL)SendMessageW(m_hToolBar, - TB_ADDBUTTONS, - NumButtons, - (LPARAM)ToolbarButtons); - } - } - - return bRet; -} - -BOOL -CMainWindow::CreateStatusBar() -{ - INT StatWidths[] = {110, -1}; /* widths of status bar */ - BOOL bRet = FALSE; - - /* Create the status bar */ - m_hStatusBar = CreateWindowExW(0, - STATUSCLASSNAME, - NULL, - WS_CHILD | WS_VISIBLE | SBARS_SIZEGRIP, - 0, 0, 0, 0, - m_hMainWnd, - (HMENU)IDC_STATUSBAR, - g_hInstance, - NULL); - if (m_hStatusBar) - { - /* Set the width */ - bRet = (BOOL)SendMessage(m_hStatusBar, - SB_SETPARTS, - sizeof(StatWidths) / sizeof(INT), - (LPARAM)StatWidths); - } - - return bRet; -} - -BOOL -CMainWindow::StatusBarLoadString(IN HWND hStatusBar, - IN INT PartId, - IN HINSTANCE hInstance, - IN UINT uID) -{ - CAtlString szMessage; - BOOL bRet = FALSE; - - /* Load the string */ - if (szMessage.LoadStringW(hInstance, uID)) - { - /* Send the message to the status bar */ - bRet = (BOOL)SendMessageW(hStatusBar, - SB_SETTEXT, - (WPARAM)PartId, - (LPARAM)szMessage.GetBuffer()); - } - - return bRet; -} - -LRESULT -CMainWindow::OnCreate(HWND hwnd) -{ - LRESULT RetCode; - - /* Assume failure */ - RetCode = -1; - - /* Store the window handle */ - m_hMainWnd = hwnd; - - /* Create the toolbar */ - if (CreateToolBar()) - { - /* Create the statusbar */ - if (CreateStatusBar()) - { - /* Create the device view object */ - m_DeviceView = new CDeviceView(m_hMainWnd); - - /* Initialize it */ - if (m_DeviceView->Initialize()) - { - /* Display the window according to the user request */ - ShowWindow(hwnd, m_CmdShow); - - /* Set as handled */ - RetCode = 0; - } - } - } - - return RetCode; -} - -LRESULT -CMainWindow::OnSize() -{ - RECT rcClient, rcTool, rcStatus; - INT lvHeight, iToolHeight, iStatusHeight; - - /* Autosize the toolbar */ - SendMessage(m_hToolBar, TB_AUTOSIZE, 0, 0); - - /* Get the toolbar rect and save the height */ - GetWindowRect(m_hToolBar, &rcTool); - iToolHeight = rcTool.bottom - rcTool.top; - - /* Resize the status bar */ - SendMessage(m_hStatusBar, WM_SIZE, 0, 0); - - /* Get the statusbar rect and save the height */ - GetWindowRect(m_hStatusBar, &rcStatus); - iStatusHeight = rcStatus.bottom - rcStatus.top; - - /* Get the full client rect */ - GetClientRect(m_hMainWnd, &rcClient); - - /* Calculate the remaining height for the treeview */ - lvHeight = rcClient.bottom - iToolHeight - iStatusHeight; - - /* Resize the device view */ - m_DeviceView->Size(0, - iToolHeight, - rcClient.right, - lvHeight); - - return 0; -} - -LRESULT -CMainWindow::OnNotify(LPARAM lParam) -{ - - return 0; -} - -LRESULT -CMainWindow::OnContext(LPARAM lParam) -{ - return 0; -} - -LRESULT -CMainWindow::OnCommand(WPARAM wParam, - LPARAM lParam) -{ - LRESULT RetCode = 0; - WORD Msg; - - /* Get the message */ - Msg = LOWORD(wParam); - - switch (Msg) - { - case IDC_PROP: - { - /* Display the device property sheet */ - m_DeviceView->DisplayPropertySheet(); - break; - } - - case IDC_REFRESH: - { - /* Refresh the device list */ - m_DeviceView->Refresh(); - break; - } - - case IDC_ABOUT: - { - /* Blow my own trumpet */ - MessageBoxW(m_hMainWnd, - L"ReactOS Device Manager\r\nCopyright Ged Murphy 2011", - L"About", - MB_OK); - - /* Set focus back to the treeview */ - m_DeviceView->SetFocus(); - break; - } - - case IDC_EXIT: - { - /* Post a close message to the window */ - PostMessageW(m_hMainWnd, - WM_CLOSE, - 0, - 0); - break; - } - - default: - break; - } - - return RetCode; -} - -LRESULT -CMainWindow::OnDestroy() -{ - /* Uninitialize the device view */ - m_DeviceView->Uninitialize(); - - /* Kill the object */ - delete m_DeviceView; - m_DeviceView = NULL; - - /* Clear the user data pointer */ - SetWindowLongPtr(m_hMainWnd, GWLP_USERDATA, 0); - - /* Break the message loop */ - PostQuitMessage(0); - - return 0; -} - -LRESULT CALLBACK -CMainWindow::MainWndProc(HWND hwnd, - UINT msg, - WPARAM wParam, - LPARAM lParam) -{ - CMainWindow *pThis; - LRESULT RetCode = 0; - - /* Get the object pointer from window context */ - pThis = (CMainWindow *)GetWindowLongPtr(hwnd, GWLP_USERDATA); - - /* Check for an invalid pointer */ - if (!pThis) - { - /* Check that this isn't a create message */ - if (msg != WM_CREATE) - { - /* Don't handle null info pointer */ - goto HandleDefaultMessage; - } - } - - switch(msg) - { - case WM_CREATE: - { - /* Get the object pointer from the create param */ - pThis = (CMainWindow *)((LPCREATESTRUCT)lParam)->lpCreateParams; - - /* Store the info pointer in the window's global user data */ - SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)pThis); - - /* Call the create handler */ - RetCode = pThis->OnCreate(hwnd); - break; - } - - case WM_SIZE: - { - RetCode = pThis->OnSize(); - break; - } - - case WM_NOTIFY: - { - /* Handle the notify message */ - RetCode = pThis->OnNotify(lParam); - break; - } - - case WM_CONTEXTMENU: - { - /* Handle creating the context menu */ - RetCode = pThis->OnContext(lParam); - break; - } - - case WM_COMMAND: - { - /* Handle the command message */ - RetCode = pThis->OnCommand(wParam, lParam); - - /* Hand it off to the default message handler */ - goto HandleDefaultMessage; - } - - case WM_CLOSE: - { - /* Destroy the main window */ - DestroyWindow(hwnd); - } - break; - - case WM_DESTROY: - { - /* Call the destroy handler */ - RetCode = pThis->OnDestroy(); - break; - } - - default: - { -HandleDefaultMessage: - RetCode = DefWindowProc(hwnd, msg, wParam, lParam); - break; - } - } - - return RetCode; + /* Destroy any previous list */ + if (m_ToolbarhImageList) ImageList_Destroy(m_ToolbarhImageList); } BOOL @@ -508,4 +131,556 @@ CMainWindow::Run() } return 0; -} \ No newline at end of file +} + + +/* PRIVATE METHODS **********************************************/ + + +BOOL +CMainWindow::MainWndMenuHint(WORD CmdId, + const MENU_HINT *HintArray, + DWORD HintsCount, + UINT DefHintId) +{ + BOOL Found = FALSE; + const MENU_HINT *LastHint; + UINT HintId = DefHintId; + + LastHint = HintArray + HintsCount; + while (HintArray != LastHint) + { + if (HintArray->CmdId == CmdId) + { + HintId = HintArray->HintId; + Found = TRUE; + break; + } + HintArray++; + } + + StatusBarLoadString(m_hStatusBar, + SB_SIMPLEID, + g_hInstance, + HintId); + + return Found; +} + +BOOL +CMainWindow::UpdateDevicesDisplay(ListDevices List) +{ + UINT CheckId; + BOOL bSuccess; + + /* Set the new type*/ + m_DeviceView->SetDeviceListType(List); + + /* Get the menu item id */ + switch (List) + { + case DevicesByType: CheckId = IDC_DEVBYTYPE; break; + case DevicesByConnection: CheckId = IDC_DEVBYCONN; break; + case ResourcesByType: CheckId = IDC_RESBYTYPE; break; + case ResourcesByConnection: CheckId = IDC_RESBYCONN; break; + default: ATLASSERT(FALSE); break; + } + + /* Set the new check item */ + bSuccess = CheckMenuRadioItem(m_hMenu, + IDC_DEVBYTYPE, + IDC_RESBYCONN, + CheckId, + MF_BYCOMMAND); + + /* Refresh the view */ + m_DeviceView->Refresh(); + + return TRUE; +} + +BOOL +CMainWindow::CreateToolBar() +{ + HIMAGELIST hImageList; + HBITMAP hBitmap; + UINT StartResource, EndResource; + INT NumButtons; + BOOL bRet = FALSE; + + static TBBUTTON ToolbarButtons [] = + { + {TBICON_PROP, IDC_PROP, TBSTATE_INDETERMINATE, BTNS_BUTTON, {0}, 0, 0}, + {TBICON_REFRESH, IDC_REFRESH, TBSTATE_ENABLED, BTNS_BUTTON, {0}, 0, 0}, + + /* Add a seperator: First item for a seperator is its width in pixels */ + {15, 0, TBSTATE_ENABLED, BTNS_SEP, {0}, 0, 0}, + }; + + /* Calculate the number of buttons */ + NumButtons = sizeof(ToolbarButtons) / sizeof(ToolbarButtons[0]); + + /* Create the toolbar window */ + m_hToolBar = CreateWindowExW(0, + TOOLBARCLASSNAME, + NULL, + WS_CHILD | WS_VISIBLE | TBSTYLE_FLAT | TBSTYLE_TOOLTIPS, + 0, 0, 0, 0, + m_hMainWnd, + (HMENU)IDC_TOOLBAR, + g_hInstance, + NULL); + if (m_hToolBar == NULL) return FALSE; + + /* Don't show clipped buttons */ + SendMessageW(m_hToolBar, + TB_SETEXTENDEDSTYLE, + 0, + TBSTYLE_EX_HIDECLIPPEDBUTTONS); + + /* Set the struct size, the toobar needs this... */ + SendMessageW(m_hToolBar, + TB_BUTTONSTRUCTSIZE, + sizeof(ToolbarButtons[0]), + 0); + + /* Create the toolbar icon image list */ + m_ToolbarhImageList = ImageList_Create(16, + 16, + ILC_MASK | ILC_COLOR24, + NumButtons, + 0); + if (m_ToolbarhImageList == NULL) return FALSE; + + /* Set the index endpoints */ + StartResource = IDB_PROP; + EndResource = IDB_REFRESH; + + /* Add all icons to the image list */ + for (UINT i = StartResource; i <= EndResource; i++) + { + /* Load the image resource */ + hBitmap = (HBITMAP)LoadImage(g_hInstance, + MAKEINTRESOURCE(i), + IMAGE_BITMAP, + 16, + 16, + LR_LOADTRANSPARENT); + if (hBitmap) + { + /* Add it to the image list */ + ImageList_AddMasked(m_ToolbarhImageList, + hBitmap, + RGB(255, 0, 128)); + + /* Delete the bitmap */ + DeleteObject(hBitmap); + } + } + + /* Set the new image list */ + hImageList = (HIMAGELIST)SendMessageW(m_hToolBar, + TB_SETIMAGELIST, + 0, + (LPARAM)m_ToolbarhImageList); + + /* Destroy any previous list */ + if (hImageList) ImageList_Destroy(hImageList); + + /* Add the buttons */ + bRet = (BOOL)SendMessageW(m_hToolBar, + TB_ADDBUTTONS, + NumButtons, + (LPARAM)ToolbarButtons); + + return bRet; +} + +BOOL +CMainWindow::CreateStatusBar() +{ + INT StatWidths[] = {110, -1}; /* widths of status bar */ + BOOL bRet = FALSE; + + /* Create the status bar */ + m_hStatusBar = CreateWindowExW(0, + STATUSCLASSNAME, + NULL, + WS_CHILD | WS_VISIBLE | SBARS_SIZEGRIP, + 0, 0, 0, 0, + m_hMainWnd, + (HMENU)IDC_STATUSBAR, + g_hInstance, + NULL); + if (m_hStatusBar) + { + /* Set the width */ + bRet = (BOOL)SendMessageW(m_hStatusBar, + SB_SETPARTS, + sizeof(StatWidths) / sizeof(INT), + (LPARAM)StatWidths); + } + + return bRet; +} + +BOOL +CMainWindow::StatusBarLoadString(IN HWND hStatusBar, + IN INT PartId, + IN HINSTANCE hInstance, + IN UINT uID) +{ + CAtlString szMessage; + BOOL bRet = FALSE; + + /* Load the string */ + if (szMessage.LoadStringW(hInstance, uID)) + { + /* Send the message to the status bar */ + bRet = (BOOL)SendMessageW(hStatusBar, + SB_SETTEXT, + (WPARAM)PartId, + (LPARAM)szMessage.GetBuffer()); + } + + return bRet; +} + +LRESULT +CMainWindow::OnCreate(HWND hwnd) +{ + LRESULT RetCode; + + /* Assume failure */ + RetCode = -1; + + /* Store the window handle */ + m_hMainWnd = hwnd; + + /* Get the menu handle */ + m_hMenu = GetMenu(m_hMainWnd); + + /* Create the toolbar */ + if (CreateToolBar() && CreateStatusBar()) + { + /* Create the device view object */ + m_DeviceView = new CDeviceView(m_hMainWnd, DevicesByType); + + /* Initialize it */ + if (m_DeviceView->Initialize()) + { + UpdateDevicesDisplay(DevicesByType); + + /* Display the window according to the user request */ + ShowWindow(hwnd, m_CmdShow); + + /* Set as handled */ + RetCode = 0; + } + } + + return RetCode; +} + +LRESULT +CMainWindow::OnSize() +{ + RECT rcClient, rcTool, rcStatus; + INT lvHeight, iToolHeight, iStatusHeight; + + /* Autosize the toolbar */ + SendMessage(m_hToolBar, TB_AUTOSIZE, 0, 0); + + /* Get the toolbar rect and save the height */ + GetWindowRect(m_hToolBar, &rcTool); + iToolHeight = rcTool.bottom - rcTool.top; + + /* Resize the status bar */ + SendMessage(m_hStatusBar, WM_SIZE, 0, 0); + + /* Get the statusbar rect and save the height */ + GetWindowRect(m_hStatusBar, &rcStatus); + iStatusHeight = rcStatus.bottom - rcStatus.top; + + /* Get the full client rect */ + GetClientRect(m_hMainWnd, &rcClient); + + /* Calculate the remaining height for the treeview */ + lvHeight = rcClient.bottom - iToolHeight - iStatusHeight; + + /* Resize the device view */ + m_DeviceView->Size(0, + iToolHeight, + rcClient.right, + lvHeight); + + return 0; +} + +LRESULT +CMainWindow::OnNotify(LPARAM lParam) +{ + LPNMHDR NmHdr = (LPNMHDR)lParam; + + switch (NmHdr->code) + { + case TVN_DELETEITEMW: + { + LPNMTREEVIEW NmTreeView = (LPNMTREEVIEW)lParam; + + NmTreeView->action = NmTreeView->action; + + break; + } + + case NM_DBLCLK: + { + m_DeviceView->DisplayPropertySheet(); + break; + } + + case NM_RETURN: + { + m_DeviceView->DisplayPropertySheet(); + break; + } + } + + return 0; +} + +LRESULT +CMainWindow::OnContext(LPARAM lParam) +{ + return 0; +} + +LRESULT +CMainWindow::OnCommand(WPARAM wParam, + LPARAM lParam) +{ + LRESULT RetCode = 0; + WORD Msg; + + /* Get the message */ + Msg = LOWORD(wParam); + + switch (Msg) + { + case IDC_PROP: + { + /* Display the device property sheet */ + m_DeviceView->DisplayPropertySheet(); + break; + } + + case IDC_REFRESH: + { + /* Refresh the device list */ + m_DeviceView->Refresh(); + break; + } + + case IDC_DEVBYTYPE: + { + UpdateDevicesDisplay(DevicesByType); + break; + } + + case IDC_DEVBYCONN: + { + UpdateDevicesDisplay(DevicesByConnection); + break; + } + + case IDC_SHOWHIDDEN: + { + UINT CurCheckState, NewCheckState; + + /* Get the current state */ + CurCheckState = GetMenuState(m_hMenu, IDC_SHOWHIDDEN, MF_BYCOMMAND); + + /* Inform the device view of the change */ + if (CurCheckState == MF_CHECKED) + { + NewCheckState = MF_UNCHECKED; + m_DeviceView->ShowHiddenDevices(FALSE); + } + else if (CurCheckState == MF_UNCHECKED) + { + NewCheckState = MF_CHECKED; + m_DeviceView->ShowHiddenDevices(TRUE); + } + else + { + ATLASSERT(FALSE); + break; + } + + /* Set the new check state */ + CheckMenuItem(m_hMenu, IDC_SHOWHIDDEN, MF_BYCOMMAND | NewCheckState); + + /* Refresh the device view */ + m_DeviceView->Refresh(); + break; + } + + case IDC_ABOUT: + { + /* Apportion blame */ + MessageBoxW(m_hMainWnd, + L"ReactOS Device Manager\r\nCopyright Ged Murphy 2014", + L"About", + MB_OK | MB_APPLMODAL); + + /* Set focus back to the treeview */ + m_DeviceView->SetFocus(); + break; + } + + case IDC_EXIT: + { + /* Post a close message to the window */ + PostMessageW(m_hMainWnd, + WM_CLOSE, + 0, + 0); + break; + } + + default: + break; + } + + return RetCode; +} + +LRESULT +CMainWindow::OnDestroy() +{ + /* Uninitialize the device view */ + m_DeviceView->Uninitialize(); + + /* Kill the object */ + delete m_DeviceView; + m_DeviceView = NULL; + + /* Clear the user data pointer */ + SetWindowLongPtr(m_hMainWnd, GWLP_USERDATA, 0); + + /* Break the message loop */ + PostQuitMessage(0); + + return 0; +} + +LRESULT CALLBACK +CMainWindow::MainWndProc(HWND hwnd, + UINT msg, + WPARAM wParam, + LPARAM lParam) +{ + CMainWindow *pThis; + LRESULT RetCode = 0; + + /* Get the object pointer from window context */ + pThis = (CMainWindow *)GetWindowLongPtr(hwnd, GWLP_USERDATA); + + /* Check for an invalid pointer */ + if (pThis == NULL) + { + /* Check that this isn't a create message */ + if (msg != WM_CREATE) + { + /* Don't handle null info pointer */ + goto HandleDefaultMessage; + } + } + + switch(msg) + { + case WM_CREATE: + { + /* Get the object pointer from the create param */ + pThis = (CMainWindow *)((LPCREATESTRUCT)lParam)->lpCreateParams; + + /* Store the info pointer in the window's global user data */ + SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)pThis); + + /* Call the create handler */ + RetCode = pThis->OnCreate(hwnd); + break; + } + + case WM_SIZE: + { + RetCode = pThis->OnSize(); + break; + } + + case WM_NOTIFY: + { + /* Handle the notify message */ + RetCode = pThis->OnNotify(lParam); + break; + } + + case WM_CONTEXTMENU: + { + /* Handle creating the context menu */ + RetCode = pThis->OnContext(lParam); + break; + } + + case WM_MENUSELECT: + { + if (pThis->m_hStatusBar != NULL) + { + if (!pThis->MainWndMenuHint(LOWORD(wParam), + MainMenuHintTable, + sizeof(MainMenuHintTable) / sizeof(MainMenuHintTable[0]), + IDS_HINT_BLANK)) + { + pThis->MainWndMenuHint(LOWORD(wParam), + SystemMenuHintTable, + sizeof(SystemMenuHintTable) / sizeof(SystemMenuHintTable[0]), + IDS_HINT_BLANK); + } + } + + break; + } + + case WM_COMMAND: + { + /* Handle the command message */ + RetCode = pThis->OnCommand(wParam, lParam); + + /* Hand it off to the default message handler */ + goto HandleDefaultMessage; + } + + case WM_CLOSE: + { + /* Destroy the main window */ + DestroyWindow(hwnd); + } + break; + + case WM_DESTROY: + { + /* Call the destroy handler */ + RetCode = pThis->OnDestroy(); + break; + } + + default: + { +HandleDefaultMessage: + RetCode = DefWindowProc(hwnd, msg, wParam, lParam); + break; + } + } + + return RetCode; +} diff --git a/base/applications/mscutils/devmgmt_new/MainWindow.h b/base/applications/mscutils/devmgmt_new/MainWindow.h index b8f74e51972..0ac89e2afa6 100644 --- a/base/applications/mscutils/devmgmt_new/MainWindow.h +++ b/base/applications/mscutils/devmgmt_new/MainWindow.h @@ -14,10 +14,25 @@ class CMainWindow HWND m_hMainWnd; HWND m_hStatusBar; HWND m_hToolBar; + HIMAGELIST m_ToolbarhImageList; + HMENU m_hMenu; int m_CmdShow; +public: + CMainWindow(void); + ~CMainWindow(void); + + BOOL Initialize(LPCTSTR lpCaption, int nCmdShow); + INT Run(); + VOID Uninitialize(); + private: - static LRESULT CALLBACK MainWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); + static LRESULT CALLBACK MainWndProc( + HWND hwnd, + UINT msg, + WPARAM wParam, + LPARAM lParam + ); LRESULT OnCreate(HWND hwnd); LRESULT OnDestroy(); @@ -28,16 +43,23 @@ private: BOOL CreateToolBar(); BOOL CreateStatusBar(); - BOOL StatusBarLoadString(HWND hStatusBar, INT PartId, HINSTANCE hInstance, UINT uID); -public: - CMainWindow(void); - ~CMainWindow(void); - - BOOL Initialize(LPCTSTR lpCaption, int nCmdShow); - INT Run(); - VOID Uninitialize(); + BOOL StatusBarLoadString( + HWND hStatusBar, + INT PartId, + HINSTANCE hInstance, + UINT uID + ); + BOOL MainWndMenuHint( + WORD CmdId, + const MENU_HINT *HintArray, + DWORD HintsCount, + UINT DefHintId + ); + BOOL UpdateDevicesDisplay( + ListDevices List + ); }; diff --git a/base/applications/mscutils/devmgmt_new/Resource.h b/base/applications/mscutils/devmgmt_new/Resource.h index 9d6feb50932..c3034c3e437 100644 --- a/base/applications/mscutils/devmgmt_new/Resource.h +++ b/base/applications/mscutils/devmgmt_new/Resource.h @@ -19,12 +19,15 @@ #define IDR_MAINMENU 102 #define IDR_POPUP 103 #define IDC_DEVBYTYPE 104 +#define IDC_DEVBYCONN 105 +#define IDC_RESBYTYPE 106 +#define IDC_RESBYCONN 107 +#define IDC_SHOWHIDDEN 108 /* tooltips */ #define IDS_TOOLTIP_PROP 6000 #define IDS_TOOLTIP_REFRESH 6001 #define IDS_TOOLTIP_HELP 6002 -#define IDS_TOOLTIP_EXIT 6003 /* button bitmaps */ #define IDB_PROP 10000 @@ -34,7 +37,6 @@ #define TBICON_PROP 0 #define TBICON_REFRESH 1 #define TBICON_HELP 2 -#define TBICON_EXIT 3 /* about box info */ #define IDD_ABOUTBOX 200 @@ -51,6 +53,11 @@ #define IDS_HINT_ABOUT 20005 #define IDS_HINT_EXIT 20006 +#define IDS_HINT_DEV_BY_TYPE 20020 +#define IDS_HINT_DEV_BY_CONN 20021 +#define IDS_HINT_RES_BY_TYPE 20022 +#define IDS_HINT_RES_BY_CONN 20023 + /* system menu hints */ #define IDS_HINT_SYS_RESTORE 21001 #define IDS_HINT_SYS_MOVE 21002 diff --git a/base/applications/mscutils/devmgmt_new/devmgmt.cpp b/base/applications/mscutils/devmgmt_new/devmgmt.cpp index 7795c771a92..e22c44620fe 100644 --- a/base/applications/mscutils/devmgmt_new/devmgmt.cpp +++ b/base/applications/mscutils/devmgmt_new/devmgmt.cpp @@ -19,12 +19,12 @@ wWinMain(HINSTANCE hThisInstance, int Ret = 1; /* Check if the app is already running */ - hMutex = CreateMutexW(NULL, TRUE, L"devmgmt_mutex"); + hMutex = CreateMutexW(NULL, TRUE, L"devmgmt_mutex2"); if (hMutex == NULL || GetLastError() == ERROR_ALREADY_EXISTS) { /* Cleanup and exit */ - if (hMutex) CloseHandle(hMutex); - return 0; + //if (hMutex) CloseHandle(hMutex); + //return 0; } /* Store the global values */ @@ -40,8 +40,7 @@ wWinMain(HINSTANCE hThisInstance, if (szAppName.LoadStringW(g_hInstance, IDS_APPNAME)) { /* Initialize the main window */ - if (MainWindow.Initialize(szAppName, - nCmdShow)) + if (MainWindow.Initialize(szAppName, nCmdShow)) { /* Run the application */ Ret = MainWindow.Run(); diff --git a/base/applications/mscutils/devmgmt_new/devmgmt.exe.manifest b/base/applications/mscutils/devmgmt_new/devmgmt.exe.manifest new file mode 100644 index 00000000000..0c2924a0984 --- /dev/null +++ b/base/applications/mscutils/devmgmt_new/devmgmt.exe.manifest @@ -0,0 +1,24 @@ + + + +ReactOS Device Manager + + + + + + + diff --git a/base/applications/mscutils/devmgmt_new/devmgmt.rc b/base/applications/mscutils/devmgmt_new/devmgmt.rc index ec5d1382349..e38c107f190 100644 Binary files a/base/applications/mscutils/devmgmt_new/devmgmt.rc and b/base/applications/mscutils/devmgmt_new/devmgmt.rc differ diff --git a/base/applications/mscutils/devmgmt_new/devmgmt_new.sln b/base/applications/mscutils/devmgmt_new/devmgmt_new.sln index 9efc23a2901..6c106665363 100644 --- a/base/applications/mscutils/devmgmt_new/devmgmt_new.sln +++ b/base/applications/mscutils/devmgmt_new/devmgmt_new.sln @@ -1,7 +1,9 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "devmgmt_new", "devmgmt_new.vcxproj", "{A5AB2C1A-A085-4A2A-951C-F3CF22DA2890}" +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.30501.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "devmgmt_new", "devmgmt_new.vcxproj", "{47B3358F-E7C3-4D02-9310-68813B9292E0}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -9,10 +11,12 @@ Global Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {A5AB2C1A-A085-4A2A-951C-F3CF22DA2890}.Debug|Win32.ActiveCfg = Debug|Win32 - {A5AB2C1A-A085-4A2A-951C-F3CF22DA2890}.Debug|Win32.Build.0 = Debug|Win32 - {A5AB2C1A-A085-4A2A-951C-F3CF22DA2890}.Release|Win32.ActiveCfg = Release|Win32 - {A5AB2C1A-A085-4A2A-951C-F3CF22DA2890}.Release|Win32.Build.0 = Release|Win32 + {47B3358F-E7C3-4D02-9310-68813B9292E0}.Debug|Win32.ActiveCfg = Debug|Win32 + {47B3358F-E7C3-4D02-9310-68813B9292E0}.Debug|Win32.Build.0 = Debug|Win32 + {47B3358F-E7C3-4D02-9310-68813B9292E0}.Debug|Win32.Deploy.0 = Debug|Win32 + {47B3358F-E7C3-4D02-9310-68813B9292E0}.Release|Win32.ActiveCfg = Release|Win32 + {47B3358F-E7C3-4D02-9310-68813B9292E0}.Release|Win32.Build.0 = Release|Win32 + {47B3358F-E7C3-4D02-9310-68813B9292E0}.Release|Win32.Deploy.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/base/applications/mscutils/devmgmt_new/devmgmt_new.vcxproj b/base/applications/mscutils/devmgmt_new/devmgmt_new.vcxproj index 489cc3a531d..d92e54b3db8 100644 --- a/base/applications/mscutils/devmgmt_new/devmgmt_new.vcxproj +++ b/base/applications/mscutils/devmgmt_new/devmgmt_new.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -11,7 +11,7 @@ - {A5AB2C1A-A085-4A2A-951C-F3CF22DA2890} + {47B3358F-E7C3-4D02-9310-68813B9292E0} Win32Proj devmgmt_new @@ -19,15 +19,15 @@ Application true + v120_xp Unicode - Static Application false + v120_xp true Unicode - Static @@ -41,13 +41,16 @@ true + false false + false - Use + + Level3 Disabled WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) @@ -55,13 +58,17 @@ Windows true - comctl32.lib;%(AdditionalDependencies) + UxTheme.lib;comctl32.lib;setupapi.lib;%(AdditionalDependencies) + + LANGUAGE_EN_US;%(PreprocessorDefinitions) + Level3 - Use + + MaxSpeed true true @@ -72,8 +79,16 @@ true true true + UxTheme.lib;comctl32.lib;setupapi.lib;%(AdditionalDependencies) + + + + + + + @@ -82,16 +97,6 @@ - - - - - - - Create - Create - - diff --git a/base/applications/mscutils/devmgmt_new/devmgmt_new.vcxproj.filters b/base/applications/mscutils/devmgmt_new/devmgmt_new.vcxproj.filters new file mode 100644 index 00000000000..158d5a20242 --- /dev/null +++ b/base/applications/mscutils/devmgmt_new/devmgmt_new.vcxproj.filters @@ -0,0 +1,59 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Resource Files + + + \ No newline at end of file diff --git a/base/applications/mscutils/devmgmt_new/lang/bg-BG.rc b/base/applications/mscutils/devmgmt_new/lang/bg-BG.rc index b2ec272c453..702ffe69337 100644 --- a/base/applications/mscutils/devmgmt_new/lang/bg-BG.rc +++ b/base/applications/mscutils/devmgmt_new/lang/bg-BG.rc @@ -44,12 +44,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "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.\r\n\r\nThis 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.\r\n\r\nYou 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." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "" IDS_TOOLTIP_REFRESH "" @@ -58,7 +58,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME " " IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/de-DE.rc b/base/applications/mscutils/devmgmt_new/lang/de-DE.rc index 9fcd99f6f7a..687823e40ec 100644 --- a/base/applications/mscutils/devmgmt_new/lang/de-DE.rc +++ b/base/applications/mscutils/devmgmt_new/lang/de-DE.rc @@ -44,12 +44,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "Dieses Programm ist kostenlos; Sie knnen es frei verteilen mit od. ohne nderungen unter der GNU Lesser General Public License, wie es von der Free Software Foundation verffentlicht wurde; entweder Version 2.1 der Lizenz, oder eine sptere Version (ihrer Wahl).\r\n\r\nThis 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.\r\n\r\nYou 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." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Eigenschaften" IDS_TOOLTIP_REFRESH "Aktualisieren" @@ -58,7 +58,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "ReactOS Gerte-Manager" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/el-GR.rc b/base/applications/mscutils/devmgmt_new/lang/el-GR.rc index 9280afabc4c..9e0d61c3ff2 100644 --- a/base/applications/mscutils/devmgmt_new/lang/el-GR.rc +++ b/base/applications/mscutils/devmgmt_new/lang/el-GR.rc @@ -44,12 +44,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "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.\r\n\r\nThis 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.\r\n\r\nYou 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." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "" IDS_TOOLTIP_REFRESH "" @@ -58,7 +58,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME " ReactOS" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/en-US.rc b/base/applications/mscutils/devmgmt_new/lang/en-US.rc index d66316605fc..251101b3fd1 100644 --- a/base/applications/mscutils/devmgmt_new/lang/en-US.rc +++ b/base/applications/mscutils/devmgmt_new/lang/en-US.rc @@ -4,24 +4,27 @@ IDR_MAINMENU MENU BEGIN POPUP "&File" BEGIN - MENUITEM "E&xit", IDC_EXIT + MENUITEM "E&xit", IDC_EXIT END POPUP "Action" BEGIN - MENUITEM "Print", IDC_PRINT, GRAYED + MENUITEM "Scan for hardware changes" IDC_REFRESH + MENUITEM "Print", IDC_PRINT, GRAYED MENUITEM SEPARATOR - MENUITEM "Properties", IDC_PROP, GRAYED + MENUITEM "Properties", IDC_PROP, GRAYED END POPUP "View" BEGIN - MENUITEM "Devices by type", IDC_DEVBYTYPE, CHECKED - MENUITEM "Devices by connection", IDC_STATIC, GRAYED - MENUITEM "Resources by type", IDC_STATIC, GRAYED - MENUITEM "Resources by connection", IDC_STATIC, GRAYED + MENUITEM "Devices by type", IDC_DEVBYTYPE + MENUITEM "Devices by connection", IDC_DEVBYCONN + MENUITEM "Resources by type", IDC_RESBYTYPE, GRAYED + MENUITEM "Resources by connection", IDC_RESBYCONN, GRAYED + MENUITEM SEPARATOR + MENUITEM "Show hidden devices", IDC_SHOWHIDDEN END POPUP "Help" BEGIN - MENUITEM "About", IDC_ABOUT + MENUITEM "About", IDC_ABOUT END END @@ -29,7 +32,7 @@ IDR_POPUP MENU BEGIN POPUP "popup" BEGIN - MENUITEM "Properties", IDC_PROP, GRAYED + MENUITEM "Properties", IDC_PROP, GRAYED END END @@ -38,36 +41,40 @@ CAPTION "About Device Manager" FONT 8,"MS Shell Dlg",0,0 STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME BEGIN - LTEXT "Device Manager v0.1\nCopyright (C) 2006\nby Ged Murphy (gedmurphy@gmail.com)", IDC_STATIC, 48, 7, 130, 30 + LTEXT "Device Manager v0.2\nCopyright (C) 2012\nby Ged Murphy (gedmurphy@reactos.org)", IDC_STATIC, 48, 7, 130, 30 PUSHBUTTON "Close", IDOK, 75, 162, 44, 15 ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30 EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "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.\r\n\r\nThis 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.\r\n\r\nYou 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." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Properties" - IDS_TOOLTIP_REFRESH "Refresh" + IDS_TOOLTIP_REFRESH "Scan for hardware changes" IDS_TOOLTIP_HELP "Help" - IDS_TOOLTIP_EXIT "Exit" END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN - IDS_APPNAME "ReactOS Device Manager" + IDS_APPNAME "ReactOS Device Manager" IDS_HINT_BLANK " " IDS_HINT_EXIT " Exits the program." - IDS_HINT_REFRESH " Refresh the service list." - IDS_HINT_PROP " Open property sheet for the current selection." + IDS_HINT_REFRESH " Scan for changed or new Plug and Play devices." + IDS_HINT_PROP " Open property dialog for the current selection." IDS_HINT_HELP " Display help window." IDS_HINT_ABOUT " About ReactOS Device Manager." + IDS_HINT_DEV_BY_TYPE "Displays devices by hardware type" + IDS_HINT_DEV_BY_CONN "Displays devices by connection" + IDS_HINT_RES_BY_TYPE "Diaplays resources by type" + IDS_HINT_RES_BY_CONN "Displays resources by connection type" + IDS_HINT_SYS_RESTORE " Restores this window to normal size." IDS_HINT_SYS_MOVE " Moves this window." IDS_HINT_SYS_SIZE " Resizes this window." diff --git a/base/applications/mscutils/devmgmt_new/lang/es-ES.rc b/base/applications/mscutils/devmgmt_new/lang/es-ES.rc index 2455689e9c9..19ea7fc332f 100644 --- a/base/applications/mscutils/devmgmt_new/lang/es-ES.rc +++ b/base/applications/mscutils/devmgmt_new/lang/es-ES.rc @@ -48,12 +48,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "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.\r\n\r\nThis 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.\r\n\r\nYou 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." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Propiedades" IDS_TOOLTIP_REFRESH "Actualizar" @@ -62,7 +62,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "Gestor de Dispositivos de ReactOS" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/fr-FR.rc b/base/applications/mscutils/devmgmt_new/lang/fr-FR.rc index 1e59b0e42cb..25fe2fd2738 100644 --- a/base/applications/mscutils/devmgmt_new/lang/fr-FR.rc +++ b/base/applications/mscutils/devmgmt_new/lang/fr-FR.rc @@ -44,12 +44,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier tout en respectant les termes de la ""GNU General Public License"" publie par la Free Software Foundation; dans sa version 2 (ou selon votre prfrence) toute version ultrieure.\r\n\r\nCe programme est distribu dans l'espoir qu'il sera utile, cependant SANS GARANTIE D'AUCUNE SORTE ; sans mme une garantie implicite de COMMERCIABILIT ou DE CONFORMIT UNE UTILISATION PARTICULIRE. \r\n\r\nVoir la Licence Publique Gnrale GNU pour plus de dtails. Vous devriez avoir reu un exemplaire de la Licence Publique Gnrale GNU avec ce programme ; si ce n'est pas le cas, crivez la Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Proprits" IDS_TOOLTIP_REFRESH "Actualiser" @@ -58,7 +58,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "Gestionnaire de priphriques ReactOS" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/he-IL.rc b/base/applications/mscutils/devmgmt_new/lang/he-IL.rc index 780fb913935..a3b86066b8e 100644 --- a/base/applications/mscutils/devmgmt_new/lang/he-IL.rc +++ b/base/applications/mscutils/devmgmt_new/lang/he-IL.rc @@ -44,12 +44,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "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.\r\n\r\nThis 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.\r\n\r\nYou 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." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "מאפיינים" IDS_TOOLTIP_REFRESH "רענן" @@ -58,7 +58,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "מנהל ההתקנים של ReactOS" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/id-ID.rc b/base/applications/mscutils/devmgmt_new/lang/id-ID.rc index 97ee99f558c..a170a4a4886 100644 --- a/base/applications/mscutils/devmgmt_new/lang/id-ID.rc +++ b/base/applications/mscutils/devmgmt_new/lang/id-ID.rc @@ -44,12 +44,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "Program ini adalah software bebas; anda dapat mendistribusikan dan/atau mengubahnya di bawah term GNU General Public License seperti dipublikasikan oleh Free Software Foundation; baik Lisensi versi 2, atau (menurut opini anda) setiap versi berikutnya.\r\n\r\nProgram ini didistribusikan dengan harapan ia akan berguna, tetapi TANPA JAMINAN APAPUN; bahkan tanpa jaminan berarti dari MERCANTABILITAS atau KECUKUPAN UNTUK KEPERLUAN TERTENTU. Lihat GNU General Public License untuk lebih jelasnya.\r\n\r\nAnda seharusnya menerima duplikat GNU General Public License bersamaan dengan program ini; jika tidak, tulis ke Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Properti" IDS_TOOLTIP_REFRESH "Segarkan" @@ -58,7 +58,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "Manajer Device ReactOS" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/it-IT.rc b/base/applications/mscutils/devmgmt_new/lang/it-IT.rc index 92a954b4102..47975e427ca 100644 --- a/base/applications/mscutils/devmgmt_new/lang/it-IT.rc +++ b/base/applications/mscutils/devmgmt_new/lang/it-IT.rc @@ -44,12 +44,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "Questo programma software libero; puoi distribuirlo e/o modificarlo nei termini di licenza di 'GNU General Public License' come pubblicata dalla 'Free Software Foundation'; entrambe le versioni 2 della Licenza, o (a vostra scelta) qualunque versione successiva.\r\n\r\nQuesto programma distribuito con l'augurio che sia utile, ma PRIVO DI OGNI GARANZIA; privo anche della garanzia implicita di COMMERCIABILIT o UTILIZZABILIT PER UNO SPECIFICO USO. Vedi la 'GNU General Public License' per ulteriori dettagli.\r\n\r\nVoi dovreste aver ricevuto una copia della 'GNU General Public License' assieme a questo programma; se non cosi' scrivete a 'Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Propriet" IDS_TOOLTIP_REFRESH "Aggiorna" @@ -58,7 +58,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "ReactOS: Gestione Dispositivi" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/ja-JP.rc b/base/applications/mscutils/devmgmt_new/lang/ja-JP.rc index 5214169a44b..11db0d1785b 100644 --- a/base/applications/mscutils/devmgmt_new/lang/ja-JP.rc +++ b/base/applications/mscutils/devmgmt_new/lang/ja-JP.rc @@ -44,12 +44,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "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.\r\n\r\nThis 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.\r\n\r\nYou 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." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "vpeB" IDS_TOOLTIP_REFRESH "XV" @@ -58,7 +58,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "ReactOS foCX }l[W" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/ko-KR.rc b/base/applications/mscutils/devmgmt_new/lang/ko-KR.rc index b75ee5ebae5..08516f30660 100644 --- a/base/applications/mscutils/devmgmt_new/lang/ko-KR.rc +++ b/base/applications/mscutils/devmgmt_new/lang/ko-KR.rc @@ -47,12 +47,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "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.\r\n\r\nThis 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.\r\n\r\nYou 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." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Ӽ" IDS_TOOLTIP_REFRESH " ħ" @@ -61,7 +61,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "ReactOS ġ " IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/no-NO.rc b/base/applications/mscutils/devmgmt_new/lang/no-NO.rc index 27a43d071d3..fdd86474e81 100644 --- a/base/applications/mscutils/devmgmt_new/lang/no-NO.rc +++ b/base/applications/mscutils/devmgmt_new/lang/no-NO.rc @@ -44,12 +44,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "Dette programmet er gratis programvare; du kan distribuere det og/eller endre det under betingelsene av GNU General Public License som er utgitt av Free Software Foundation; version 2 av lisensen, eller (etter din mening) alle senere versjoner.\r\n\r\nDette programmet er utgitt i hp for at det skal kunne brukes, men DET ER INGEN GARANTIER; uten heller forutsatt garantier av SALGBARHET eller SIKKETHET FOR EN ENKELTHET FORML. Se p GNU General Public Lisensen for mere detaljer.\r\n\r\nDu skal ha motatt en kopi av GNU General Public Lisensen sammen med denne programmet; hvis du ikke har motatt det, skriv til Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Egenskaper" IDS_TOOLTIP_REFRESH "Oppdater" @@ -58,7 +58,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "ReactOS Enhetsbehandler" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/pl-PL.rc b/base/applications/mscutils/devmgmt_new/lang/pl-PL.rc index 181ea8150cd..0b3ab9c383b 100644 --- a/base/applications/mscutils/devmgmt_new/lang/pl-PL.rc +++ b/base/applications/mscutils/devmgmt_new/lang/pl-PL.rc @@ -51,12 +51,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "Niniejszy program jest wolnym oprogramowaniem; możesz go rozprowadzać dalej i/lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU, wydanej przez Fundację Wolnego Oprogramowania - według wersji 2 tej Licencji lub (według twojego wyboru) którejś z późniejszych wersji.\r\n\r\nNiniejszy program rozpowszechniany jest z nadzieją, iż będzie on użyteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ. W celu uzyskania bliższych informacji sięgnij do Powszechnej Licencji Publicznej GNU.\r\n\r\nZ pewnością wraz z niniejszym programem otrzymałeś też egzemplarz Powszechnej Licencji Publicznej GNU (GNU General Public License); jeśli nie - napisz do Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Właściwości" IDS_TOOLTIP_REFRESH "Odśwież" @@ -65,7 +65,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "Menedżer urządzeń ReactOS" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/pt-BR.rc b/base/applications/mscutils/devmgmt_new/lang/pt-BR.rc index d2104effc4b..fdd44cc6036 100644 --- a/base/applications/mscutils/devmgmt_new/lang/pt-BR.rc +++ b/base/applications/mscutils/devmgmt_new/lang/pt-BR.rc @@ -46,12 +46,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "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.\r\n\r\nThis 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.\r\n\r\nYou 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." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Propriedades" IDS_TOOLTIP_REFRESH "Atualizar" @@ -60,7 +60,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "Gerenciador de Dispositivos ReactOS" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/ro-RO.rc b/base/applications/mscutils/devmgmt_new/lang/ro-RO.rc index 3f59aed1498..e8b72a2e5db 100644 --- a/base/applications/mscutils/devmgmt_new/lang/ro-RO.rc +++ b/base/applications/mscutils/devmgmt_new/lang/ro-RO.rc @@ -45,12 +45,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 47, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "Această aplicație este publică; fiind permisă modificarea și/sau (re)distribuția sa în termenii Licenței Publice Generale GNU publicată de Free Software Foundation; sau versiunea 2 a Licenței, sau (la alegere) a oricărei versiuni ulterioare.\r\n\r\nAceastă aplicație este distribuită doar în speranța de a fi utilă, FĂRĂ însă NICI O GARANȚIE; nici măcar cu garanția implicită a VANDABILITĂȚII sau a UTILITĂȚII ÎNTR-UN SCOP ANUME. Pentru mai multe detalii consultați Licența Publică Generală GNU.\r\n\r\nPuteți vedea această licență aici:\r\nhttp://www.gnu.org/licenses/gpl.html\r\n\r\nDe asemenea puteți consulta traduceri neoficiale ale acestei licențe aici:\r\nhttp://www.gnu.org/licenses/translations.html" END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Proprietăți" IDS_TOOLTIP_REFRESH "Împrospătare" @@ -59,7 +59,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "Gestionar de dispozitive ReactOS" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/ru-RU.rc b/base/applications/mscutils/devmgmt_new/lang/ru-RU.rc index 88192a72dad..b2c2675a394 100644 --- a/base/applications/mscutils/devmgmt_new/lang/ru-RU.rc +++ b/base/applications/mscutils/devmgmt_new/lang/ru-RU.rc @@ -46,12 +46,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "Эта программа является свободно распространяемой; Вы можете распространять ее повторно и (или) изменять, соблюдая условия Открытого лицензионного соглашения GNU, опубликованного Фондом свободно распространяемого программного обеспечения; либо редакции 2 Соглашения, либо (на ваше усмотрение) любой редакции, выпущенной позже.\r\n\r\nЭта программа распространяется в надежде на то, что она окажется полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, включая подразумеваемую гарантию КАЧЕСТВА либо ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробности содержатся в Открытом лицензионном соглашении GNU.\r\n\r\nВместе с этой программой должен распространяться экземпляр Открытого лицензионного соглашения GNU, если он отсутствует, сообщите об этом в Фонд свободно распространяемого программного обеспечения (Free Software Foundation, Inc.), 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Свойства" IDS_TOOLTIP_REFRESH "Обновить" @@ -60,7 +60,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "Диспетчер устройств ReactOS" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/sk-SK.rc b/base/applications/mscutils/devmgmt_new/lang/sk-SK.rc index 1c39347a191..0278c685059 100644 --- a/base/applications/mscutils/devmgmt_new/lang/sk-SK.rc +++ b/base/applications/mscutils/devmgmt_new/lang/sk-SK.rc @@ -49,12 +49,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "Tento program je von softvr; mete ho ri a/alebo modifikova poda podmienok GNU Veobecnej verejnej licencie (GNU General Public License) ako bola zverejnen nadciou Free Software Foundation; bu verzie 2 tejto licencie, alebo (poda Vho uvenia) niektorej neskorej verzie.\r\n\r\nTento program je distribuovan v ndeji, e bude uiton, avak BEZ AKEJKOVEK ZRUKY; rovnako bez zruky PREDAJNOSTI alebo VHODNOSTI PRE URIT EL. Pre viac detailov si pozrite GNU Veobecn verejn licenciu (GNU General Public License).\r\n\r\nKpiu Veobecnej verejnej licencie GNU ste mali dosta spolu s tmto programom; ak nie, napte si o u na Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Vlastnosti" IDS_TOOLTIP_REFRESH "Obnovi" @@ -63,7 +63,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "Sprvca zariaden systmu ReactOS" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/sv-SE.rc b/base/applications/mscutils/devmgmt_new/lang/sv-SE.rc index dc1dd9f66ef..5ef7b455f81 100644 --- a/base/applications/mscutils/devmgmt_new/lang/sv-SE.rc +++ b/base/applications/mscutils/devmgmt_new/lang/sv-SE.rc @@ -50,12 +50,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "Detta programmet r fri programvara; du kan distribuera det och/eller ndra det under villkoren enligt GNU General Public License som r utgivet av Free Software Foundation; version 2, eller (om du s nskar) alla senare versioner.\r\n\r\nDette programmet er utgivet i hopp om att det skall kunne anvndas, men DET FINNS INGA GARANTIER; ven utan underfrstdd garanti om SLJBARHET eller LMPLIGHET FR ETT VISST NDAML. Se p GNU General Public Licensen fr mer detaljer.\r\n\r\nDu skall ha motagit en kopia av GNU General Public Licensen tillsammans med detta programmet; om du inte har ftt det, skriv til Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Egenskaper" IDS_TOOLTIP_REFRESH "Uppdater" @@ -64,7 +64,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "ReactOS Enhetshanterare" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/th-TH.rc b/base/applications/mscutils/devmgmt_new/lang/th-TH.rc index 6fcb2510457..95e50dc9b51 100644 --- a/base/applications/mscutils/devmgmt_new/lang/th-TH.rc +++ b/base/applications/mscutils/devmgmt_new/lang/th-TH.rc @@ -53,12 +53,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "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.\r\n\r\nThis 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.\r\n\r\nYou 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." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "سѵ" IDS_TOOLTIP_REFRESH "鹿" @@ -67,7 +67,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "èѴػóͧ ReactOS" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/tr-TR.rc b/base/applications/mscutils/devmgmt_new/lang/tr-TR.rc index 1e8e036f6e1..727f317f225 100644 --- a/base/applications/mscutils/devmgmt_new/lang/tr-TR.rc +++ b/base/applications/mscutils/devmgmt_new/lang/tr-TR.rc @@ -1,4 +1,6 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* + * TRANSLATOR: 2013 - Erdem Ersoy (eersoy93) (erdemersoy@live.com) + */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -16,14 +18,14 @@ BEGIN END POPUP "&Görünüm" BEGIN - MENUITEM "&Türe Göre Aygıtlar", IDC_DEVBYTYPE, CHECKED - MENUITEM "&Bağlantıya Göre Aygıtlar", IDC_STATIC, GRAYED - MENUITEM "T&üre Göre Kaynaklar", IDC_STATIC, GRAYED - MENUITEM "B&ağlantıya Göre Kaynaklar", IDC_STATIC, GRAYED + MENUITEM "&Türe Göre Aygıtları Kümele", IDC_DEVBYTYPE, CHECKED + MENUITEM "&Bağlantıya Göre Aygıtları Kümele", IDC_STATIC, GRAYED + MENUITEM "T&üre Göre Kaynakları Kümele", IDC_STATIC, GRAYED + MENUITEM "B&ağlantıya Göre Kaynakları Kümele", IDC_STATIC, GRAYED END POPUP "&Yardım" BEGIN - MENUITEM "&Üzerine...", IDC_ABOUT + MENUITEM "&Hakkında", IDC_ABOUT END END @@ -36,22 +38,22 @@ BEGIN END IDD_ABOUTBOX DIALOGEX 22,16,190,182 -CAPTION "Aygıt Yöneticisi Üzerine" +CAPTION "Aygıt Yöneticisi Hakkında" FONT 8,"MS Shell Dlg",0,0 STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME BEGIN - LTEXT "Aygıt Yöneticisi - Sürüm: 0.1\nTelif Hakkı: 2006\nGed Murphy (gedmurphy@gmail.com) ile.", IDC_STATIC, 48, 7, 130, 30 - PUSHBUTTON "Tamam", IDOK, 75, 162, 44, 15 + LTEXT "Aygıt Yöneticisi - Sürüm: 0.1\nTelif Hakkı: 2006\nGed Murphy (gedmurphy@gmail.com) eliyle yazılmıştır.", IDC_STATIC, 48, 7, 130, 30 + PUSHBUTTON "Kapat", IDOK, 75, 162, 44, 15 ICON IDI_MAIN_ICON, IDC_STATIC, 10, 10, 7, 30 EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN - IDS_LICENSE "ÖNEMLİ: Aşağıdaki metin, özgün metnin resmî olmayan çevirisidir. Çeviri metniyle özgün metin arasında ayrım olabilir. Özgün metin, çeviri metninin altındadır.\r\n\r\n***\r\n\r\nBu izlence özgür yazılımdır; bunu, Özgür Yazılım Vakfı'nın yayımladığı GNU Umûmî Kamu Ruhsatı'nın, 2. sürümünün ya da daha sonraki bir sürümünün (Orası size bağlı.) koşulları altında yeniden dağıtabilir veyâ değiştirebilirsiniz.\r\n\r\nBu izlence, kullanışlı olabileceği beklentisiyle dağıtılmıştır ancak bu izlencenin HİÇBİR GÜVENCESİ YOKTUR, SATILABİLİRLİĞİN ve BELİRLİ BİR AMACA UYGUNLUĞUN demek istenilen güvencesi bile. Daha çok bilgi için GNU Umûmî Kamu Ruhsatı'na bakınız.\r\n\r\nBu izlenceyle birlikte GNU Umûmî Kamu Ruhsatı'nın bir kopyasını almış olmalısınız, eğer yoksa Özgür Yazılım Vakfı AŞ'ye (51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ABD) yazınız.\r\n\r\n***\r\n\r\nThis 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.\r\n\r\nThis 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.\r\n\r\nYou 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." + IDS_LICENSE "ÖNEMLİ: Aşağıdaki metin, özgün metnin resmî olmayan çevirisidir. Çeviri metniyle özgün metin arasında ayrım olabilir. Özgün metin, çeviri metninin altındadır.\r\n\r\n***\r\n\r\nBu yazılım özgürdür, yâni bu yazılımı Özgür Yazılım Vakfı'nın yayınladığı GNU Umûmî Kamu Ruhsatı'nın 2. sürümü veyâ daha sonraki sürümleri altında yeniden dağıtabilir veyâ değiştirebilirsiniz.\r\n\r\nBu yazılım, kullanışlı olabileceği beklentisiyle dağıtılmıştır ancak bilhassa SATILABİLİRLİK ve BELİRLİ BİR AMACA UYGUNLUK açısından olmak üzere bu yazılımın HİÇBİR GÜVENCESİ YOKTUR. Daha çok bilgi için GNU Umûmî Kamu Ruhsatı'na bakınız.\r\n\r\nBu yazılımla birlikte GNU Umûmî Kamu Ruhsatı'nın bir sûretine de iye olmanız gerekir, eğer yoksa Özgür Yazılım Vakfı A.Ş.'ne (51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ABD) yazınız.\r\n\r\n***\r\n\r\nThis 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.\r\n\r\nThis 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.\r\n\r\nYou 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." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Husûsiyetler" IDS_TOOLTIP_REFRESH "Yenile" @@ -60,19 +62,20 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "Aygıt Yöneticisi" IDS_HINT_BLANK " " - IDS_HINT_EXIT " İzlenceden çıkar." + IDS_HINT_EXIT " Yazılımdan çıkar." IDS_HINT_REFRESH " Hizmet dizelgesini yeniler." - IDS_HINT_PROP " Seçilen için husûsiyetler penceresini açar." - IDS_HINT_HELP " Yardım penceresini açar." - IDS_HINT_ABOUT " Aygıt Yöneticisi üzerine." - IDS_HINT_SYS_RESTORE " Bu pencereyi eski boyutlarına döndürür." - IDS_HINT_SYS_MOVE " Bu pencereyi devindirir." - IDS_HINT_SYS_SIZE " Bu pencerenin boyutlarını değiştirir." - IDS_HINT_SYS_MINIMIZE " Bu pencereyi simge durumuna küçültür." - IDS_HINT_SYS_MAXIMIZE " Bu pencereyi, bu görüntülüğü kaplatana dek genişletir." - IDS_HINT_SYS_CLOSE " Bu pencereyi kapatır." + IDS_HINT_PROP " Seçilen öğenin husûsiyetlerini gösterir." + IDS_HINT_HELP " Yardım konularını açar." + IDS_HINT_ABOUT " Aygıt Yöneticisi hakkında bilgi görüntüler." + + IDS_HINT_SYS_RESTORE " Pencerenin boyutlarını, eski durumuna döndürür." + IDS_HINT_SYS_MOVE " Pencerenin konumunu değiştirir." + IDS_HINT_SYS_SIZE " Pencerenin boyutlarını değiştirir." + IDS_HINT_SYS_MINIMIZE " Pencereyi, simge durumuna küçültür." + IDS_HINT_SYS_MAXIMIZE " Pencereyle görüntülüğü kaplatır." + IDS_HINT_SYS_CLOSE " Pencereyi kapatır." END diff --git a/base/applications/mscutils/devmgmt_new/lang/uk-UA.rc b/base/applications/mscutils/devmgmt_new/lang/uk-UA.rc index 7f6297a1ed7..1aae4afdf3e 100644 --- a/base/applications/mscutils/devmgmt_new/lang/uk-UA.rc +++ b/base/applications/mscutils/devmgmt_new/lang/uk-UA.rc @@ -52,12 +52,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "Це вільне програмне забезпечення; Ви можете розповсюджувати її та змінювати, дотримуючись умови Відкритої ліцензійної угоди GNU, опублікованої Фондом вільного програмного забезпечення; або редакції 2 Угоди, або будь-якої редакції, випущеної пізніше.\r\n\r\nЦя програма розповсюджується в надії на те, що вона виявиться корисною, але БЕЗ БУДЬ-ЯКИХ ГАРАНТІЙ, включаючи УЯВНОЮ ГАРАНТІЄЮ ЯКОСТІ або ПРИДАТНОСТІ для певних цілей. Подробиці містяться у Відкритій ліцензійній угоді GNU.\r\n\r\nРазом з цією програмою повинен поширюватися примірник Відкритої ліцензійної угоди GNU. Якщо він відсутній, повідомте про це в Фонд вільного програмного забезпечення (Free Software Foundation, Inc.), 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "Властивості" IDS_TOOLTIP_REFRESH "Оновити" @@ -66,7 +66,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "Диспетчер пристроїв ReactOS" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/lang/zh-CN.rc b/base/applications/mscutils/devmgmt_new/lang/zh-CN.rc index 77c49239e79..b550a811473 100644 --- a/base/applications/mscutils/devmgmt_new/lang/zh-CN.rc +++ b/base/applications/mscutils/devmgmt_new/lang/zh-CN.rc @@ -48,12 +48,12 @@ BEGIN EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_LICENSE "这个程序是自由软件;你可以在自由软件基金会(FSF)的 GNU LGPL 协议下重新发布或修改它;也适用于这个协议的版本 2,或(在您看来)任何更新的版本。\r\n\r\n这个程序在希望其有用的愿望中发布,但没有任何保证;也不意味着性能保证或对某特定用途的适用性。请查看 GNU GPL 许可协议以了解更多细节。\r\n\r\n您应该已经收到了一份和这个程序一起的 GNU GPL 协议的副本;如果没有,请写信给自由软件基金会(FSF):51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA." END -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_TOOLTIP_PROP "属性" IDS_TOOLTIP_REFRESH "刷新" @@ -62,7 +62,7 @@ BEGIN END /* Hints */ -STRINGTABLE +STRINGTABLE DISCARDABLE BEGIN IDS_APPNAME "ReactOS 设备管理器" IDS_HINT_BLANK " " diff --git a/base/applications/mscutils/devmgmt_new/rsrc.rc b/base/applications/mscutils/devmgmt_new/rsrc.rc index 597f88748ba..d6048236411 100644 --- a/base/applications/mscutils/devmgmt_new/rsrc.rc +++ b/base/applications/mscutils/devmgmt_new/rsrc.rc @@ -7,10 +7,12 @@ IDI_MAIN_ICON ICON "res/computer.ico" IDB_ROOT_IMAGE BITMAP "res/root.bmp" /* main toolbar icons */ -IDB_PROP BITMAP "res/properties.bmp" -IDB_REFRESH BITMAP "res/refresh.bmp" -IDB_HELP BITMAP "res/help.bmp" -IDB_EXIT BITMAP "res/exit.bmp" +IDB_PROP BITMAP DISCARDABLE "res/properties.bmp" +IDB_REFRESH BITMAP DISCARDABLE "res/refresh.bmp" +IDB_HELP BITMAP DISCARDABLE "res/help.bmp" +IDB_EXIT BITMAP DISCARDABLE "res/exit.bmp" + +//#include "lang/en-US.rc" #ifdef LANGUAGE_BG_BG #include "lang/bg-BG.rc" @@ -76,9 +78,6 @@ IDB_EXIT BITMAP "res/exit.bmp" #ifdef LANGUAGE_TR_TR #include "lang/tr-TR.rc" #endif -#ifdef LANGUAGE_SQ_AL - #include "lang/sq-AL.rc" -#endif #ifdef LANGUAGE_UK_UA #include "lang/uk-UA.rc" #endif diff --git a/base/applications/mscutils/devmgmt_new/stdafx.h b/base/applications/mscutils/devmgmt_new/stdafx.h index c8036cf787e..c7c9cac75cb 100644 --- a/base/applications/mscutils/devmgmt_new/stdafx.h +++ b/base/applications/mscutils/devmgmt_new/stdafx.h @@ -6,6 +6,9 @@ #include #include #include +#include +#include +#include #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit diff --git a/base/applications/mscutils/devmgmt_new/targetver.h b/base/applications/mscutils/devmgmt_new/targetver.h new file mode 100644 index 00000000000..87c0086de75 --- /dev/null +++ b/base/applications/mscutils/devmgmt_new/targetver.h @@ -0,0 +1,8 @@ +#pragma once + +// Including SDKDDKVer.h defines the highest available Windows platform. + +// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and +// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. + +#include diff --git a/base/applications/mscutils/eventvwr/CMakeLists.txt b/base/applications/mscutils/eventvwr/CMakeLists.txt index fff7e3a7048..911f446555f 100644 --- a/base/applications/mscutils/eventvwr/CMakeLists.txt +++ b/base/applications/mscutils/eventvwr/CMakeLists.txt @@ -2,7 +2,9 @@ add_executable(eventvwr eventvwr.c eventvwr.rc) set_module_type(eventvwr win32gui UNICODE) add_importlibs(eventvwr user32 comctl32 comdlg32 advapi32 msvcrt kernel32) + if(MSVC) add_importlibs(eventvwr ntdll) endif() + add_cd_file(TARGET eventvwr DESTINATION reactos/system32 FOR all) diff --git a/base/applications/mscutils/eventvwr/eventvwr.c b/base/applications/mscutils/eventvwr/eventvwr.c index 18fa1485435..ab5709fca75 100644 --- a/base/applications/mscutils/eventvwr/eventvwr.c +++ b/base/applications/mscutils/eventvwr/eventvwr.c @@ -520,7 +520,7 @@ BOOL QueryEventMessages(LPWSTR lpMachineName, LPWSTR lpLogName) { - HWND hwndDlg; + HWND hwndDlg = NULL; HANDLE hEventLog; EVENTLOGRECORD *pevlr; DWORD dwRead, dwNeeded, dwThisRecord, dwTotalRecords = 0, dwCurrentRecord = 0, dwRecordsToRead = 0, dwFlags, dwMaxLength; @@ -599,7 +599,7 @@ QueryEventMessages(LPWSTR lpMachineName, while (dwCurrentRecord < dwTotalRecords) { - pevlr = HeapAlloc(GetProcessHeap(), 0, sizeof(EVENTLOGRECORD) * dwTotalRecords); + pevlr = HeapAlloc(GetProcessHeap(), 0, sizeof(EVENTLOGRECORD)); g_RecordPtrs[dwCurrentRecord] = pevlr; bResult = ReadEventLog(hEventLog, // Event log handle @@ -713,7 +713,8 @@ QueryEventMessages(LPWSTR lpMachineName, } // All events loaded - EndDialog(hwndDlg, 0); + if(hwndDlg) + EndDialog(hwndDlg, 0); StringCchPrintfExW(szWindowTitle, sizeof(szWindowTitle) / sizeof(WCHAR), @@ -798,7 +799,6 @@ ClearEvents(VOID) case IDCANCEL: { return FALSE; - break; } case IDNO: diff --git a/base/applications/mscutils/eventvwr/lang/es-ES.rc b/base/applications/mscutils/eventvwr/lang/es-ES.rc index 97ce5eb126b..f3e1f70325e 100644 --- a/base/applications/mscutils/eventvwr/lang/es-ES.rc +++ b/base/applications/mscutils/eventvwr/lang/es-ES.rc @@ -1,14 +1,14 @@ -/* Spanish translation by Marc Piulachs */ +/* Spanish translation by Marc Piulachs, proofread by Ismael Ferreras Morezuelas */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL IDC_EVENTVWR MENU BEGIN - POPUP "&Log" + POPUP "&Registro" BEGIN - MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM "Guardar &protocolo...", ID_SAVE_PROTOCOL, GRAYED MENUITEM SEPARATOR - MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM "&Borrar todos los eventos", ID_CLEAR_EVENTS, GRAYED MENUITEM SEPARATOR MENUITEM "S&alir", IDM_EXIT END @@ -17,9 +17,9 @@ BEGIN MENUITEM "&Actualizar", IDM_REFRESH END MENUITEM "&Opciones", ID_OPTIONS - POPUP "A&yuda" + POPUP "Ay&uda" BEGIN - MENUITEM "A&yuda", IDM_HELP + MENUITEM "Ay&uda", IDM_HELP MENUITEM SEPARATOR MENUITEM "&Acerca de...", IDM_ABOUT END @@ -37,23 +37,23 @@ CAPTION "Acerca de" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN ICON IDI_EVENTVWR, IDC_MYICON, 14, 9, 21, 20 - LTEXT "ReactOS Visor de sucesos Versión 1.0", IDC_STATIC, 49, 10, 124, 8, SS_NOPREFIX + LTEXT "Visor de eventos de ReactOS. Versión 1.0", IDC_STATIC, 49, 10, 124, 8, SS_NOPREFIX LTEXT "Copyright (C) 2007 Marc Piulachs (marc.piulachs@codexchange.net)", IDC_STATIC, 49, 20, 119, 22 DEFPUSHBUTTON "Aceptar", IDOK, 90, 48, 42, 16, WS_GROUP END IDD_PROGRESSBOX DIALOGEX 0, 0, 230, 40 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER -CAPTION "Espere.." +CAPTION "Espere..." FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - CTEXT "Recuperando eventos. Por favor, espere ...", IDC_STATIC, 0, 15, 230, 8, SS_NOPREFIX + CTEXT "Recuperando eventos. Espere un momento...", IDC_STATIC, 0, 15, 230, 8, SS_NOPREFIX END IDD_EVENTDETAILDIALOG DIALOGEX 0, 0, 276, 282 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_CONTEXTHELP -CAPTION "Detalles del Evento" +CAPTION "Detalles del evento" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "&Cerrar", IDOK, 12, 258, 50, 14 @@ -70,7 +70,7 @@ BEGIN EDITTEXT IDC_EVENTUSERSTATIC, 56, 41, 72, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "&Equipo:", IDC_STATIC, 14, 54, 36, 8 EDITTEXT IDC_EVENTCOMPUTERSTATIC, 56, 54, 72, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL - LTEXT "ID de suceso:", IDC_STATIC, 133, 15, 36, 8 + LTEXT "ID de evento:", IDC_STATIC, 133, 15, 36, 8 EDITTEXT IDC_EVENTIDSTATIC, 175, 15, 87, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "Origen:", IDC_STATIC, 133, 28, 36, 8 EDITTEXT IDC_EVENTSOURCESTATIC, 175, 28, 87, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL @@ -86,19 +86,19 @@ 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_APP_TITLE "Visor de eventos" + IDS_APP_TITLE_EX "%s - Registro de %s en \\\\" + IDS_STATUS_MSG "%s tiene %lu evento(s)" + IDS_EVENTSTRINGIDNOTFOUND "No se pudo recuperar la descripción para el evento con ID (%lu) y origen (%s). El equipo local puede no tener la información necesaria en el registro o las DLLs necesarias para mostrar los mensajes de un equipo remoto." IDS_EVENTLOG_ERROR_TYPE "Error" IDS_EVENTLOG_WARNING_TYPE "Advertencia" IDS_EVENTLOG_INFORMATION_TYPE "Información" - IDS_EVENTLOG_AUDIT_SUCCESS "Auditoria Satisfactoria" - IDS_EVENTLOG_AUDIT_FAILURE "Auditoria Fallida" - IDS_EVENTLOG_SUCCESS "Acierto" - IDS_EVENTLOG_UNKNOWN_TYPE "Evento Desconocido" - IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" - IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" + IDS_EVENTLOG_AUDIT_SUCCESS "Auditoría completada" + IDS_EVENTLOG_AUDIT_FAILURE "Auditoría fallida" + IDS_EVENTLOG_SUCCESS "Completado" + IDS_EVENTLOG_UNKNOWN_TYPE "Evento desconocido" + IDS_CLEAREVENTS_MSG "¿Desea guardar este registro de eventos antes de borrarlo?" + IDS_SAVE_FILTER "Registro de eventos (*.evt)\0*.evt\0" END STRINGTABLE @@ -110,12 +110,12 @@ BEGIN IDS_COLUMNCATEGORY "Categoría" IDS_COLUMNEVENT "Evento" IDS_COLUMNUSER "Usuario" - IDS_COLUMNCOMPUTER "Computadora" + IDS_COLUMNCOMPUTER "Equipo" IDS_COLUMNEVENTDATA "Datos del evento" END STRINGTABLE BEGIN - IDS_NONE "Ninguna" - IDS_NOT_AVAILABLE "N/A" + IDS_NONE "Ninguno" + IDS_NOT_AVAILABLE "N/D" END diff --git a/base/applications/mscutils/eventvwr/lang/ru-RU.rc b/base/applications/mscutils/eventvwr/lang/ru-RU.rc index be6eb7fbb75..61438fbd7a3 100644 --- a/base/applications/mscutils/eventvwr/lang/ru-RU.rc +++ b/base/applications/mscutils/eventvwr/lang/ru-RU.rc @@ -1,14 +1,14 @@ -/* Russian translation by Dmitry Chapyshev, Artem Reznikov */ +/* Russian translation by Dmitry Chapyshev, Artem Reznikov, Kudratov Olimjon (olim98@bk.ru) */ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT IDC_EVENTVWR MENU BEGIN - POPUP "&Логи" + POPUP "С&обытия" BEGIN - MENUITEM "Save &Protocol...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM "Сохранить &протокол...", ID_SAVE_PROTOCOL, GRAYED MENUITEM SEPARATOR - MENUITEM "C&lear all Events", ID_CLEAR_EVENTS, GRAYED + MENUITEM "Очистить &все события", ID_CLEAR_EVENTS, GRAYED MENUITEM SEPARATOR MENUITEM "В&ыход", IDM_EXIT END @@ -44,10 +44,10 @@ END IDD_PROGRESSBOX DIALOGEX 0, 0, 230, 40 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER -CAPTION "Подождите.." +CAPTION "Подождите..." FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - CTEXT "Идет загрузка. Подождите ...", IDC_STATIC, 0, 15, 230, 8, SS_NOPREFIX + CTEXT "Идет загрузка. Подождите...", IDC_STATIC, 0, 15, 230, 8, SS_NOPREFIX END IDD_EVENTDETAILDIALOG DIALOGEX 0, 0, 276, 282 @@ -63,21 +63,21 @@ BEGIN EDITTEXT IDC_EVENTTEXTEDIT, 14, 81, 247, 108, ES_MULTILINE | ES_READONLY LTEXT "Описание:", IDC_STATIC, 15, 70, 39, 8 LTEXT "Дата:", IDC_STATIC, 14, 14, 36, 8 - EDITTEXT IDC_EVENTDATESTATIC, 56, 14, 72, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + EDITTEXT IDC_EVENTDATESTATIC, 68, 14, 60, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "Время:", IDC_STATIC, 14, 27, 36, 8 - EDITTEXT IDC_EVENTTIMESTATIC, 56, 27, 72, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + EDITTEXT IDC_EVENTTIMESTATIC, 68, 27, 60, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "Пользователь:", IDC_STATIC, 14, 41, 50, 8 - EDITTEXT IDC_EVENTUSERSTATIC, 56, 41, 72, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + EDITTEXT IDC_EVENTUSERSTATIC, 68, 41, 60, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "Компьютер:", IDC_STATIC, 14, 54, 45, 8 - EDITTEXT IDC_EVENTCOMPUTERSTATIC, 56, 54, 72, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + EDITTEXT IDC_EVENTCOMPUTERSTATIC, 68, 54, 60, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "Код (ID):", IDC_STATIC, 143, 15, 45, 8 - EDITTEXT IDC_EVENTIDSTATIC, 175, 15, 87, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + EDITTEXT IDC_EVENTIDSTATIC, 183, 15, 80, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "Источник:", IDC_STATIC, 143, 28, 36, 8 - EDITTEXT IDC_EVENTSOURCESTATIC, 175, 28, 87, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + EDITTEXT IDC_EVENTSOURCESTATIC, 183, 28, 80, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "Тип:", IDC_STATIC, 143, 42, 36, 8 - EDITTEXT IDC_EVENTTYPESTATIC, 175, 42, 87, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + EDITTEXT IDC_EVENTTYPESTATIC, 183, 42, 80, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL LTEXT "Категория:", IDC_STATIC, 143, 55, 38, 8 - EDITTEXT IDC_EVENTCATEGORYSTATIC, 175, 55, 87, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL + EDITTEXT IDC_EVENTCATEGORYSTATIC, 183, 55, 80, 8, ES_LEFT | ES_READONLY | NOT WS_BORDER | NOT WS_TABSTOP | ES_AUTOHSCROLL EDITTEXT IDC_EVENTDATAEDIT, 14, 204, 247, 44, ES_MULTILINE | ES_READONLY LTEXT "Данные:", IDC_STATIC, 14, 192, 30, 8 CONTROL "&Байты", IDC_BYTESRADIO, "Button", BS_AUTORADIOBUTTON, 49, 192, 34, 8 @@ -97,8 +97,8 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Аудит отказов" IDS_EVENTLOG_SUCCESS "Успех" IDS_EVENTLOG_UNKNOWN_TYPE "Неизвестное событие" - IDS_CLEAREVENTS_MSG "Do you want to save this event log before clearing it?" - IDS_SAVE_FILTER "Event Log (*.evt)\0*.evt\0" + IDS_CLEAREVENTS_MSG "Вы хотите сохранить журнал событий перед очисткой?" + IDS_SAVE_FILTER "Журнал событий (*.evt)\0*.evt\0" END STRINGTABLE @@ -116,6 +116,6 @@ END STRINGTABLE BEGIN - IDS_NONE "Нету" + IDS_NONE "Нет" IDS_NOT_AVAILABLE "N/A" END diff --git a/base/applications/mscutils/eventvwr/lang/tr-TR.rc b/base/applications/mscutils/eventvwr/lang/tr-TR.rc index 5c979d4c820..615c45ff529 100644 --- a/base/applications/mscutils/eventvwr/lang/tr-TR.rc +++ b/base/applications/mscutils/eventvwr/lang/tr-TR.rc @@ -12,7 +12,7 @@ IDC_EVENTVWR MENU BEGIN POPUP "&Kayıt" BEGIN - MENUITEM "&Protokolü Kaydet...", ID_SAVE_PROTOCOL, GRAYED + MENUITEM "&Protokolü Sakla...", ID_SAVE_PROTOCOL, GRAYED MENUITEM SEPARATOR MENUITEM "&Tüm Olayları Sil", ID_CLEAR_EVENTS, GRAYED MENUITEM SEPARATOR @@ -103,7 +103,7 @@ BEGIN IDS_EVENTLOG_AUDIT_FAILURE "Başarısızlık Denetimi" IDS_EVENTLOG_SUCCESS "Başarı" IDS_EVENTLOG_UNKNOWN_TYPE "Bilinmeyen Olay" - IDS_CLEAREVENTS_MSG "Silmeden önce bu olay kaydını kaydetmek ister misiniz?" + IDS_CLEAREVENTS_MSG "Silmeden önce bu olay kaydını saklamak ister misiniz?" IDS_SAVE_FILTER "Olay Kaydı (*.evt)\0*.evt\0" END diff --git a/base/applications/mscutils/servman/export.c b/base/applications/mscutils/servman/export.c index f637a5d3d59..4abb2796019 100644 --- a/base/applications/mscutils/servman/export.c +++ b/base/applications/mscutils/servman/export.c @@ -52,7 +52,7 @@ SaveServicesToFile(PMAIN_WND_INFO Info, if(hFile != INVALID_HANDLE_VALUE) { TCHAR LVText[500]; - TCHAR newl = _T('\n'); + TCHAR newl[2] = {_T('\r'), _T('\n')}; TCHAR tab = _T('\t'); DWORD dwTextLength, dwWritten; INT NumListedServ = 0; @@ -68,7 +68,7 @@ SaveServicesToFile(PMAIN_WND_INFO Info, LVText, i, k); - if (LVText != NULL) + if (dwTextLength != 0) { WriteFile(hFile, LVText, @@ -84,8 +84,8 @@ SaveServicesToFile(PMAIN_WND_INFO Info, } } WriteFile(hFile, - &newl, - sizeof(TCHAR), + newl, + sizeof(newl), &dwWritten, NULL); } diff --git a/base/applications/mscutils/servman/lang/es-ES.rc b/base/applications/mscutils/servman/lang/es-ES.rc index 6ea9f5ca2ba..a5ed94e0591 100644 --- a/base/applications/mscutils/servman/lang/es-ES.rc +++ b/base/applications/mscutils/servman/lang/es-ES.rc @@ -1,3 +1,6 @@ +/* Spanish Language resource file. + * Translated by: ?? and Ismael Ferreras Morezuelas <2014-11-07> */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL IDR_MAINMENU MENU @@ -28,8 +31,8 @@ BEGIN END POPUP "Ver" BEGIN - MENUITEM "Iconos Grandes", ID_VIEW_LARGE - MENUITEM "Iconos Pequeños", ID_VIEW_SMALL + MENUITEM "Iconos grandes", ID_VIEW_LARGE + MENUITEM "Iconos pequeños", ID_VIEW_SMALL MENUITEM "Lista", ID_VIEW_LIST MENUITEM "Detalles", ID_VIEW_DETAILS MENUITEM SEPARATOR @@ -64,11 +67,11 @@ BEGIN END IDD_ABOUTBOX DIALOGEX 22, 16, 190, 182 -CAPTION "Acerca de Gestor de Servicios" +CAPTION "Acerca del Administrador de servicios" FONT 8, "MS Shell Dlg", 0, 0 STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME BEGIN - LTEXT "Gestor de Servicios v0.8\nCopyright (C) 2005-2007\nby Ged Murphy (gedmurphy@reactos.org)", IDC_STATIC, 48, 7, 135, 35 + LTEXT "Administrador de servicios v0.8\nCopyright (C) 2005-2007\ncreado por Ged Murphy (gedmurphy@reactos.org)", IDC_STATIC, 48, 7, 135, 35 PUSHBUTTON "Cerrar", IDOK, 75, 162, 44, 15 ICON IDI_SM_ICON, IDC_STATIC, 10, 10, 7, 30 EDITTEXT IDC_LICENSE_EDIT, 8, 44, 174, 107, WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_READONLY | ES_MULTILINE @@ -95,7 +98,7 @@ BEGIN LTEXT "Tipo de inicio:", IDC_STATIC, 6, 108, 53, 11 LTEXT "Estado del servicio:", IDC_STATIC, 4, 138, 63, 14 LTEXT "", IDC_SERV_STATUS, 70, 138, 176, 11, WS_CHILD | WS_VISIBLE - LTEXT "Puede especificar los parámetros de inicio a aplicar cuando inicie el servicio desde aquí.", IDC_STATIC, 6, 177, 240, 15 + LTEXT "Puede especificar los parámetros de inicio que se utilizarán cuando inicie el servicio desde aquí.", IDC_STATIC, 6, 177, 240, 15 LTEXT "Parámetros de inicio:", IDC_STATIC, 6, 200, 58, 14 EDITTEXT IDC_START_PARAM, 68, 199, 178, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP PUSHBUTTON "Editar", IDC_EDIT, 192, 215, 54, 15, WS_DISABLED @@ -112,8 +115,8 @@ BEGIN CONTROL "", IDC_DEPEND_TREE2, "SysTreeView32", WS_BORDER | WS_CHILDWINDOW | WS_VISIBLE | WS_TABSTOP | TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP, 8, 151, 234, 67 - LTEXT "Algunos servicios dependen de otros servicios, controladores de sistemas y grupos de orden de carga. Si un componente de sistema se detiene o no funciona correctamente, es posible que otros servicios dependientes resulten afectados.", IDC_STATIC, 8, 7, 238, 26 - LTEXT "Este servicio depende de los siguientes componentes", IDC_STATIC, 8, 57, 236, 9 + LTEXT "Algunos servicios dependen de otros servicios, controladores del sistema y grupos de orden de carga. Si se detiene un componente del sistema o no funciona correctamente, es posible que otros servicios que dependan de éstos resulten afectados.", IDC_STATIC, 8, 7, 238, 26 + LTEXT "Éste servicio depende de los siguientes componentes", IDC_STATIC, 8, 57, 236, 9 LTEXT "", IDC_DEPEND_SERVICE, 8, 38, 236, 13 END @@ -133,7 +136,7 @@ BEGIN LTEXT "Descripción:", IDC_STATIC, 12, 86, 44, 9 PUSHBUTTON "Aceptar", IDOK, 126, 192, 44, 13 PUSHBUTTON "Cancelar", IDCANCEL, 176, 192, 46, 13 - LTEXT "Opciones adicionales (Pulsa Ayuda para detalles)", IDC_STATIC, 10, 151, 170, 9 + LTEXT "Opciones adicionales (Pulse Ayuda para más información)", IDC_STATIC, 10, 151, 170, 9 PUSHBUTTON "Ayuda", ID_CREATE_HELP, 10, 192, 44, 13 END @@ -143,7 +146,7 @@ FONT 8, "MS Shell Dlg", 0, 0 STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | DS_MODALFRAME BEGIN ICON IDI_WARNING, IDC_STATIC, 10, 8, 24, 22 - LTEXT "¿Esta seguro que quiere borrar el siguiente servicio? ¡No se puede deshacer una vez borrado!", IDC_STATIC, 50, 6, 125, 25 + LTEXT "¿Seguro que quiere borrar el siguiente servicio? Una vez borrado no se puede deshacer.", IDC_STATIC, 50, 6, 125, 25 LTEXT "Nombre del servicio:", IDC_STATIC, 6, 40, 80, 9 LTEXT "", IDC_DEL_NAME, 15, 53, 160, 15 EDITTEXT IDC_DEL_DESC, 6, 73, 174, 48, WS_CHILD | WS_VISIBLE | WS_VSCROLL | @@ -161,7 +164,7 @@ BEGIN LTEXT "", IDC_STOP_DEPENDS, 40, 8, 170, 25 LISTBOX IDC_STOP_DEPENDS_LB, 15, 40, 210, 70, WS_CHILD | WS_VISIBLE | WS_EX_STATICEDGE | LBS_NOSEL LTEXT "¿Desea detener estos servicios?", IDC_STATIC, 15, 110, 150, 10 - DEFPUSHBUTTON "Si", IDOK, 60, 129, 54, 14 + DEFPUSHBUTTON "Sí", IDOK, 60, 129, 54, 14 PUSHBUTTON "No", IDCANCEL, 120, 129, 54, 14 END @@ -175,7 +178,7 @@ BEGIN END IDD_DLG_PROGRESS DIALOGEX 6, 6, 255, 89 -CAPTION "Control de Servicios" +CAPTION "Control de servicios" FONT 8, "MS Shell Dlg", 0, 0 STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME EXSTYLE WS_EX_TOOLWINDOW @@ -199,17 +202,17 @@ STRINGTABLE BEGIN IDS_SERVICES_STARTED "Iniciado" IDS_SERVICES_STOPPED "Detenido" - IDS_SERVICES_AUTO "Automatico" + IDS_SERVICES_AUTO "Automático" IDS_SERVICES_MAN "Manual" IDS_SERVICES_DIS "Deshabilitado" END STRINGTABLE BEGIN - IDS_NUM_SERVICES "Núm Servicios: %d" + IDS_NUM_SERVICES "Número de servicios: %d" IDS_STOP_DEPENDS "Cuando %s se detenga, estos otros servicios también se detendrán" IDS_NO_DEPENDS "" - IDS_LICENSE "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.\r\n\r\nThis 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.\r\n\r\nYou 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." + IDS_LICENSE "Este programa es software libre; puedes redistribuirlo y/o modificarlo bajo los términos de la GNU General Public License tal y como fueron publicados por la Free Software Foundation; ya sea la versión 2 de la Licencia, o (bajo tu discreción) cualquier versión posterior.\r\n\r\nEste programa se distribuye con el fin de ser útil, pero viene SIN NINGUNA GARANTÍA; sin tan siquiera la garantía implícita de COMERCIALIZACIÓN o la de IDONEIDAD PARA UN PROPÓSITO CONCRETO. Para más información lee la GNU General Public License.\r\n\r\nDeberías de haber recibido una copia de la GNU General Public License con el programa; si no, puedes escribir a la Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 EE.UU." END STRINGTABLE @@ -231,15 +234,15 @@ BEGIN IDS_PROGRESS_INFO_STOP "ReactOS está intentando detener el siguiente servicio" IDS_PROGRESS_INFO_PAUSE "ReactOS está intentando pausar el siguiente servicio" IDS_PROGRESS_INFO_RESUME "ReactOS está intentando reiniciar el siguiente servicio" - IDS_CREATE_SUCCESS "Servicio Creado satisfactoriamente" - IDS_DELETE_SUCCESS "Servicio Borrado satisfactoriamente" - IDS_CREATE_REQ "Los campos marcados con un\nasterísco son obligatorios" - IDS_DELETE_STOP "¡Debe detener manualmente el servicio antes de borrarlo!" + IDS_CREATE_SUCCESS "Servicio creado correctamente" + IDS_DELETE_SUCCESS "Servicio borrado correctamente" + IDS_CREATE_REQ "Los campos marcados con un\nasterisco son obligatorios" + IDS_DELETE_STOP "El servicio debe detenerse manualmente para poder borrarlo." END STRINGTABLE BEGIN - IDS_HELP_OPTIONS "OPCIONES DE CREACION:\r\nNOTA: El nombre de la opción incluye el signo igual.\r\n type= \r\n (por defecto = own)\r\n start= \r\n (por defecto = demand) \r\n error= \r\n (por defecto = normal)\r\n group= \r\n E= \r\n depend= \r\n obj= \r\n (por defecto = LocalSystem)\r\n password= \r\n" + IDS_HELP_OPTIONS "OPCIONES DE CREACIÓN:\r\nNOTA: El nombre de la opción incluye el signo igual.\r\n type= \r\n (por defecto = own)\r\n start= \r\n (por defecto = demand) \r\n error= \r\n (por defecto = normal)\r\n group= \r\n E= \r\n depend= \r\n obj= \r\n (por defecto = LocalSystem)\r\n password= \r\n" END /* Hints */ @@ -265,17 +268,17 @@ BEGIN IDS_HINT_DETAILS " Muestra información acerca de los elementos de la ventana." IDS_HINT_CUST " Personaliza la vista." IDS_HINT_HELP " Muestra la ventana de ayuda." - IDS_HINT_ABOUT " Acerca del Gestor de Servicios de ReactOS." + IDS_HINT_ABOUT " Acerca del Administrador de servicios de ReactOS." IDS_HINT_SYS_RESTORE " Restaura esta ventana a su tamaño normal." IDS_HINT_SYS_MOVE " Mueve esta ventana." IDS_HINT_SYS_SIZE " Redimensiona esta ventana." - IDS_HINT_SYS_MINIMIZE " Colapsa esta ventana a un icono." - IDS_HINT_SYS_MAXIMIZE " Expande esta ventana hasta llenar esta pantalla." + IDS_HINT_SYS_MINIMIZE " Contrae esta ventana en un icono." + IDS_HINT_SYS_MAXIMIZE " Expande esta ventana hasta ocupar la pantalla." IDS_HINT_SYS_CLOSE " Cierra esta ventana." END /* Application title */ STRINGTABLE BEGIN - IDS_APPNAME "Gestor de Servicios de ReactOS" + IDS_APPNAME "Administrador de servicios de ReactOS" END diff --git a/base/applications/mscutils/servman/lang/ro-RO.rc b/base/applications/mscutils/servman/lang/ro-RO.rc index 92992df4277..d17be9c3041 100644 --- a/base/applications/mscutils/servman/lang/ro-RO.rc +++ b/base/applications/mscutils/servman/lang/ro-RO.rc @@ -1,4 +1,7 @@ -/* 2011.10.19 - Fulea Ștefan: minor changes */ +/* +Translators: Petru Dumitriu (petrimetri at gmail dot com) + Ștefan Fulea (stefan dot fulea at mail dot md) +*/ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -14,28 +17,28 @@ BEGIN BEGIN MENUITEM "Co&nectare la…", ID_CONNECT, GRAYED MENUITEM SEPARATOR - MENUITEM "&Pornește", ID_START, GRAYED + MENUITEM "P&ornește", ID_START, GRAYED MENUITEM "&Oprește", ID_STOP, GRAYED - MENUITEM "&Suspendă", ID_PAUSE, GRAYED - MENUITEM "Contin&uă", ID_RESUME, GRAYED + MENUITEM "S&uspendă", ID_PAUSE, GRAYED + MENUITEM "&Continuă", ID_RESUME, GRAYED MENUITEM "&Repornește", ID_RESTART, GRAYED MENUITEM SEPARATOR MENUITEM "Împrospătea&ză", ID_REFRESH MENUITEM SEPARATOR MENUITEM "Mo&dificare…", ID_EDIT, GRAYED - MENUITEM "&Creare…", ID_CREATE, GRAYED + MENUITEM "Cre&are…", ID_CREATE, GRAYED MENUITEM "&Eliminare…", ID_DELETE, GRAYED MENUITEM SEPARATOR - MENUITEM "Propr&ietăți…", ID_PROP, GRAYED + MENUITEM "&Proprietăți…", ID_PROP, GRAYED END POPUP "&Afișare" BEGIN - MENUITEM "Pictograme m&ari", ID_VIEW_LARGE - MENUITEM "Pictograme m&ici", ID_VIEW_SMALL + MENUITEM "D&ale", ID_VIEW_LARGE + MENUITEM "&Pictograme", ID_VIEW_SMALL MENUITEM "&Listă", ID_VIEW_LIST MENUITEM "&Detalii", ID_VIEW_DETAILS MENUITEM SEPARATOR - MENUITEM "&Particularizare…", ID_VIEW_CUST, GRAYED + MENUITEM "Pa&rticularizare…", ID_VIEW_CUST, GRAYED END POPUP "&?" BEGIN @@ -48,10 +51,10 @@ IDR_POPUP MENU BEGIN POPUP "popup" BEGIN - MENUITEM "&Pornește", ID_START, GRAYED + MENUITEM "P&ornește", ID_START, GRAYED MENUITEM "&Oprește", ID_STOP, GRAYED - MENUITEM "&Suspendă", ID_PAUSE, GRAYED - MENUITEM "Contin&uă", ID_RESUME, GRAYED + MENUITEM "S&uspendă", ID_PAUSE, GRAYED + MENUITEM "&Continuă", ID_RESUME, GRAYED MENUITEM "&Repornește", ID_RESTART, GRAYED MENUITEM SEPARATOR MENUITEM "Împrospătea&ză", ID_REFRESH @@ -59,7 +62,7 @@ BEGIN MENUITEM "Mo&dificare…", ID_EDIT, GRAYED MENUITEM "&Eliminare…", ID_DELETE, GRAYED MENUITEM SEPARATOR - MENUITEM "Propr&ietăți…", ID_PROP, GRAYED + MENUITEM "&Proprietăți…", ID_PROP, GRAYED MENUITEM SEPARATOR MENUITEM "&Manual…", ID_HELP END @@ -86,10 +89,10 @@ BEGIN EDITTEXT IDC_DESCRIPTION, 70, 46, 176, 24, WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP | ES_MULTILINE | ES_READONLY EDITTEXT IDC_EXEPATH, 6, 86, 240, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_READONLY COMBOBOX IDC_START_TYPE, 70, 107, 176, 40, WS_CHILD | WS_VISIBLE | WS_TABSTOP | CBS_DROPDOWNLIST - PUSHBUTTON "&Pornește", IDC_START, 6, 155, 54, 15, WS_DISABLED + PUSHBUTTON "P&ornește", IDC_START, 6, 155, 54, 15, WS_DISABLED PUSHBUTTON "&Oprește", IDC_STOP, 68, 155, 54, 15, WS_DISABLED - PUSHBUTTON "&Suspendă", IDC_PAUSE, 130, 155, 54, 15, WS_DISABLED - PUSHBUTTON "Contin&uă", IDC_RESUME, 192, 155, 54, 15, WS_DISABLED + PUSHBUTTON "S&uspendă", IDC_PAUSE, 130, 155, 54, 15, WS_DISABLED + PUSHBUTTON "&Continuă", IDC_RESUME, 192, 155, 54, 15, WS_DISABLED LTEXT "Nume serviciu:", IDC_STATIC, 4, 11, 53, 11 LTEXT "Nume afișat:", IDC_STATIC, 4, 29, 53, 11 LTEXT "Descriere:", IDC_STATIC, 4, 51, 53, 11 @@ -100,7 +103,7 @@ BEGIN LTEXT "Aici se pot specifica parametrii de pornire aplicabili lansării serviciului.", IDC_STATIC, 6, 177, 240, 15 LTEXT "Parametri de pornire:", IDC_STATIC, 6, 200, 68, 11 EDITTEXT IDC_START_PARAM, 78, 199, 168, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP - PUSHBUTTON "&Editare", IDC_EDIT, 192, 215, 54, 15, WS_DISABLED + PUSHBUTTON "Mo&dificare", IDC_EDIT, 192, 215, 54, 15, WS_DISABLED END IDD_DLG_DEPEND DIALOGEX 6, 6, 253, 225 @@ -150,7 +153,7 @@ BEGIN LTEXT "", IDC_DEL_NAME, 15, 53, 160, 15 EDITTEXT IDC_DEL_DESC, 6, 73, 174, 48, WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_EX_STATICEDGE | ES_MULTILINE | ES_READONLY - PUSHBUTTON "&Da", IDOK, 26, 129, 54, 13 + PUSHBUTTON "D&a", IDOK, 26, 129, 54, 13 DEFPUSHBUTTON "N&u", IDCANCEL, 102, 129, 54, 13 END @@ -163,7 +166,7 @@ BEGIN LTEXT "", IDC_STOP_DEPENDS, 40, 8, 170, 25 LISTBOX IDC_STOP_DEPENDS_LB, 15, 40, 210, 70, WS_CHILD | WS_VISIBLE | WS_EX_STATICEDGE | LBS_NOSEL LTEXT "Doriți oprirea acestor servicii?", IDC_STATIC, 15, 110, 150, 10 - DEFPUSHBUTTON "&Da", IDOK, 60, 129, 54, 14 + DEFPUSHBUTTON "D&a", IDOK, 60, 129, 54, 14 PUSHBUTTON "N&u", IDCANCEL, 120, 129, 54, 14 END diff --git a/base/applications/mscutils/servman/lang/ru-RU.rc b/base/applications/mscutils/servman/lang/ru-RU.rc index 3e32594d876..55fde33be24 100644 --- a/base/applications/mscutils/servman/lang/ru-RU.rc +++ b/base/applications/mscutils/servman/lang/ru-RU.rc @@ -28,8 +28,8 @@ BEGIN END POPUP "Вид" BEGIN - MENUITEM "Крупные", ID_VIEW_LARGE - MENUITEM "Мелкие", ID_VIEW_SMALL + MENUITEM "Крупные значки", ID_VIEW_LARGE + MENUITEM "Мелкие значки", ID_VIEW_SMALL MENUITEM "Список", ID_VIEW_LIST MENUITEM "Таблица", ID_VIEW_DETAILS MENUITEM SEPARATOR @@ -160,7 +160,7 @@ BEGIN ICON IDI_WARNING, IDC_STATIC, 10, 8, 24, 22 LTEXT "", IDC_STOP_DEPENDS, 40, 8, 170, 25 LISTBOX IDC_STOP_DEPENDS_LB, 15, 40, 210, 70, WS_CHILD | WS_VISIBLE | WS_EX_STATICEDGE | LBS_NOSEL - LTEXT "Do you want to stop these services?", IDC_STATIC, 15, 110, 150, 10 + LTEXT "Вы хотите остановить эти службы?", IDC_STATIC, 15, 110, 150, 10 DEFPUSHBUTTON "Да", IDOK, 60, 129, 54, 14 PUSHBUTTON "Нет", IDCANCEL, 120, 129, 54, 14 END diff --git a/base/applications/mscutils/servman/lang/tr-TR.rc b/base/applications/mscutils/servman/lang/tr-TR.rc index 2735a12be22..247ea5437fe 100644 --- a/base/applications/mscutils/servman/lang/tr-TR.rc +++ b/base/applications/mscutils/servman/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/applications/mscutils/servman/mainwnd.c b/base/applications/mscutils/servman/mainwnd.c index 68233799aab..829148185de 100644 --- a/base/applications/mscutils/servman/mainwnd.c +++ b/base/applications/mscutils/servman/mainwnd.c @@ -204,10 +204,11 @@ VOID SetMenuAndButtonStates(PMAIN_WND_INFO Info) SendMessage(Info->hTool, TB_SETSTATE, ID_RESTART, (LPARAM)MAKELONG(TBSTATE_ENABLED, 0)); } - - HeapFree(GetProcessHeap(), 0, lpServiceConfig); } + if(lpServiceConfig) + HeapFree(GetProcessHeap(), 0, lpServiceConfig); + if ( (Flags & SERVICE_ACCEPT_STOP) && (State == SERVICE_RUNNING) ) { EnableMenuItem(hMainMenu, ID_STOP, MF_ENABLED); diff --git a/base/applications/mscutils/servman/progress.c b/base/applications/mscutils/servman/progress.c index e3c2d6b8949..8c9c843525e 100644 --- a/base/applications/mscutils/servman/progress.c +++ b/base/applications/mscutils/servman/progress.c @@ -167,9 +167,7 @@ CreateProgressDialog(HWND hParent, 0, (LPARAM)lpProgStr); - HeapFree(GetProcessHeap(), - 0, - lpProgStr); + LocalFree(lpProgStr); } /* Finally, show and update the progress dialog */ diff --git a/base/applications/mscutils/servman/propsheet_general.c b/base/applications/mscutils/servman/propsheet_general.c index 9c33a97171d..6bac4cdfb12 100644 --- a/base/applications/mscutils/servman/propsheet_general.c +++ b/base/applications/mscutils/servman/propsheet_general.c @@ -33,7 +33,6 @@ SetButtonStates(PSERVICEPROPSHEET dlgInfo, { hButton = GetDlgItem(hwndDlg, IDC_START); EnableWindow (hButton, TRUE); - HeapFree(GetProcessHeap(), 0, lpServiceConfig); } else if ( (Flags & SERVICE_ACCEPT_STOP) && (State == SERVICE_RUNNING) ) { @@ -46,6 +45,9 @@ SetButtonStates(PSERVICEPROPSHEET dlgInfo, EnableWindow (hButton, TRUE); } + if(lpServiceConfig) + HeapFree(GetProcessHeap(), 0, lpServiceConfig); + hButton = GetDlgItem(hwndDlg, IDC_START_PARAM); EnableWindow(hButton, (State == SERVICE_STOPPED)); diff --git a/base/applications/mscutils/servman/query.c b/base/applications/mscutils/servman/query.c index 14a68e5a938..3a5e82ce612 100644 --- a/base/applications/mscutils/servman/query.c +++ b/base/applications/mscutils/servman/query.c @@ -270,6 +270,7 @@ GetServiceList(PMAIN_WND_INFO Info, HeapFree(ProcessHeap, 0, Info->pAllServices); + Info->pAllServices = NULL; } ScHandle = OpenSCManager(NULL, @@ -319,7 +320,7 @@ GetServiceList(PMAIN_WND_INFO Info, if (ScHandle) CloseServiceHandle(ScHandle); - if (!bRet) + if (!bRet && Info->pAllServices) { HeapFree(ProcessHeap, 0, diff --git a/base/applications/mscutils/servman/stop_dependencies.c b/base/applications/mscutils/servman/stop_dependencies.c index 559002c6073..99b60bbffe9 100644 --- a/base/applications/mscutils/servman/stop_dependencies.c +++ b/base/applications/mscutils/servman/stop_dependencies.c @@ -163,6 +163,8 @@ AddServiceNamesToStop(HWND hServiceListBox, LB_ADDSTRING, 0, (LPARAM)lpServiceConfig->lpDisplayName); + + HeapFree(GetProcessHeap(), 0, lpServiceConfig); } /* Move onto the next string */ diff --git a/base/applications/mspaint/dib.c b/base/applications/mspaint/dib.c index ee5bcb815e1..b9bcd59e451 100644 --- a/base/applications/mspaint/dib.c +++ b/base/applications/mspaint/dib.c @@ -72,11 +72,17 @@ SaveDIBToFile(HBITMAP hBitmap, LPTSTR FileName, HDC hDC, LPSYSTEMTIME time, int bi.biYPelsPerMeter = vRes; buffer = HeapAlloc(GetProcessHeap(), 0, imgDataSize); + if (!buffer) + return; + GetDIBits(hDC, hBitmap, 0, bm.bmHeight, buffer, (LPBITMAPINFO) & bi, DIB_RGB_COLORS); hFile = CreateFile(FileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_FLAG_SEQUENTIAL_SCAN, NULL); if (hFile == INVALID_HANDLE_VALUE) + { + HeapFree(GetProcessHeap(), 0, buffer); return; + } WriteFile(hFile, &bf, sizeof(BITMAPFILEHEADER), &dwBytesWritten, NULL); WriteFile(hFile, &bi, sizeof(BITMAPINFOHEADER), &dwBytesWritten, NULL); diff --git a/base/applications/mspaint/lang/es-ES.rc b/base/applications/mspaint/lang/es-ES.rc index 68e02943864..e5aab2b8011 100644 --- a/base/applications/mspaint/lang/es-ES.rc +++ b/base/applications/mspaint/lang/es-ES.rc @@ -4,6 +4,7 @@ * FILE: base/applications/mspaint/lang/es-ES.rc * PURPOSE: Spanish Language resource file * TRANSLATOR: Gabriel Ilardi + * PROOFREAD: Ismael Ferreras Morezuelas */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL @@ -45,9 +46,9 @@ BEGIN MENUITEM "Barra de estado", IDM_VIEWSTATUSBAR, CHECKED MENUITEM "Barra de formato del texto", IDM_FORMATICONBAR, CHECKED, GRAYED MENUITEM SEPARATOR - POPUP "Zoom" + POPUP "Ampliación" BEGIN - POPUP "Definido por el usuario" + POPUP "Definida por el usuario" BEGIN MENUITEM "12,5%", IDM_VIEWZOOM125 MENUITEM "25%", IDM_VIEWZOOM25 @@ -66,7 +67,7 @@ BEGIN POPUP "&Imagen" BEGIN MENUITEM "Rotar/Invertir...\tCtrl+R", IDM_IMAGEROTATEMIRROR - MENUITEM "Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW + MENUITEM "Estirar/Inclinar...\tCtrl+W", IDM_IMAGESTRETCHSKEW MENUITEM "Recortar", IDM_IMAGECROP MENUITEM "Invertir colores\tCtrl+I", IDM_IMAGEINVERTCOLORS MENUITEM "Atributos...\tCtrl+E", IDM_IMAGEATTRIBUTES @@ -77,8 +78,8 @@ BEGIN BEGIN MENUITEM "Editar paleta...", IDM_COLORSEDITPALETTE MENUITEM SEPARATOR - MENUITEM "Modern palette", IDM_COLORSMODERNPALETTE - MENUITEM "Old palette", IDM_COLORSOLDPALETTE + MENUITEM "Paleta moderna", IDM_COLORSMODERNPALETTE + MENUITEM "Paleta antigua", IDM_COLORSOLDPALETTE END POPUP "Ay&uda" BEGIN @@ -134,21 +135,21 @@ CAPTION "Atributos" BEGIN EDITTEXT IDD_ATTRIBUTESEDIT1, 48, 40, 35, 12 EDITTEXT IDD_ATTRIBUTESEDIT2, 128, 40, 35, 12 - LTEXT "Ancho:", IDD_ATTRIBUTESTEXT1, 10, 42, 30, 10 - LTEXT "Alto:", IDD_ATTRIBUTESTEXT2, 85, 42, 23, 10 - LTEXT "Fecha modificación:", IDD_ATTRIBUTESTEXT3, 10, 5, 80, 10 - LTEXT "Espacio en disco:", IDD_ATTRIBUTESTEXT4, 10, 15, 60, 10 - LTEXT "Resolución:", IDD_ATTRIBUTESTEXT5, 10, 25, 60, 10 + LTEXT "Anchura:", IDD_ATTRIBUTESTEXT1, 10, 42, 30, 10 + LTEXT "Altura:", IDD_ATTRIBUTESTEXT2, 101, 42, 23, 10 + LTEXT "Fecha modificación:", IDD_ATTRIBUTESTEXT3, 3, 5, 67, 10, SS_RIGHT + LTEXT "Espacio en disco:", IDD_ATTRIBUTESTEXT4, 10, 15, 60, 10, SS_RIGHT + LTEXT "Resolución:", IDD_ATTRIBUTESTEXT5, 10, 25, 60, 10, SS_RIGHT LTEXT "No disponible", IDD_ATTRIBUTESTEXT6, 73, 5, 80, 10 LTEXT "No disponible", IDD_ATTRIBUTESTEXT7, 73, 15, 80, 10 LTEXT "No disponible", IDD_ATTRIBUTESTEXT8, 73, 25, 80, 10 GROUPBOX "Unidades ", IDD_ATTRIBUTESGROUP1, 6, 57, 158, 27 AUTORADIOBUTTON "Pulgadas", IDD_ATTRIBUTESRB1, 12, 69, 45, 10, WS_GROUP - AUTORADIOBUTTON "cm", IDD_ATTRIBUTESRB2, 60, 69, 35, 10 - AUTORADIOBUTTON "Píxeles", IDD_ATTRIBUTESRB3, 112, 69, 45, 10 + AUTORADIOBUTTON "Centímetros", IDD_ATTRIBUTESRB2, 60, 69, 51, 10 + AUTORADIOBUTTON "Píxeles", IDD_ATTRIBUTESRB3, 120, 69, 42, 10 GROUPBOX "Colores ", IDD_ATTRIBUTESGROUP2, 6, 88, 158, 27 AUTORADIOBUTTON "Blanco y negro", IDD_ATTRIBUTESRB4, 12, 100, 70, 10, WS_GROUP - AUTORADIOBUTTON "Colores", IDD_ATTRIBUTESRB5, 92, 100, 35, 10 + AUTORADIOBUTTON "En color", IDD_ATTRIBUTESRB5, 92, 100, 40, 10 DEFPUSHBUTTON "Aceptar", IDOK, 170, 8, 48, 14 PUSHBUTTON "Cancelar", IDCANCEL, 170, 24, 48, 14 PUSHBUTTON "Predefinido", IDD_ATTRIBUTESSTANDARD, 170, 40, 48, 14 @@ -157,9 +158,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 "Estirar e inclinar imagen" BEGIN - GROUPBOX "Stretch", IDD_STRETCHSKEWGROUPSTRETCH, 6, 6, 158, 66 + GROUPBOX "Estirar", IDD_STRETCHSKEWGROUPSTRETCH, 6, 6, 158, 66 ICON IDI_HORZSTRETCH, IDD_STRETCHSKEWICONHSTRETCH, 12, 18, 32, 32 LTEXT "Horizontal:", IDD_STRETCHSKEWTEXTHSTRETCH, 45, 24, 40, 10 EDITTEXT IDD_STRETCHSKEWEDITHSTRETCH, 90, 23, 32, 12 @@ -168,15 +169,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 "Inclinar", IDD_STRETCHSKEWGROUPSKEW, 6, 76, 158, 66 ICON IDI_HORZSKEW, IDD_STRETCHSKEWICONHSKEW, 12, 88, 32, 32 LTEXT "Horizontal:", IDD_STRETCHSKEWTEXTHSKEW, 45, 94, 40, 10 EDITTEXT IDD_STRETCHSKEWEDITHSKEW, 90, 93, 32, 12 - LTEXT "degrees", IDD_STRETCHSKEWTEXTHDEG, 125, 94, 30, 10 + LTEXT "grados", 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 "grados", IDD_STRETCHSKEWTEXTVDEG, 125, 119, 30, 10 DEFPUSHBUTTON "Aceptar", IDOK, 170, 8, 48, 14 PUSHBUTTON "Cancelar", IDCANCEL, 170, 24, 48, 14 END @@ -186,8 +187,8 @@ BEGIN IDS_PROGRAMNAME "Paint" IDS_WINDOWTITLE "%s - Paint" IDS_INFOTITLE "Paint para ReactOS" - IDS_INFOTEXT "Paint para ReactOS is available under the GNU Lesser General Public License (LGPL, ver www.gnu.org)" - IDS_SAVEPROMPTTEXT "¿Guardar cambios cambios a %s?" + IDS_INFOTEXT "Paint para ReactOS está disponible bajo los términos de la GNU Lesser General Public License (LGPL, ver www.gnu.org)" + IDS_SAVEPROMPTTEXT "¿Guardar cambios a %s?" IDS_DEFAULTFILENAME "Sin titulo.bmp" IDS_MINIATURETITLE "Miniatura" IDS_TOOLTIP1 "Selección de forma libre" @@ -209,9 +210,9 @@ BEGIN IDS_OPENFILTER "Archivos de mapa de bits (*.bmp;*.dib)\1*.bmp;*.dib\1Todos los archivos (*.*)\1*.*\1" IDS_SAVEFILTER "Mapa de bits de 24 bits (*.bmp;*.dib)\1*.bmp;*.dib\1" IDS_FILESIZE "%d bytes" - IDS_PRINTRES "%d x %d pixels por metro" - 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_PRINTRES "%d x %d píxeles/m" + IDS_INTNUMBERS "Sólo se admiten números sin decimales." + IDS_PERCENTAGE "El porcentaje debe de estar entre 1 y 500." + IDS_ANGLE "El ángulo debe de estar entre -89 y 89." + IDS_LOADERRORTEXT "No se pudo cargar el archivo %s." END diff --git a/base/applications/mspaint/lang/ro-RO.rc b/base/applications/mspaint/lang/ro-RO.rc index 13e5bba07fa..5fd3f740a91 100644 --- a/base/applications/mspaint/lang/ro-RO.rc +++ b/base/applications/mspaint/lang/ro-RO.rc @@ -13,13 +13,13 @@ BEGIN POPUP "&Fișier" BEGIN MENUITEM "&Nou\tCtrl+N", IDM_FILENEW - MENUITEM "&Deschidere…\tCtrl+D", IDM_FILEOPEN - MENUITEM "Pă&strează\tCtrl+S", IDM_FILESAVE - MENUITEM "&Păstrare în…", IDM_FILESAVEAS + MENUITEM "&Deschidere…\tCtrl+O", IDM_FILEOPEN + MENUITEM "&Păstrează\tCtrl+S", IDM_FILESAVE + MENUITEM "Păst&rare î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 "Decor de birou (în c&arou)", IDM_FILEASWALLPAPERPLANE + MENUITEM "Decor de birou (¢rat)", IDM_FILEASWALLPAPERCENTERED + MENUITEM "Decor de birou (e&xtins)", IDM_FILEASWALLPAPERSTRETCHED MENUITEM SEPARATOR MENUITEM "I&eșire\tAlt+F4", IDM_FILEEXIT END @@ -32,11 +32,11 @@ BEGIN MENUITEM "&Copiază\tCtrl+C", IDM_EDITCOPY MENUITEM "&Lipește\tCtrl+V", IDM_EDITPASTE MENUITEM "Șt&erge selecția\tDel", IDM_EDITDELETESELECTION - MENUITEM "&Inversează selecția", IDM_EDITINVERTSELECTION + MENUITEM "In&versează selecția", IDM_EDITINVERTSELECTION MENUITEM "Selecte&ază tot\tCtrl+A", IDM_EDITSELECTALL MENUITEM SEPARATOR MENUITEM "C&opiere în…", IDM_EDITCOPYTO - MENUITEM "L&ipire din…", IDM_EDITPASTEFROM + MENUITEM "Lipire di&n…", IDM_EDITPASTEFROM END POPUP "&Afișare" BEGIN @@ -63,15 +63,15 @@ BEGIN END MENUITEM "Pe t&ot ecranul\tCtrl+F", IDM_VIEWFULLSCREEN END - POPUP "&Imagine" + POPUP "I&magine" BEGIN - MENUITEM "R&otire/Oglindire…\tCtrl+R", IDM_IMAGEROTATEMIRROR + MENUITEM "&Rotire/Oglindire…\tCtrl+R", IDM_IMAGEROTATEMIRROR MENUITEM "Întin&dere/Înclinare…\tCtrl+W", IDM_IMAGESTRETCHSKEW - MENUITEM "&Recoltează", IDM_IMAGECROP + MENUITEM "Recoltea&ză", 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 @@ -91,7 +91,7 @@ END ID_ACCELERATORS ACCELERATORS BEGIN "^N", IDM_FILENEW - "^D", IDM_FILEOPEN + "^O", IDM_FILEOPEN "^S", IDM_FILESAVE "^Z", IDM_EDITUNDO "^Y", IDM_EDITREDO @@ -151,7 +151,7 @@ BEGIN AUTORADIOBUTTON "Color", IDD_ATTRIBUTESRB5, 92, 100, 35, 10 DEFPUSHBUTTON "Con&firmă", IDOK, 170, 8, 48, 14 PUSHBUTTON "A&nulează", IDCANCEL, 170, 24, 48, 14 - PUSHBUTTON "I&mplicite", IDD_ATTRIBUTESSTANDARD, 170, 40, 48, 14 + PUSHBUTTON "Impli&cite", IDD_ATTRIBUTESSTANDARD, 170, 40, 48, 14 END IDD_STRETCHSKEW DIALOGEX 100, 100, 225, 150 @@ -161,20 +161,20 @@ CAPTION "Întindere și înclinare imagine" BEGIN 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 + LTEXT "&Orizontală:", IDD_STRETCHSKEWTEXTHSTRETCH, 45, 24, 40, 10 EDITTEXT IDD_STRETCHSKEWEDITHSTRETCH, 90, 23, 32, 12 LTEXT "%", IDD_STRETCHSKEWTEXTHPERCENT, 125, 24, 15, 10 ICON IDI_VERTSTRETCH, IDD_STRETCHSKEWICONVSTRETCH, 12, 43, 32, 32 - LTEXT "Verticală:", IDD_STRETCHSKEWTEXTVSTRETCH, 45, 49, 40, 10 + LTEXT "&Verticală:", IDD_STRETCHSKEWTEXTVSTRETCH, 45, 49, 40, 10 EDITTEXT IDD_STRETCHSKEWEDITVSTRETCH, 90, 48, 32, 12 LTEXT "%", IDD_STRETCHSKEWTEXTVPERCENT, 125, 49, 15, 10 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 + LTEXT "Ori&zontală:", IDD_STRETCHSKEWTEXTHSKEW, 45, 94, 40, 10 EDITTEXT IDD_STRETCHSKEWEDITHSKEW, 90, 93, 32, 12 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 + LTEXT "V&erticală:", IDD_STRETCHSKEWTEXTVSKEW, 45, 119, 40, 10 EDITTEXT IDD_STRETCHSKEWEDITVSKEW, 90, 118, 32, 12 LTEXT "grade", IDD_STRETCHSKEWTEXTVDEG, 125, 119, 30, 10 DEFPUSHBUTTON "Con&firmă", IDOK, 170, 8, 48, 14 diff --git a/base/applications/mspaint/lang/ru-RU.rc b/base/applications/mspaint/lang/ru-RU.rc index fd15c6ca5cd..59595ad7df5 100644 --- a/base/applications/mspaint/lang/ru-RU.rc +++ b/base/applications/mspaint/lang/ru-RU.rc @@ -72,7 +72,7 @@ BEGIN MENUITEM "Модернизированный вид", IDM_COLORSMODERNPALETTE MENUITEM "Старый вид", IDM_COLORSOLDPALETTE END - POPUP "&?" + POPUP "&Справка" BEGIN MENUITEM "&Вызов справки", IDM_HELPHELPTOPICS MENUITEM SEPARATOR @@ -180,7 +180,7 @@ BEGIN IDS_INFOTITLE "Paint для ReactOS" IDS_INFOTEXT "Paint для ReactOS распространяется под лицензией GNU Lesser General Public License (LGPL, см. www.gnu.org)" IDS_SAVEPROMPTTEXT "Сохранить изменения в %s?" - IDS_DEFAULTFILENAME "Без_имени.bmp" + IDS_DEFAULTFILENAME "Безымянный.bmp" IDS_MINIATURETITLE "Эскиз" IDS_TOOLTIP1 "Выделение произвольной области" IDS_TOOLTIP2 "Выделение" diff --git a/base/applications/mspaint/lang/tr-TR.rc b/base/applications/mspaint/lang/tr-TR.rc index 65842350458..efc551b345f 100644 --- a/base/applications/mspaint/lang/tr-TR.rc +++ b/base/applications/mspaint/lang/tr-TR.rc @@ -3,7 +3,7 @@ * LICENSE: LGPL * FILE: base/applications/mspaint/lang/tr-TR.rc * PURPOSE: Turkish Resource file for ReactOS Paint - * TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) + * TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -14,8 +14,8 @@ BEGIN BEGIN MENUITEM "&Yeni\tCtrl+N", IDM_FILENEW MENUITEM "&Aç...\tCtrl+O", IDM_FILEOPEN - MENUITEM "&Kaydet\tCtrl+S", IDM_FILESAVE - MENUITEM "Ay&rı Kaydet...", IDM_FILESAVEAS + MENUITEM "&Sakla\tCtrl+S", IDM_FILESAVE + MENUITEM "Ay&rı Sakla...", IDM_FILESAVEAS MENUITEM SEPARATOR MENUITEM "&Döşeyerek Duvar Kağıdı Yap", IDM_FILEASWALLPAPERPLANE MENUITEM "&Ortalayarak Duvar Kağıdı Yap", IDM_FILEASWALLPAPERCENTERED @@ -187,7 +187,7 @@ BEGIN IDS_WINDOWTITLE "%s - Boyama" IDS_INFOTITLE "Boyama" IDS_INFOTEXT "Boyama, GNU Kısıtlı Umûmî Kamu Ruhsatı (LGPL) altında vardır. (LGPL için bakınız: www.gnu.org)" - IDS_SAVEPROMPTTEXT "%s için yapılan değişiklikleri kaydetmek ister misiniz?" + IDS_SAVEPROMPTTEXT "%s için yapılan değişiklikleri saklamak ister misiniz?" IDS_DEFAULTFILENAME "Adsız.bmp" IDS_MINIATURETITLE "Küçüğü" IDS_TOOLTIP1 "Özgür Seçim" diff --git a/base/applications/mstsc/constants.h b/base/applications/mstsc/constants.h index 8a1292605d0..0e9a6952b94 100644 --- a/base/applications/mstsc/constants.h +++ b/base/applications/mstsc/constants.h @@ -2,7 +2,7 @@ rdesktop: A Remote Desktop Protocol client. Miscellaneous protocol constants Copyright (C) Matthew Chapman 1999-2005 - + 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 @@ -13,9 +13,9 @@ 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. + 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* TCP port for Remote Desktop Protocol */ @@ -60,10 +60,11 @@ enum MCS_PDU_TYPE #define MCS_USERCHANNEL_BASE 1001 /* RDP secure transport constants */ -#define SEC_RANDOM_SIZE 32 -#define SEC_MODULUS_SIZE 64 -#define SEC_PADDING_SIZE 8 -#define SEC_EXPONENT_SIZE 4 +#define SEC_RANDOM_SIZE 32 +#define SEC_MODULUS_SIZE 64 +#define SEC_MAX_MODULUS_SIZE 256 +#define SEC_PADDING_SIZE 8 +#define SEC_EXPONENT_SIZE 4 #define SEC_CLIENT_RANDOM 0x0001 #define SEC_ENCRYPT 0x0008 diff --git a/base/applications/mstsc/lang/es-ES.rc b/base/applications/mstsc/lang/es-ES.rc index 31acde17f46..81c9c65a729 100644 --- a/base/applications/mstsc/lang/es-ES.rc +++ b/base/applications/mstsc/lang/es-ES.rc @@ -1,4 +1,4 @@ -/* Spanish Language resource file. Traducido por: Javier Remacha 2007-12-22 */ +/* Spanish Language resource file. Traducido por: Javier Remacha 2007-12-22 e Ismael Ferreras Morezuelas 2014-11-07 */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL @@ -14,11 +14,11 @@ BEGIN LTEXT "Nombre de usuario:", IDC_STATIC, 47, 58, 70, 8 COMBOBOX IDC_SERVERCOMBO, 79, 39, 141, 150, CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP EDITTEXT IDC_NAMEEDIT, 110, 55, 110, 14, WS_TABSTOP | ES_AUTOHSCROLL - PUSHBUTTON "Guardar", IDC_SAVE, 60, 139, 50, 14 //67 - PUSHBUTTON "Guardar Como...", IDC_SAVEAS, 115, 139, 58,14 //123, 50 + PUSHBUTTON "&Guardar", IDC_SAVE, 60, 139, 50, 14 //67 + PUSHBUTTON "Guardar &como...", IDC_SAVEAS, 115, 139, 58,14 //123, 50 PUSHBUTTON "Abrir...", IDC_OPEN, 177, 139, 50, 14 ICON "", IDC_CONNICON, 16, 114, 20, 20 - LTEXT "Guardar esta configuración o abrir una existente", IDC_STATIC, 50, 115, 172, 20 + LTEXT "Guarde la configuración de conexión actual en un archivo RDP o abra una ya existente.", IDC_STATIC, 50, 115, 172, 20 END IDD_DISPLAY DIALOGEX 0, 0, 242, 175 @@ -29,7 +29,7 @@ BEGIN GROUPBOX "Colores", IDC_STATIC, 7, 83, 228, 85 ICON "", IDC_REMICON, 15, 19, 20, 20 ICON "", IDC_COLORSICON, 15, 98, 20, 20 - LTEXT "Elija el tamaño de su escritorio remoto. Arrastre el control deslizante hacia el extremo derecho para el modo de pantalla completa", IDC_STATIC, 53, 18, 175, 26 //22 + LTEXT "Elija el tamaño de su escritorio remoto. Para utilizar el modo de pantalla completa, arrastre el control deslizante hacia el extremo derecho.", IDC_STATIC, 53, 18, 175, 26 //22 CONTROL "", IDC_GEOSLIDER, "msctls_trackbar32", TBS_AUTOTICKS | WS_TABSTOP, 56, 45, 124, 17 COMBOBOX IDC_BPPCOMBO, 56, 102, 128, 80, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP CONTROL "", IDC_COLORIMAGE, "Static", SS_OWNERDRAW | SS_SUNKEN, 56, 121, 127, 10 @@ -41,7 +41,7 @@ END IDD_CONNECTDIALOG DIALOGEX 0, 0, 260, 262 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Conexión a Escritorio Remoto" +CAPTION "Conexión a Escritorio remoto" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Conectar", IDOK, 147, 245, 50, 14 @@ -54,12 +54,12 @@ BEGIN IDS_TAB_GENERAL "General" IDS_TAB_DISPLAY "Pantalla" IDS_256COLORS "256 Colores" - IDS_HIGHCOLOR15 "32,768 Colores (15 bit)" - IDS_HIGHCOLOR16 "65,536 Colores (16 bit)" - IDS_HIGHCOLOR24 "16,777,216 Colores (24 bit)" - IDS_PIXEL "%lux%lu Pixels" - IDS_FULLSCREEN "Pantalla Completa" + IDS_HIGHCOLOR15 "32,768 colores (15 bit)" + IDS_HIGHCOLOR16 "65,536 colores (16 bit)" + IDS_HIGHCOLOR24 "16,777,216 colores (24 bit)" + IDS_PIXEL "%lux%lu píxeles" + IDS_FULLSCREEN "Pantalla completa" IDS_BROWSESERVER "" - IDS_HEADERTEXT1 "Escritorio Remoto" - IDS_HEADERTEXT2 "Conexión" + IDS_HEADERTEXT1 "Conexión a escritorio" + IDS_HEADERTEXT2 "Remoto" END diff --git a/base/applications/mstsc/lang/ru-RU.rc b/base/applications/mstsc/lang/ru-RU.rc index f9fe8a04440..71dfbab7e34 100644 --- a/base/applications/mstsc/lang/ru-RU.rc +++ b/base/applications/mstsc/lang/ru-RU.rc @@ -1,22 +1,24 @@ +/* Russian language resource file by Dmitry Chapyshev, Kudratov Olimjon (olim98@bk.ru) */ + LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT IDD_GENERAL DIALOGEX 0, 0, 242, 175 STYLE DS_SHELLFONT | WS_CHILD FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN - GROUPBOX "Настройки входа", IDC_STATIC, 7, 7, 228, 89 - GROUPBOX "Настройки подключения", IDC_STATIC, 7, 103, 228, 65 + GROUPBOX "Параметры входа", IDC_STATIC, 7, 7, 228, 89 + GROUPBOX "Параметры подключения", IDC_STATIC, 7, 103, 228, 65 ICON "", IDC_LOGONICON, 15, 19, 20, 20 LTEXT "Введите адрес сервера", IDC_STATIC, 47, 24, 100, 8 LTEXT "Сервер:", IDC_STATIC, 52, 41, 31, 8 LTEXT "Имя пользователя:", IDC_STATIC, 15, 58, 67, 8 COMBOBOX IDC_SERVERCOMBO, 86, 39, 141, 150, CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP EDITTEXT IDC_NAMEEDIT, 110, 55, 110, 14, WS_TABSTOP | ES_AUTOHSCROLL - PUSHBUTTON "Сохранить", IDC_SAVE, 49, 139, 50, 14 - PUSHBUTTON "Сохранить как...", IDC_SAVEAS, 103, 139, 70, 14 - PUSHBUTTON "Открыть...", IDC_OPEN, 177, 139, 50, 14 + PUSHBUTTON "Сохр&анить", IDC_SAVE, 49, 139, 50, 14 + PUSHBUTTON "Со&хранить как...", IDC_SAVEAS, 103, 139, 70, 14 + PUSHBUTTON "&Открыть...", IDC_OPEN, 177, 139, 50, 14 ICON "", IDC_CONNICON, 16, 114, 20, 20 - LTEXT "Сохранить текущие настройки подключения или открыть существующую конфигурацию.", IDC_STATIC, 50, 115, 172, 20 + LTEXT "Сохранение текущих параметров подключения в RDP-файл или открытие сохраненного подключения.", IDC_STATIC, 50, 115, 172, 20 END IDD_DISPLAY DIALOGEX 0, 0, 242, 175 @@ -27,13 +29,13 @@ BEGIN GROUPBOX "Цвета", IDC_STATIC, 7, 83, 228, 85 ICON "", IDC_REMICON, 15, 19, 20, 20 ICON "", IDC_COLORSICON, 15, 98, 20, 20 - LTEXT "Установить размер экрана на удаленном компью-\nтере. Перетащите ползунок в крайнее правое положение для перехода в полноэкранный режим.", IDC_STATIC, 53, 17, 175, 24 + LTEXT "Укажите размер удаленного рабочего стола. Крайнее правое положение ползунка соответствует полноэкранному режиму.", IDC_STATIC, 53, 17, 175, 24 CONTROL "", IDC_GEOSLIDER, "msctls_trackbar32", TBS_AUTOTICKS | WS_TABSTOP, 56, 42, 124, 17 COMBOBOX IDC_BPPCOMBO, 56, 102, 128, 80, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP CONTROL "", IDC_COLORIMAGE, "Static", SS_OWNERDRAW | SS_SUNKEN, 56, 121, 127, 10 LTEXT "Примечание: Эти параметры определяются настройками удаленного компьютера.", IDC_STATIC, 56, 143, 165, 18 - LTEXT "меньше", IDC_STATIC, 20, 52, 30, 8 - LTEXT "больше", IDC_STATIC, 189, 51, 32, 8 + LTEXT "Меньше", IDC_STATIC, 20, 52, 30, 8 + LTEXT "Больше", IDC_STATIC, 189, 51, 32, 8 LTEXT "", IDC_SETTINGS_RESOLUTION_TEXT, 56, 62, 120, 10, SS_CENTER END @@ -55,7 +57,7 @@ BEGIN IDS_HIGHCOLOR15 "32,768 цветов (15 бит)" IDS_HIGHCOLOR16 "65,536 цветов (16 бит)" IDS_HIGHCOLOR24 "16,777,216 цветов (24 бит)" - IDS_PIXEL "%lux%lu пикселей" + IDS_PIXEL "%lu на %lu пикселей" IDS_FULLSCREEN "Полный экран" IDS_BROWSESERVER "<Указать путь...>" IDS_HEADERTEXT1 "Удаленный рабочий стол" diff --git a/base/applications/mstsc/lang/tr-TR.rc b/base/applications/mstsc/lang/tr-TR.rc index 4758d9db1e9..da164cf0862 100644 --- a/base/applications/mstsc/lang/tr-TR.rc +++ b/base/applications/mstsc/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -14,11 +14,11 @@ BEGIN LTEXT "Kullanıcı Adı:", IDC_STATIC, 47, 58, 38, 8 COMBOBOX IDC_SERVERCOMBO, 79, 39, 141, 150, CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP EDITTEXT IDC_NAMEEDIT, 110, 55, 110, 14, WS_TABSTOP | ES_AUTOHSCROLL - PUSHBUTTON "Kaydet", IDC_SAVE, 67, 139, 50, 14 - PUSHBUTTON "Ayrı Kaydet...", IDC_SAVEAS, 123, 139, 50, 14 + PUSHBUTTON "Sakla", IDC_SAVE, 67, 139, 50, 14 + PUSHBUTTON "Ayrı Sakla...", IDC_SAVEAS, 123, 139, 50, 14 PUSHBUTTON "Aç...", IDC_OPEN, 177, 139, 50, 14 ICON "", IDC_CONNICON, 16, 114, 20, 20 - LTEXT "Şimdiki bağlantı ayarlarını kaydedebilir ya da var olan bir ayar kütüğünü açabilirsiniz.", IDC_STATIC, 50, 115, 172, 20 + LTEXT "Şimdiki bağlantı ayarlarını saklayabilir ya da var olan bir ayar kütüğünü açabilirsiniz.", IDC_STATIC, 50, 115, 172, 20 END IDD_DISPLAY DIALOGEX 0, 0, 242, 175 diff --git a/base/applications/mstsc/secure.c b/base/applications/mstsc/secure.c index 80d4024b2f9..bf8296e0ae4 100644 --- a/base/applications/mstsc/secure.c +++ b/base/applications/mstsc/secure.c @@ -13,9 +13,9 @@ 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. + 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., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "precomp.h" @@ -56,7 +56,7 @@ int ssl_mod_exp(char* out, int out_len, char* in, int in_len, char* mod, int mod_len, char* exp, int exp_len); -extern char g_hostname[]; +extern char g_hostname[16]; extern int g_width; extern int g_height; extern unsigned int g_keylayout; @@ -77,13 +77,14 @@ static void * rc4_decrypt_key = 0; static void * rc4_encrypt_key = 0; //static RSA *server_public_key; static void * server_public_key; +static uint32 server_public_key_len; static uint8 sec_sign_key[16]; static uint8 sec_decrypt_key[16]; static uint8 sec_encrypt_key[16]; static uint8 sec_decrypt_update_key[16]; static uint8 sec_encrypt_update_key[16]; -static uint8 sec_crypted_random[SEC_MODULUS_SIZE]; +static uint8 sec_crypted_random[SEC_MAX_MODULUS_SIZE]; uint16 g_server_rdp_version = 0; @@ -263,7 +264,7 @@ sec_sign(uint8 * signature, int siglen, uint8 * session_key, int keylen, uint8 * ssl_md5_transform(md5, (char *)pad_92, 48); ssl_md5_transform(md5, (char *)shasig, 20); ssl_md5_complete(md5, (char *)md5sig); - ssl_md5_info_delete(md5); + ssl_md5_info_delete(md5); memcpy(signature, md5sig, siglen); } @@ -347,16 +348,32 @@ reverse(uint8 * p, int len) /* Perform an RSA public key encryption operation */ static void -sec_rsa_encrypt(uint8 * out, uint8 * in, int len, uint8 * modulus, uint8 * exponent) +//sec_rsa_encrypt(uint8 * out, uint8 * in, int len, uint8 * modulus, uint8 * exponent) +sec_rsa_encrypt(uint8 * out, uint8 * in, int len, uint32 modulus_size, uint8 * modulus, uint8 * exponent) { ssl_mod_exp((char *)out, 64, (char *)in, 32, (char *)modulus, 64, (char *)exponent, 4); +/* +ssl_mod_exp(out, 64, in, 32, modulus, 64, exponent, 4); + +ssl_mod_exp(char* out, int out_len, char* in, int in_len, + char* mod, int mod_len, char* exp, int exp_len) + +e = (DIGIT_T*)l_exp; +x = (DIGIT_T*)l_in; +y = (DIGIT_T*)l_out; +m = (DIGIT_T*)l_mod; + +*/ + + //BN_CTX *ctx; + /* BN_CTX *ctx; BIGNUM mod, exp, x, y; - uint8 inr[SEC_MODULUS_SIZE]; + uint8 inr[SEC_MAX_MODULUS_SIZE]; int outlen; - reverse(modulus, SEC_MODULUS_SIZE); + reverse(modulus, modulus_size); reverse(exponent, SEC_EXPONENT_SIZE); memcpy(inr, in, len); reverse(inr, len); @@ -367,14 +384,14 @@ sec_rsa_encrypt(uint8 * out, uint8 * in, int len, uint8 * modulus, uint8 * expon BN_init(&x); BN_init(&y); - BN_bin2bn(modulus, SEC_MODULUS_SIZE, &mod); + BN_bin2bn(modulus, modulus_size, &mod); BN_bin2bn(exponent, SEC_EXPONENT_SIZE, &exp); BN_bin2bn(inr, len, &x); BN_mod_exp(&y, &x, &exp, &mod, ctx); outlen = BN_bn2bin(&y, out); reverse(out, outlen); - if (outlen < SEC_MODULUS_SIZE) - memset(out + outlen, 0, SEC_MODULUS_SIZE - outlen); + if (outlen < modulus_size) + memset(out + outlen, 0, modulus_size - outlen); BN_free(&y); BN_clear_free(&x); @@ -440,14 +457,14 @@ sec_send(STREAM s, uint32 flags) static void sec_establish_key(void) { - uint32 length = SEC_MODULUS_SIZE + SEC_PADDING_SIZE; + uint32 length = server_public_key_len + SEC_PADDING_SIZE; uint32 flags = SEC_CLIENT_RANDOM; STREAM s; - s = sec_init(flags, 76); + s = sec_init(flags, length+4); out_uint32_le(s, length); - out_uint8p(s, sec_crypted_random, SEC_MODULUS_SIZE); + out_uint8p(s, sec_crypted_random, server_public_key_len); out_uint8s(s, SEC_PADDING_SIZE); s_mark_end(s); @@ -559,16 +576,18 @@ sec_parse_public_key(STREAM s, uint8 ** modulus, uint8 ** exponent) } in_uint32_le(s, modulus_len); - if (modulus_len != SEC_MODULUS_SIZE + SEC_PADDING_SIZE) + modulus_len -= SEC_PADDING_SIZE; + if ((modulus_len < 64) || (modulus_len > SEC_MAX_MODULUS_SIZE)) { - error("modulus len 0x%x\n", modulus_len); + error("Bad server public key size (%u bits)\n", modulus_len*8); return False; } in_uint8s(s, 8); /* modulus_bits, unknown */ in_uint8p(s, *exponent, SEC_EXPONENT_SIZE); - in_uint8p(s, *modulus, SEC_MODULUS_SIZE); + in_uint8p(s, *modulus, modulus_len); in_uint8s(s, SEC_PADDING_SIZE); + server_public_key_len = modulus_len; return s_check(s); } @@ -740,10 +759,10 @@ sec_parse_crypt_info(STREAM s, uint32 * rc4_key_size, static void sec_process_crypt_info(STREAM s) { - uint8 *server_random, *modulus = NULL, *exponent = NULL; + uint8 *server_random, *modulus, *exponent; uint8 client_random[SEC_RANDOM_SIZE]; uint32 rc4_key_size; - uint8 inr[SEC_MODULUS_SIZE]; + //uint8 inr[SEC_MODULUS_SIZE]; if (!sec_parse_crypt_info(s, &rc4_key_size, &server_random, &modulus, &exponent)) { @@ -754,15 +773,14 @@ sec_process_crypt_info(STREAM s) DEBUG(("Generating client random\n")); /* Generate a client random, and hence determine encryption keys */ /* This is what the MS client do: */ - memset(inr, 0, SEC_RANDOM_SIZE); + //memset(inr, 0, SEC_RANDOM_SIZE); /* *ARIGL!* Plaintext attack, anyone? - I tried doing: - generate_random(inr); - ..but that generates connection errors now and then (yes, - "now and then". Something like 0 to 3 attempts needed before a - successful connection. Nice. Not! - */ - + I tried doing: + generate_random(inr); + ..but that generates connection errors now and then (yes, + "now and then". Something like 0 to 3 attempts needed before a + successful connection. Nice. Not! + */ generate_random(client_random); if (NULL != server_public_key) { /* Which means we should use @@ -783,7 +801,7 @@ sec_process_crypt_info(STREAM s) else { /* RDP4-style encryption */ sec_rsa_encrypt(sec_crypted_random, - client_random, SEC_RANDOM_SIZE, modulus, exponent); + client_random, SEC_RANDOM_SIZE, server_public_key_len, modulus, exponent); } sec_generate_keys(client_random, server_random, rc4_key_size); } diff --git a/base/applications/network/arp/CMakeLists.txt b/base/applications/network/arp/CMakeLists.txt index 31e3066e219..7f86c4cb4ba 100644 --- a/base/applications/network/arp/CMakeLists.txt +++ b/base/applications/network/arp/CMakeLists.txt @@ -1,8 +1,5 @@ add_executable(arp arp.c arp.rc) - set_module_type(arp win32cui) - add_importlibs(arp iphlpapi ws2_32 shlwapi msvcrt kernel32) - add_cd_file(TARGET arp DESTINATION reactos/system32 FOR all) diff --git a/base/applications/network/dwnl/CMakeLists.txt b/base/applications/network/dwnl/CMakeLists.txt index 1e7329b4d83..ac0517d4786 100644 --- a/base/applications/network/dwnl/CMakeLists.txt +++ b/base/applications/network/dwnl/CMakeLists.txt @@ -1,12 +1,9 @@ - add_executable(dwnl dwnl.c) - set_module_type(dwnl win32cui UNICODE) - target_link_libraries(dwnl uuid) - add_importlibs(dwnl urlmon wininet msvcrt kernel32) + if(MSVC) add_importlibs(dwnl ntdll) endif() diff --git a/base/applications/network/finger/finger.c b/base/applications/network/finger/finger.c index 55bd2b0c1a1..f871b8b3861 100644 --- a/base/applications/network/finger/finger.c +++ b/base/applications/network/finger/finger.c @@ -151,6 +151,8 @@ userlist(int argc, char **argv) /* Tell the user that we couldn't find a usable */ /* WinSock DLL. */ fprintf(stderr, "WSAStartup failed\n"); + free(nargv); + free(used); return; } diff --git a/base/applications/network/finger/net.c b/base/applications/network/finger/net.c index 1e004359923..198ba354374 100644 --- a/base/applications/network/finger/net.c +++ b/base/applications/network/finger/net.c @@ -128,4 +128,5 @@ netfinger(char *name) if (lastc != '\n') putchar('\n'); putchar('\n'); + (void)closesocket(s); } diff --git a/base/applications/network/ftp/ftp.c b/base/applications/network/ftp/ftp.c index 6db667a6fd4..eef371d694d 100644 --- a/base/applications/network/ftp/ftp.c +++ b/base/applications/network/ftp/ftp.c @@ -674,6 +674,7 @@ null();// (void) signal(SIGINT, oldintr); null();// (void) signal(SIGPIPE, oldintp); if (!cpend) { code = -1; + (*closefunc)(fin); return; } if (data >= 0) { diff --git a/base/applications/network/ipconfig/ipconfig.c b/base/applications/network/ipconfig/ipconfig.c index 178a6d851b6..cd720a7fa47 100644 --- a/base/applications/network/ipconfig/ipconfig.c +++ b/base/applications/network/ipconfig/ipconfig.c @@ -232,6 +232,7 @@ LPTSTR GetConnectionType(LPTSTR lpClass) } if (ConType) CharToOem(ConTypeTmp, ConType); + HeapFree(ProcessHeap, 0, ConTypeTmp); } } } @@ -366,6 +367,7 @@ LPTSTR GetConnectionDescription(LPTSTR lpClass) (PBYTE)lpConDesc, &dwDataSize) != ERROR_SUCCESS) { + HeapFree(ProcessHeap, 0, lpConDesc); lpConDesc = NULL; goto CLEANUP; } @@ -382,9 +384,9 @@ CLEANUP: RegCloseKey(hBaseKey); if (hClassKey != NULL) RegCloseKey(hClassKey); - if (lpConDesc != NULL) + if (lpPath != NULL) HeapFree(ProcessHeap, 0, lpPath); - if (lpConDesc != NULL) + if (lpKeyClass != NULL) HeapFree(ProcessHeap, 0, lpKeyClass); return lpConDesc; @@ -714,7 +716,9 @@ VOID Usage(VOID) Size)) { _tprintf(_T("%s"), lpUsage); - } + } + + HeapFree(ProcessHeap, 0, lpUsage); } } diff --git a/base/applications/network/ipconfig/lang/es-ES.rc b/base/applications/network/ipconfig/lang/es-ES.rc index 52d89a5600a..abea6311fba 100644 --- a/base/applications/network/ipconfig/lang/es-ES.rc +++ b/base/applications/network/ipconfig/lang/es-ES.rc @@ -1,23 +1,26 @@ +/* Spanish Language resource file. + * Translated by: ?? and Ismael Ferreras Morezuelas <2014-11-07> */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL STRINGTABLE BEGIN - IDS_BCAST "Broadcast" - IDS_P2P "Peer To Peer" - IDS_MIXED "Mixto" - IDS_HYBRID "Híbrido" - IDS_UNKNOWN "Deconocido" + IDS_BCAST "Difusión" + IDS_P2P "Punto a punto" + IDS_MIXED "Mixto" + IDS_HYBRID "Híbrido" + IDS_UNKNOWN "Desconocido" END STRINGTABLE BEGIN - IDS_OTHER "Otro Tipo de Adaptador" - IDS_ETH "Adaptador Ethernet" - IDS_TOKEN "Adaptador Token Ring" - IDS_FDDI "Adaptador FDDI" - IDS_PPP "Adaptador PPP" - IDS_LOOP "Adaptador Loopback" - IDS_SLIP "Adaptador SLIP" + IDS_OTHER "Otro tipo de adaptador" + IDS_ETH "Adaptador Ethernet" + IDS_TOKEN "Adaptador de red en anillo" + IDS_FDDI "Adaptador FDDI" + IDS_PPP "Adaptador PPP" + IDS_LOOP "Adaptador de bucle invertido" + IDS_SLIP "Adaptador SLIP" END STRINGTABLE @@ -30,36 +33,38 @@ BEGIN /showclassid adaptador |\n \ /setclassid adaptador [classid] ]\n \ \n \ - En la cual\n \ + donde\n \ adaptador Nombre de la conexión\n \ - (caracteres especiales * and ? autorizados, ver ejemplos)\n \ + (los caracteres comodín * y ? están permitidos, ver ejemplos)\n \ \n \ - Optiones:\n \ + Opciones:\n \ /? Muestra este mensaje de ayuda\n \ - /all Muestra todas las informaciones de configuración.\n \ + /all Muestra la información de configuración.\n \ /release Libera la dirección IP para el adaptador especificado.\n \ /renew Renueva la dirección IP para el adaptador especificado.\n \ - /flushdns Purga la cache de Resolución DNS.\n \ - /registerdns Actualiza todas las concesiones DHCP y registra de nuevo nombres DNS.\n \ - /displaydns Muestra el contenido del cache de Resolución DNS.\n \ - /showclassid Muestra todos los class IDs dhcp concedidos al adaptador.\n \ - /setclassid Modifica el class id dhcp.\n \ + /flushdns Purga la caché de resolución DNS.\n \ + /registerdns Actualiza todas las concesiones DHCP y registran \n \ + de nuevo los nombres DNS.\n \ + /displaydns Muestra el contenido de la caché de resolución DNS.\n \ + /showclassid Muestra todos los id. de clase DHCP permitidos al adaptador.\n \ + /setclassid Modifica el id. de clase DHCP.\n \ \n \ - Generalmente se muestra solamente la dirección IP, la máscara de red y\n \ - la puerta de enlace predefinidas de cada adaptador relacionado a TCP/IP.\n \ + Normalmente se muestra sólo la dirección IP, la máscara de red y\n \ + la puerta de enlace predeterminada de cada adaptador enlazado a TCP/IP.\n \ \n \ - Para los parámetros Release y Renew, si no se especifica un adaptador, entonces la(s) dirección(es)\n \ - IP asignada(s) para todos los adaptadores relacionados a TCP/IP serán liberadas o renovadas.\n \ + Para los parámetros Release y Renew, si no se especifica un adaptador,\n \ + se liberan o renuevan las concesiones de dirección IP para todos\n \ + los adaptadores enlazados por TCP/IP.\n \ \n \ - Para Setclassid, si no se especifica algún ClassId, este será removido.\n \ + Para Setclassid, si no se especifica algún classid, se quita.\n \ \n \ Ejemplos:\n \ - > ipconfig ... Muestra informaciones.\n \ - > ipconfig /all ... Muestra informaciones detalladas\n \ - > ipconfig /renew ... Renueva todos los adaptadores\n \ + > ipconfig ... Muestra información.\n \ + > ipconfig /all ... Muestra información detallada.\n \ + > ipconfig /renew ... Renueva todos los adaptadores.\n \ > ipconfig /renew EL* ... Renueva todas las direcciones IP de los adaptadores\n \ - cuyo nombre comienza con EL\n \ - > ipconfig /release *Con* ... Libera todas las conexiones concernidas,\n \ - ej. ""Conexión al area local 1"" o\n \ - ""Conexión al area local 2""\n" + cuyo nombre comienza con EL.\n \ + > ipconfig /release *Con* ... Libera todas las conexiones coincidentes,\n \ + por ejemplo. ""Conexión de área local 1"" o\n \ + ""Conexión de área local 2"".\n" END diff --git a/base/applications/network/ipconfig/lang/ru-RU.rc b/base/applications/network/ipconfig/lang/ru-RU.rc index d92b31d55d5..f29ccde97d8 100644 --- a/base/applications/network/ipconfig/lang/ru-RU.rc +++ b/base/applications/network/ipconfig/lang/ru-RU.rc @@ -15,11 +15,11 @@ STRINGTABLE BEGIN IDS_OTHER "Другой тип адаптера" IDS_ETH "Ethernet адаптер" - IDS_TOKEN "Token Ring адаптер" - IDS_FDDI "FDDI адаптер" - IDS_PPP "PPP адаптер" - IDS_LOOP "Loopback адаптер" - IDS_SLIP "SLIP адаптер" + IDS_TOKEN "Адаптер Token Ring" + IDS_FDDI "Адаптер FDDI" + IDS_PPP "Адаптер PPP" + IDS_LOOP "Адаптер замыкания на себя" + IDS_SLIP "Адаптер SLIP" END STRINGTABLE @@ -37,7 +37,7 @@ BEGIN (* - любое количество знаков, ? - один любой знак, см. примеры)\n \ \n \ Ключи:\n \ - /? Обобразить это справочное сообщение.\n \ + /? Отобразить это справочное сообщение.\n \ /all Отобразить полную информацию о настройке параметров.\n \ /release Освободить IP-адрес для указанного адаптера.\n \ /renew Обновить IP-адрес для указанного адаптера.\n \ diff --git a/base/applications/network/net/CMakeLists.txt b/base/applications/network/net/CMakeLists.txt index a740d3a06de..5ae08e7a185 100644 --- a/base/applications/network/net/CMakeLists.txt +++ b/base/applications/network/net/CMakeLists.txt @@ -4,11 +4,13 @@ add_definitions(-D__USE_W32_SOCKETS) list(APPEND SOURCE main.c cmdAccounts.c + cmdContinue.c + cmdHelpMsg.c + cmdLocalGroup.c + cmdPause.c cmdStart.c cmdStop.c - cmdHelpMsg.c - cmdPause.c - cmdContinue.c + cmdUser.c help.c net.h) diff --git a/base/applications/network/net/cmdAccounts.c b/base/applications/network/net/cmdAccounts.c index 456ac4c791e..0785abb20ba 100644 --- a/base/applications/network/net/cmdAccounts.c +++ b/base/applications/network/net/cmdAccounts.c @@ -24,7 +24,10 @@ cmdAccounts( ULONG value; INT i; BOOL Modified = FALSE; -// BOOL Domain = FALSE; +#if 0 + BOOL Domain = FALSE; +#endif + INT nPaddedLength = 58; NET_API_STATUS Status; INT result = 0; @@ -44,12 +47,13 @@ cmdAccounts( return 0; } -/* if (_wcsicmp(argv[i], L"/domain") == 0) { + PrintResourceString(IDS_ERROR_OPTION_NOT_SUPPORTED, L"/DOMAIN"); +#if 0 Domain = TRUE; +#endif } -*/ } Status = NetUserModalsGet(NULL, 0, (LPBYTE*)&Info0); @@ -71,7 +75,7 @@ cmdAccounts( value = wcstoul(p, &endptr, 10); if (*endptr != 0) { - printf("You entered an invalid value for the /FORCELOGOFF option.\n"); + PrintResourceString(IDS_ERROR_INVALID_OPTION_VALUE, L"/FORCELOGOFF"); result = 1; goto done; } @@ -86,7 +90,7 @@ cmdAccounts( value = wcstoul(p, &endptr, 10); if (*endptr != 0) { - printf("You entered an invalid value for the /MINPWLEN option.\n"); + PrintResourceString(IDS_ERROR_INVALID_OPTION_VALUE, L"/MINPWLEN"); result = 1; goto done; } @@ -108,7 +112,7 @@ cmdAccounts( value = wcstoul(p, &endptr, 10); if (*endptr != 0) { - printf("You entered an invalid value for the /MAXPWAGE option.\n"); + PrintResourceString(IDS_ERROR_INVALID_OPTION_VALUE, L"/MAXPWLEN"); result = 1; goto done; } @@ -123,7 +127,7 @@ cmdAccounts( value = wcstoul(p, &endptr, 10); if (*endptr != 0) { - printf("You entered an invalid value for the /MINPWAGE option.\n"); + PrintResourceString(IDS_ERROR_INVALID_OPTION_VALUE, L"/MINPWAGE"); result = 1; goto done; } @@ -137,7 +141,7 @@ cmdAccounts( value = wcstoul(p, &endptr, 10); if (*endptr != 0) { - printf("You entered an invalid value for the /UNIQUEPW option.\n"); + PrintResourceString(IDS_ERROR_INVALID_OPTION_VALUE, L"/UNIQUEPW"); result = 1; goto done; } @@ -165,52 +169,63 @@ cmdAccounts( RtlGetNtProductType(&ProductType); - printf("Force logoff after: "); + PrintPaddedResourceString(IDS_ACCOUNTS_FORCE_LOGOFF, nPaddedLength); if (Info0->usrmod0_force_logoff == TIMEQ_FOREVER) - printf("Never\n"); + PrintResourceString(IDS_GENERIC_NEVER); else - printf("%lu seconds\n", Info0->usrmod0_force_logoff); + PrintResourceString(IDS_ACCOUNTS_LOGOFF_SECONDS, Info0->usrmod0_force_logoff); + PrintToConsole(L"\n"); - printf("Minimum password age (in days): %lu\n", Info0->usrmod0_min_passwd_age / 86400); - printf("Maximum password age (in days): %lu\n", Info0->usrmod0_max_passwd_age / 86400); - printf("Minimum password length: %lu\n", Info0->usrmod0_min_passwd_len); + PrintPaddedResourceString(IDS_ACCOUNTS_MIN_PW_AGE, nPaddedLength); + PrintToConsole(L"%lu\n", Info0->usrmod0_min_passwd_age / 86400); - printf("Password history length: "); + PrintPaddedResourceString(IDS_ACCOUNTS_MAX_PW_AGE, nPaddedLength); + PrintToConsole(L"%lu\n", Info0->usrmod0_max_passwd_age / 86400); + + PrintPaddedResourceString(IDS_ACCOUNTS_MIN_PW_LENGTH, nPaddedLength); + PrintToConsole(L"%lu\n", Info0->usrmod0_min_passwd_len); + + PrintPaddedResourceString(IDS_ACCOUNTS_PW_HIST_LENGTH, nPaddedLength); if (Info0->usrmod0_password_hist_len == 0) - printf("None\n"); + PrintResourceString(IDS_GENERIC_NONE); else - printf("%lu\n", Info0->usrmod0_password_hist_len); + PrintToConsole(L"%lu", Info0->usrmod0_password_hist_len); + PrintToConsole(L"\n"); - printf("Lockout threshold: "); + PrintPaddedResourceString(IDS_ACCOUNTS_LOCKOUT_THRESHOLD, nPaddedLength); if (Info3->usrmod3_lockout_threshold == 0) - printf("Never\n"); + PrintResourceString(IDS_GENERIC_NEVER); else - printf("%lu\n", Info3->usrmod3_lockout_threshold); + PrintToConsole(L"%lu", Info3->usrmod3_lockout_threshold); + PrintToConsole(L"\n"); - printf("Lockout duration (in minutes): %lu\n", Info3->usrmod3_lockout_duration / 60); - printf("Lockout observation window (in minutes): %lu\n", Info3->usrmod3_lockout_observation_window / 60); + PrintPaddedResourceString(IDS_ACCOUNTS_LOCKOUT_DURATION, nPaddedLength); + PrintToConsole(L"%lu\n", Info3->usrmod3_lockout_duration / 60); - printf("Computer role: "); + PrintPaddedResourceString(IDS_ACCOUNTS_LOCKOUT_WINDOW, nPaddedLength); + PrintToConsole(L"%lu\n", Info3->usrmod3_lockout_observation_window / 60); + PrintPaddedResourceString(IDS_ACCOUNTS_COMPUTER_ROLE, nPaddedLength); if (Info1->usrmod1_role == UAS_ROLE_PRIMARY) { if (ProductType == NtProductLanManNt) { - printf("Primary server\n"); + PrintResourceString(IDS_ACCOUNTS_PRIMARY_SERVER); } else if (ProductType == NtProductServer) { - printf("Standalone server\n"); + PrintResourceString(IDS_ACCOUNTS_STANDALONE_SERVER); } else { - printf("Workstation\n"); + PrintResourceString(IDS_ACCOUNTS_WORKSTATION); } } else { - printf("Backup server\n"); + PrintResourceString(IDS_ACCOUNTS_BACKUP_SERVER); } + PrintToConsole(L"\n"); } done: diff --git a/base/applications/network/net/cmdHelpMsg.c b/base/applications/network/net/cmdHelpMsg.c index 8247836b354..d78d4e86e39 100644 --- a/base/applications/network/net/cmdHelpMsg.c +++ b/base/applications/network/net/cmdHelpMsg.c @@ -49,12 +49,12 @@ INT cmdHelpMsg(INT argc, WCHAR **argv) 0, NULL)) { - printf("\n%S\n", lpBuffer); + PrintToConsole(L"\n%s\n", lpBuffer); LocalFree(lpBuffer); } else { - printf("Unrecognized error code: %ld\n", errNum); + PrintToConsole(L"Unrecognized error code: %ld\n", errNum); } return 0; diff --git a/base/applications/network/net/cmdLocalGroup.c b/base/applications/network/net/cmdLocalGroup.c new file mode 100644 index 00000000000..77de18b9f09 --- /dev/null +++ b/base/applications/network/net/cmdLocalGroup.c @@ -0,0 +1,384 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS net command + * FILE: + * PURPOSE: + * + * PROGRAMMERS: Eric Kohl + */ + +#include "net.h" + + +static +int +CompareInfo(const void *a, + const void *b) +{ + return _wcsicmp(((PLOCALGROUP_INFO_0)a)->lgrpi0_name, + ((PLOCALGROUP_INFO_0)b)->lgrpi0_name); +} + + +static +NET_API_STATUS +EnumerateLocalGroups(VOID) +{ + PLOCALGROUP_INFO_0 pBuffer = NULL; + PSERVER_INFO_100 pServer = NULL; + DWORD dwRead = 0, dwTotal = 0; + DWORD i; + DWORD_PTR ResumeHandle = 0; + NET_API_STATUS Status; + + + Status = NetServerGetInfo(NULL, + 100, + (LPBYTE*)&pServer); + if (Status != NERR_Success) + return Status; + + PrintToConsole(L"\n"); + PrintResourceString(IDS_LOCALGROUP_ALIASES, pServer->sv100_name); + PrintToConsole(L"\n\n"); + PrintPadding(L'-', 79); + PrintToConsole(L"\n"); + + NetApiBufferFree(pServer); + + Status = NetLocalGroupEnum(NULL, + 0, + (LPBYTE*)&pBuffer, + MAX_PREFERRED_LENGTH, + &dwRead, + &dwTotal, + &ResumeHandle); + if (Status != NERR_Success) + return Status; + + qsort(pBuffer, + dwRead, + sizeof(PLOCALGROUP_INFO_0), + CompareInfo); + + for (i = 0; i < dwRead; i++) + { + if (pBuffer[i].lgrpi0_name) + PrintToConsole(L"*%s\n", pBuffer[i].lgrpi0_name); + } + + NetApiBufferFree(pBuffer); + + return NERR_Success; +} + + +static +NET_API_STATUS +DisplayLocalGroup(LPWSTR lpGroupName) +{ + PLOCALGROUP_INFO_1 pGroupInfo = NULL; + PLOCALGROUP_MEMBERS_INFO_3 pMembers = NULL; + PSERVER_INFO_100 pServer = NULL; + LPWSTR *pNames = NULL; + DWORD dwRead = 0; + DWORD dwTotal = 0; + DWORD_PTR ResumeHandle = 0; + DWORD i; + DWORD len; + INT nPaddedLength = 18; + NET_API_STATUS Status; + + Status = NetLocalGroupGetInfo(NULL, + lpGroupName, + 1, + (LPBYTE*)&pGroupInfo); + if (Status != NERR_Success) + return Status; + + Status = NetLocalGroupGetMembers(NULL, + lpGroupName, + 3, + (LPBYTE*)&pMembers, + MAX_PREFERRED_LENGTH, + &dwRead, + &dwTotal, + &ResumeHandle); + if (Status != NERR_Success) + goto done; + + Status = NetServerGetInfo(NULL, + 100, + (LPBYTE*)&pServer); + if (Status != NERR_Success) + goto done; + + pNames = RtlAllocateHeap(RtlGetProcessHeap(), + HEAP_ZERO_MEMORY, + dwRead * sizeof(LPWSTR)); + if (pNames == NULL) + { + Status = ERROR_OUTOFMEMORY; + goto done; + } + + len = wcslen(pServer->sv100_name); + for (i = 0; i < dwRead; i++) + { + if (!wcsncmp(pMembers[i].lgrmi3_domainandname, pServer->sv100_name, len)) + pNames[i] = &pMembers[i].lgrmi3_domainandname[len + 1]; + else + pNames[i] = pMembers[i].lgrmi3_domainandname; + } + + PrintPaddedResourceString(IDS_LOCALGROUP_ALIAS_NAME, nPaddedLength); + PrintToConsole(L"%s\n", pGroupInfo->lgrpi1_name); + + PrintPaddedResourceString(IDS_LOCALGROUP_COMMENT, nPaddedLength); + PrintToConsole(L"%s\n", pGroupInfo->lgrpi1_comment); + + PrintToConsole(L"\n"); + + PrintResourceString(IDS_LOCALGROUP_MEMBERS); + PrintToConsole(L"\n\n"); + + PrintPadding(L'-', 79); + PrintToConsole(L"\n"); + + for (i = 0; i < dwRead; i++) + { + if (pNames[i]) + PrintToConsole(L"%s\n", pNames[i]); + } + +done: + if (pNames != NULL) + RtlFreeHeap(RtlGetProcessHeap(), 0, pNames); + + if (pServer != NULL) + NetApiBufferFree(pServer); + + if (pMembers != NULL) + NetApiBufferFree(pMembers); + + if (pGroupInfo != NULL) + NetApiBufferFree(pGroupInfo); + + return Status; +} + + +INT +cmdLocalGroup( + INT argc, + WCHAR **argv) +{ + INT i, j; + INT result = 0; + ULONG dwMemberCount = 0; + BOOL bAdd = FALSE; + BOOL bDelete = FALSE; +#if 0 + BOOL bDomain = FALSE; +#endif + LPWSTR lpGroupName = NULL; + LPWSTR lpComment = NULL; + LPLOCALGROUP_MEMBERS_INFO_3 lpMembers = NULL; + LOCALGROUP_INFO_0 Info0; + LOCALGROUP_INFO_1 Info1; + LOCALGROUP_INFO_1002 Info1002; + NET_API_STATUS Status; + + if (argc == 2) + { + Status = EnumerateLocalGroups(); + printf("Status: %lu\n", Status); + return 0; + } + else if (argc == 3) + { + Status = DisplayLocalGroup(argv[2]); + printf("Status: %lu\n", Status); + return 0; + } + + i = 2; + if (argv[i][0] != L'/') + { + lpGroupName = argv[i]; + i++; + } + + for (j = i; j < argc; j++) + { + if (argv[j][0] == L'/') + break; + + dwMemberCount++; + } + + printf("Member count: %lu\n", dwMemberCount); + + if (dwMemberCount > 0) + { + lpMembers = RtlAllocateHeap(RtlGetProcessHeap(), + HEAP_ZERO_MEMORY, + dwMemberCount * sizeof(LPLOCALGROUP_MEMBERS_INFO_3)); + if (lpMembers == NULL) + return 0; + } + + j = 0; + for (; i < argc; i++) + { + if (argv[i][0] == L'/') + break; + + lpMembers[j].lgrmi3_domainandname = argv[i]; + j++; + } + + for (; i < argc; i++) + { + if (_wcsicmp(argv[i], L"/help") == 0) + { + PrintResourceString(IDS_LOCALGROUP_HELP); + return 0; + } + else if (_wcsicmp(argv[i], L"/add") == 0) + { + bAdd = TRUE; + } + else if (_wcsicmp(argv[i], L"/delete") == 0) + { + bDelete = TRUE; + } + else if (_wcsnicmp(argv[i], L"/comment:", 9) == 0) + { + lpComment = &argv[i][9]; + } + else if (_wcsicmp(argv[i], L"/domain") == 0) + { + PrintResourceString(IDS_ERROR_OPTION_NOT_SUPPORTED, L"/DOMAIN"); +#if 0 + bDomain = TRUE; +#endif + } + else + { + result = 1; + goto done; + } + } + + if (lpGroupName == NULL) + { + result = 1; + goto done; + } + + if (bAdd && bDelete) + { + result = 1; + goto done; + } + +#if 0 + printf("Group:\n %S\n", lpGroupName); + + if (lpMembers != NULL) + { + printf("\nMembers:\n"); + for (i = 0; i < dwMemberCount; i++) + printf(" %S\n", lpMembers[i].lgrmi3_domainandname); + } + + if (lpComment != NULL) + { + printf("\nComment:\n %S\n", lpComment); + } +#endif + + if (lpMembers == NULL) + { + if (!bAdd && !bDelete && lpComment != NULL) + { + /* Set group comment */ + Info1002.lgrpi1002_comment = lpComment; + Status = NetLocalGroupSetInfo(NULL, + lpGroupName, + 1002, + (LPBYTE)&Info1002, + NULL); + printf("Status: %lu\n", Status); + } + else if (bAdd && !bDelete) + { + /* Add the group */ + if (lpComment == NULL) + { + Info0.lgrpi0_name = lpGroupName; + } + else + { + Info1.lgrpi1_name = lpGroupName; + Info1.lgrpi1_comment = lpComment; + } + + Status = NetLocalGroupAdd(NULL, + (lpComment == NULL) ? 0 : 1, + (lpComment == NULL) ? (LPBYTE)&Info0 : (LPBYTE)&Info1, + NULL); + printf("Status: %lu\n", Status); + } + else if (!bAdd && bDelete && lpComment == NULL) + { + /* Delete the group */ + Status = NetLocalGroupDel(NULL, + lpGroupName); + printf("Status: %lu\n", Status); + } + else + { + result = 1; + } + } + else + { + if (bAdd && !bDelete && lpComment == NULL) + { + /* Add group members */ + Status = NetLocalGroupAddMembers(NULL, + lpGroupName, + 3, + (LPBYTE)lpMembers, + dwMemberCount); + printf("Status: %lu\n", Status); + } + else if (!bAdd && bDelete && lpComment == NULL) + { + /* Delete group members */ + Status = NetLocalGroupDelMembers(NULL, + lpGroupName, + 3, + (LPBYTE)lpMembers, + dwMemberCount); + printf("Status: %lu\n", Status); + } + else + { + result = 1; + } + } + +done: + if (lpMembers != NULL) + RtlFreeHeap(RtlGetProcessHeap(), 0, lpMembers); + + if (result != 0) + PrintResourceString(IDS_LOCALGROUP_SYNTAX); + + return result; +} + +/* EOF */ diff --git a/base/applications/network/net/cmdStart.c b/base/applications/network/net/cmdStart.c index 34070584f72..ad6021c2a13 100644 --- a/base/applications/network/net/cmdStart.c +++ b/base/applications/network/net/cmdStart.c @@ -57,11 +57,11 @@ EnumerateRunningServices(VOID) &dwServiceCount, &dwResumeHandle)) { - printf("The following services hav been started:\n\n"); + PrintToConsole(L"The following services hav been started:\n\n"); for (i = 0; i < dwServiceCount; i++) { - printf(" %S\n", lpServiceBuffer[i].lpDisplayName); + PrintToConsole(L" %s\n", lpServiceBuffer[i].lpDisplayName); } } diff --git a/base/applications/network/net/cmdUser.c b/base/applications/network/net/cmdUser.c new file mode 100644 index 00000000000..bc735717380 --- /dev/null +++ b/base/applications/network/net/cmdUser.c @@ -0,0 +1,628 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS net command + * FILE: + * PURPOSE: + * + * PROGRAMMERS: Eric Kohl + */ + +#include "net.h" + + +static +int +CompareInfo(const void *a, + const void *b) +{ + return _wcsicmp(((PUSER_INFO_0)a)->usri0_name, + ((PUSER_INFO_0)b)->usri0_name); +} + + +static +NET_API_STATUS +EnumerateUsers(VOID) +{ + PUSER_INFO_0 pBuffer = NULL; + PSERVER_INFO_100 pServer = NULL; + DWORD dwRead = 0, dwTotal = 0; + DWORD i; + DWORD_PTR ResumeHandle = 0; + NET_API_STATUS Status; + + Status = NetServerGetInfo(NULL, + 100, + (LPBYTE*)&pServer); + if (Status != NERR_Success) + return Status; + + PrintToConsole(L"\n"); + PrintResourceString(IDS_USER_ACCOUNTS, pServer->sv100_name); + PrintToConsole(L"\n\n"); + PrintPadding(L'-', 79); + PrintToConsole(L"\n"); + + NetApiBufferFree(pServer); + + Status = NetUserEnum(NULL, + 0, + 0, + (LPBYTE*)&pBuffer, + MAX_PREFERRED_LENGTH, + &dwRead, + &dwTotal, + &ResumeHandle); + if (Status != NERR_Success) + return Status; + + qsort(pBuffer, + dwRead, + sizeof(PUSER_INFO_0), + CompareInfo); + +// printf("dwRead: %lu dwTotal: %lu\n", dwRead, dwTotal); + for (i = 0; i < dwRead; i++) + { +// printf("%p\n", pBuffer[i].lgrpi0_name); + if (pBuffer[i].usri0_name) + PrintToConsole(L"%s\n", pBuffer[i].usri0_name); + } + + NetApiBufferFree(pBuffer); + + return NERR_Success; +} + + +static +VOID +PrintDateTime(DWORD dwSeconds) +{ + LARGE_INTEGER Time; + FILETIME FileTime; + SYSTEMTIME SystemTime; + WCHAR DateBuffer[80]; + WCHAR TimeBuffer[80]; + + RtlSecondsSince1970ToTime(dwSeconds, &Time); + FileTime.dwLowDateTime = Time.u.LowPart; + FileTime.dwHighDateTime = Time.u.HighPart; + FileTimeToLocalFileTime(&FileTime, &FileTime); + FileTimeToSystemTime(&FileTime, &SystemTime); + + GetDateFormatW(LOCALE_USER_DEFAULT, + DATE_SHORTDATE, + &SystemTime, + NULL, + DateBuffer, + 80); + + GetTimeFormatW(LOCALE_USER_DEFAULT, + TIME_NOSECONDS, + &SystemTime, + NULL, + TimeBuffer, + 80); + + PrintToConsole(L"%s %s", DateBuffer, TimeBuffer); +} + + +static +DWORD +GetTimeInSeconds(VOID) +{ + LARGE_INTEGER Time; + FILETIME FileTime; + DWORD dwSeconds; + + GetSystemTimeAsFileTime(&FileTime); + Time.u.LowPart = FileTime.dwLowDateTime; + Time.u.HighPart = FileTime.dwHighDateTime; + RtlTimeToSecondsSince1970(&Time, &dwSeconds); + + return dwSeconds; +} + + +static +NET_API_STATUS +DisplayUser(LPWSTR lpUserName) +{ + PUSER_MODALS_INFO_0 pUserModals = NULL; + PUSER_INFO_4 pUserInfo = NULL; + PLOCALGROUP_USERS_INFO_0 pLocalGroupInfo = NULL; + PGROUP_USERS_INFO_0 pGroupInfo = NULL; + DWORD dwLocalGroupRead, dwLocalGroupTotal; + DWORD dwGroupRead, dwGroupTotal; + DWORD dwLastSet; + DWORD i; + INT nPaddedLength = 29; + NET_API_STATUS Status; + + /* Modify the user */ + Status = NetUserGetInfo(NULL, + lpUserName, + 4, + (LPBYTE*)&pUserInfo); + if (Status != NERR_Success) + return Status; + + Status = NetUserModalsGet(NULL, + 0, + (LPBYTE*)&pUserModals); + if (Status != NERR_Success) + goto done; + + Status = NetUserGetLocalGroups(NULL, + lpUserName, + 0, + 0, + (LPBYTE*)&pLocalGroupInfo, + MAX_PREFERRED_LENGTH, + &dwLocalGroupRead, + &dwLocalGroupTotal); + if (Status != NERR_Success) + goto done; + + Status = NetUserGetGroups(NULL, + lpUserName, + 0, + (LPBYTE*)&pGroupInfo, + MAX_PREFERRED_LENGTH, + &dwGroupRead, + &dwGroupTotal); + if (Status != NERR_Success) + goto done; + + PrintPaddedResourceString(IDS_USER_NAME, nPaddedLength); + PrintToConsole(L"%s\n", pUserInfo->usri4_name); + + PrintPaddedResourceString(IDS_USER_FULL_NAME, nPaddedLength); + PrintToConsole(L"%s\n", pUserInfo->usri4_full_name); + + PrintPaddedResourceString(IDS_USER_COMMENT, nPaddedLength); + PrintToConsole(L"%s\n", pUserInfo->usri4_comment); + + PrintPaddedResourceString(IDS_USER_USER_COMMENT, nPaddedLength); + PrintToConsole(L"%s\n", pUserInfo->usri4_usr_comment); + + PrintPaddedResourceString(IDS_USER_COUNTRY_CODE, nPaddedLength); + PrintToConsole(L"%03ld ()\n", pUserInfo->usri4_country_code); + + PrintPaddedResourceString(IDS_USER_ACCOUNT_ACTIVE, nPaddedLength); + if (pUserInfo->usri4_flags & UF_ACCOUNTDISABLE) + PrintResourceString(IDS_GENERIC_NO); + else if (pUserInfo->usri4_flags & UF_LOCKOUT) + PrintResourceString(IDS_GENERIC_LOCKED); + else + PrintResourceString(IDS_GENERIC_YES); + PrintToConsole(L"\n"); + + PrintPaddedResourceString(IDS_USER_ACCOUNT_EXPIRES, nPaddedLength); + if (pUserInfo->usri4_acct_expires == TIMEQ_FOREVER) + PrintResourceString(IDS_GENERIC_NEVER); + else + PrintDateTime(pUserInfo->usri4_acct_expires); + PrintToConsole(L"\n\n"); + + PrintPaddedResourceString(IDS_USER_PW_LAST_SET, nPaddedLength); + dwLastSet = GetTimeInSeconds() - pUserInfo->usri4_password_age; + PrintDateTime(dwLastSet); + + PrintPaddedResourceString(IDS_USER_PW_EXPIRES, nPaddedLength); + if ((pUserInfo->usri4_flags & UF_DONT_EXPIRE_PASSWD) || pUserModals->usrmod0_max_passwd_age == TIMEQ_FOREVER) + PrintResourceString(IDS_GENERIC_NEVER); + else + PrintDateTime(dwLastSet + pUserModals->usrmod0_max_passwd_age); + PrintToConsole(L"\n"); + + PrintPaddedResourceString(IDS_USER_PW_CHANGEABLE, nPaddedLength); + PrintDateTime(dwLastSet + pUserModals->usrmod0_min_passwd_age); + + PrintPaddedResourceString(IDS_USER_PW_REQUIRED, nPaddedLength); + PrintResourceString((pUserInfo->usri4_flags & UF_PASSWD_NOTREQD) ? IDS_GENERIC_NO : IDS_GENERIC_YES); + PrintToConsole(L"\n"); + + PrintPaddedResourceString(IDS_USER_CHANGE_PW, nPaddedLength); + PrintResourceString((pUserInfo->usri4_flags & UF_PASSWD_CANT_CHANGE) ? IDS_GENERIC_NO : IDS_GENERIC_YES); + PrintToConsole(L"\n\n"); + + PrintPaddedResourceString(IDS_USER_WORKSTATIONS, nPaddedLength); + if (pUserInfo->usri4_workstations == NULL || wcslen(pUserInfo->usri4_workstations) == 0) + PrintResourceString(IDS_GENERIC_ALL); + else + PrintToConsole(L"%s", pUserInfo->usri4_workstations); + PrintToConsole(L"\n"); + + PrintPaddedResourceString(IDS_USER_LOGON_SCRIPT, nPaddedLength); + PrintToConsole(L"%s\n", pUserInfo->usri4_script_path); + + PrintPaddedResourceString(IDS_USER_PROFILE, nPaddedLength); + PrintToConsole(L"%s\n", pUserInfo->usri4_profile); + + PrintPaddedResourceString(IDS_USER_HOME_DIR, nPaddedLength); + PrintToConsole(L"%s\n", pUserInfo->usri4_home_dir); + + PrintPaddedResourceString(IDS_USER_LAST_LOGON, nPaddedLength); + if (pUserInfo->usri4_last_logon == 0) + PrintResourceString(IDS_GENERIC_NEVER); + else + PrintDateTime(pUserInfo->usri4_last_logon); + PrintToConsole(L"\n\n"); + + PrintPaddedResourceString(IDS_USER_LOGON_HOURS, nPaddedLength); + if (pUserInfo->usri4_logon_hours == NULL) + PrintResourceString(IDS_GENERIC_ALL); + PrintToConsole(L"\n\n"); + + PrintToConsole(L"\n"); + PrintPaddedResourceString(IDS_USER_LOCAL_GROUPS, nPaddedLength); + if (dwLocalGroupTotal != 0 && pLocalGroupInfo != NULL) + { + for (i = 0; i < dwLocalGroupTotal; i++) + { + if (i != 0) + PrintPadding(L' ', nPaddedLength); + PrintToConsole(L"*%s\n", pLocalGroupInfo[i].lgrui0_name); + } + } + else + { + PrintToConsole(L"\n"); + } + + PrintPaddedResourceString(IDS_USER_GLOBAL_GROUPS, nPaddedLength); + if (dwGroupTotal != 0 && pGroupInfo != NULL) + { + for (i = 0; i < dwGroupTotal; i++) + { + if (i != 0) + PrintPadding(L' ', nPaddedLength); + PrintToConsole(L"*%s\n", pGroupInfo[i].grui0_name); + } + } + else + { + PrintToConsole(L"\n"); + } + +done: + if (pGroupInfo != NULL) + NetApiBufferFree(pGroupInfo); + + if (pLocalGroupInfo != NULL) + NetApiBufferFree(pLocalGroupInfo); + + if (pUserModals != NULL) + NetApiBufferFree(pUserModals); + + if (pUserInfo != NULL) + NetApiBufferFree(pUserInfo); + + return NERR_Success; +} + + +static +VOID +ReadPassword( + LPWSTR *lpPassword, + LPBOOL lpAllocated) +{ + WCHAR szPassword1[PWLEN + 1]; + WCHAR szPassword2[PWLEN + 1]; + LPWSTR ptr; + + *lpAllocated = FALSE; + + while (TRUE) + { + PrintResourceString(IDS_USER_ENTER_PASSWORD1); + ReadFromConsole(szPassword1, PWLEN + 1, FALSE); + PrintToConsole(L"\n"); + + PrintResourceString(IDS_USER_ENTER_PASSWORD2); + ReadFromConsole(szPassword2, PWLEN + 1, FALSE); + PrintToConsole(L"\n"); + + if (wcslen(szPassword1) == wcslen(szPassword2) && + wcscmp(szPassword1, szPassword2) == 0) + { + ptr = HeapAlloc(GetProcessHeap(), + 0, + (wcslen(szPassword1) + 1) * sizeof(WCHAR)); + if (ptr != NULL) + { + wcscpy(ptr, szPassword1); + *lpPassword = ptr; + *lpAllocated = TRUE; + return; + } + } + else + { + PrintToConsole(L"\n"); + PrintResourceString(IDS_USER_NO_PASSWORD_MATCH); + PrintToConsole(L"\n"); + *lpPassword = NULL; + } + } +} + + +INT +cmdUser( + INT argc, + WCHAR **argv) +{ + INT i, j; + INT result = 0; + BOOL bAdd = FALSE; + BOOL bDelete = FALSE; +#if 0 + BOOL bDomain = FALSE; +#endif + LPWSTR lpUserName = NULL; + LPWSTR lpPassword = NULL; + PUSER_INFO_4 pUserInfo = NULL; + USER_INFO_4 UserInfo; + LPWSTR p; + LPWSTR endptr; + DWORD value; + BOOL bPasswordAllocated = FALSE; + NET_API_STATUS Status; + + if (argc == 2) + { + Status = EnumerateUsers(); + printf("Status: %lu\n", Status); + return 0; + } + else if (argc == 3) + { + Status = DisplayUser(argv[2]); + printf("Status: %lu\n", Status); + return 0; + } + + i = 2; + if (argv[i][0] != L'/') + { + lpUserName = argv[i]; +// printf("User: %S\n", lpUserName); + i++; + } + + if (argv[i][0] != L'/') + { + lpPassword = argv[i]; +// printf("Password: %S\n", lpPassword); + i++; + } + + for (j = i; j < argc; j++) + { + if (_wcsicmp(argv[j], L"/help") == 0) + { + PrintResourceString(IDS_USER_HELP); + return 0; + } + else if (_wcsicmp(argv[j], L"/add") == 0) + { + bAdd = TRUE; + } + else if (_wcsicmp(argv[j], L"/delete") == 0) + { + bDelete = TRUE; + } + else if (_wcsicmp(argv[j], L"/domain") == 0) + { + PrintResourceString(IDS_ERROR_OPTION_NOT_SUPPORTED, L"/DOMAIN"); +#if 0 + bDomain = TRUE; +#endif + } + } + + if (bAdd && bDelete) + { + result = 1; + goto done; + } + + /* Interactive password input */ + if (lpPassword != NULL && wcscmp(lpPassword, L"*") == 0) + { + ReadPassword(&lpPassword, + &bPasswordAllocated); + } + + if (!bAdd && !bDelete) + { + /* Modify the user */ + Status = NetUserGetInfo(NULL, + lpUserName, + 4, + (LPBYTE*)&pUserInfo); + if (Status != NERR_Success) + { + printf("Status: %lu\n", Status); + result = 1; + goto done; + } + } + else if (bAdd && !bDelete) + { + /* Add the user */ + ZeroMemory(&UserInfo, sizeof(USER_INFO_4)); + + UserInfo.usri4_name = lpUserName; + UserInfo.usri4_password = lpPassword; + UserInfo.usri4_flags = UF_SCRIPT | UF_NORMAL_ACCOUNT; + + pUserInfo = &UserInfo; + } + + for (j = i; j < argc; j++) + { + if (_wcsnicmp(argv[j], L"/active:", 8) == 0) + { + p = &argv[i][8]; + if (_wcsicmp(p, L"yes") == 0) + { + pUserInfo->usri4_flags &= ~UF_ACCOUNTDISABLE; + } + else if (_wcsicmp(p, L"no") == 0) + { + pUserInfo->usri4_flags |= UF_ACCOUNTDISABLE; + } + else + { + PrintResourceString(IDS_ERROR_INVALID_OPTION_VALUE, L"/ACTIVE"); + result = 1; + goto done; + } + } + else if (_wcsnicmp(argv[j], L"/comment:", 9) == 0) + { + pUserInfo->usri4_comment = &argv[j][9]; + } + else if (_wcsnicmp(argv[j], L"/countrycode:", 13) == 0) + { + p = &argv[i][13]; + value = wcstoul(p, &endptr, 10); + if (*endptr != 0) + { + PrintResourceString(IDS_ERROR_INVALID_OPTION_VALUE, L"/COUNTRYCODE"); + result = 1; + goto done; + } + + /* FIXME: verify the country code */ + + pUserInfo->usri4_country_code = value; + } + else if (_wcsnicmp(argv[j], L"/expires:", 9) == 0) + { + p = &argv[i][9]; + if (_wcsicmp(p, L"never") == 0) + { + pUserInfo->usri4_acct_expires = TIMEQ_FOREVER; + } + else + { + /* FIXME: Parse the date */ + PrintResourceString(IDS_ERROR_OPTION_NOT_SUPPORTED, L"/EXPIRES"); + } + } + else if (_wcsnicmp(argv[j], L"/fullname:", 10) == 0) + { + pUserInfo->usri4_full_name = &argv[j][10]; + } + else if (_wcsnicmp(argv[j], L"/homedir:", 9) == 0) + { + pUserInfo->usri4_home_dir = &argv[j][9]; + } + else if (_wcsnicmp(argv[j], L"/passwordchg:", 13) == 0) + { + p = &argv[i][13]; + if (_wcsicmp(p, L"yes") == 0) + { + pUserInfo->usri4_flags &= ~UF_PASSWD_CANT_CHANGE; + } + else if (_wcsicmp(p, L"no") == 0) + { + pUserInfo->usri4_flags |= UF_PASSWD_CANT_CHANGE; + } + else + { + PrintResourceString(IDS_ERROR_INVALID_OPTION_VALUE, L"/PASSWORDCHG"); + result = 1; + goto done; + } + } + else if (_wcsnicmp(argv[j], L"/passwordreq:", 13) == 0) + { + p = &argv[i][13]; + if (_wcsicmp(p, L"yes") == 0) + { + pUserInfo->usri4_flags &= ~UF_PASSWD_NOTREQD; + } + else if (_wcsicmp(p, L"no") == 0) + { + pUserInfo->usri4_flags |= UF_PASSWD_NOTREQD; + } + else + { + PrintResourceString(IDS_ERROR_INVALID_OPTION_VALUE, L"/PASSWORDREQ"); + result = 1; + goto done; + } + } + else if (_wcsnicmp(argv[j], L"/profilepath:", 13) == 0) + { + pUserInfo->usri4_profile = &argv[j][13]; + } + else if (_wcsnicmp(argv[j], L"/scriptpath:", 12) == 0) + { + pUserInfo->usri4_script_path = &argv[j][12]; + } + else if (_wcsnicmp(argv[j], L"/times:", 7) == 0) + { + /* FIXME */ + PrintResourceString(IDS_ERROR_OPTION_NOT_SUPPORTED, L"/TIMES"); + } + else if (_wcsnicmp(argv[j], L"/usercomment:", 13) == 0) + { + pUserInfo->usri4_usr_comment = &argv[j][13]; + } + else if (_wcsnicmp(argv[j], L"/workstations:", 14) == 0) + { + /* FIXME */ + PrintResourceString(IDS_ERROR_OPTION_NOT_SUPPORTED, L"/WORKSTATIONS"); + } + } + + if (!bAdd && !bDelete) + { + /* Modify the user */ + Status = NetUserSetInfo(NULL, + lpUserName, + 4, + (LPBYTE)pUserInfo, + NULL); + printf("Status: %lu\n", Status); + } + else if (bAdd && !bDelete) + { + /* Add the user */ + Status = NetUserAdd(NULL, + 4, + (LPBYTE)pUserInfo, + NULL); + printf("Status: %lu\n", Status); + } + else if (!bAdd && bDelete) + { + /* Delete the user */ + Status = NetUserDel(NULL, + lpUserName); + printf("Status: %lu\n", Status); + } + +done: + if (bPasswordAllocated == TRUE && lpPassword != NULL) + HeapFree(GetProcessHeap(), 0, lpPassword); + + if (!bAdd && !bDelete && pUserInfo != NULL) + NetApiBufferFree(pUserInfo); + + if (result != 0) + PrintResourceString(IDS_USER_SYNTAX); + + return result; +} + +/* EOF */ diff --git a/base/applications/network/net/lang/en-US.rc b/base/applications/network/net/lang/en-US.rc index 3571f66f186..938bd000da9 100644 --- a/base/applications/network/net/lang/en-US.rc +++ b/base/applications/network/net/lang/en-US.rc @@ -18,7 +18,9 @@ BEGIN IDS_GROUP_HELP "GROUP\n..." IDS_HELPMSG_SYNTAX "Usage:\nNET HELPMSG " IDS_HELPMSG_HELP "HELPMSG\n..." - IDS_LOCALGROUP_SYNTAX "Usage:\nNET LOCALGROUP ..." + IDS_LOCALGROUP_SYNTAX "Usage:\nNET LOCALGROUP [groupname [/COMMENT:""text""]] [/DOMAIN]\n\ + groupname {/ADD [/COMMENT:""text""] | /DELETE} [/DOMAIN]\n\ + groupname name [...] {/ADD | /DELETE} [/DOMAIN]" IDS_LOCALGROUP_HELP "LOCALGROUP\n..." IDS_NAME_SYNTAX "Usage:\nNET NAME ..." IDS_NAME_HELP "NAME\n..." @@ -32,7 +34,7 @@ BEGIN IDS_SESSION_HELP "SESSION\n..." IDS_SHARE_SYNTAX "Usage:\nNET SHARE ..." IDS_SHARE_HELP "SHARE\n..." - IDS_START_SYNTAX "Usage:\nNET START ..." + IDS_START_SYNTAX "Usage:\nNET START " IDS_START_HELP "START\n..." IDS_STATISTICS_SYNTAX "Usage:\nNET STATISTICS ..." IDS_STATISTICS_HELP "STATISTICS\n..." @@ -42,7 +44,9 @@ BEGIN IDS_TIME_HELP "TIME\n..." IDS_USE_SYNTAX "Usage:\nNET USE ..." IDS_USE_HELP "USE\n..." - IDS_USER_SYNTAX "Usage:\nNET USER ..." + IDS_USER_SYNTAX "Usage:\nNET USER [username [password | *] [options]] [/DOMAIN]\n\ + username {password | *} /ADD [options] [/DOMAIN]\n\ + username [/DELETE] [/DOMAIN]" IDS_USER_HELP "USER\n..." IDS_VIEW_SYNTAX "Usage:\nNET VIEW ..." IDS_VIEW_HELP "VIEW\n..." @@ -60,4 +64,60 @@ BEGIN IDS_NET_SYNTAX "Usage:\nNET [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |\n\ HELPMSG | LOCALGROUP | NAME | PAUSE | PRINT | SEND | SESSION |\n\ SHARE | START | STATISTICS | STOP | TIME | USE | NET USER | VIEW ]\n" + + IDS_ACCOUNTS_FORCE_LOGOFF "Force logoff after" + IDS_ACCOUNTS_LOGOFF_SECONDS "%lu seconds" + IDS_ACCOUNTS_MIN_PW_AGE "Minimum password age (in days)" + IDS_ACCOUNTS_MAX_PW_AGE "Maximum password age (in days)" + IDS_ACCOUNTS_MIN_PW_LENGTH "Minimum password length" + IDS_ACCOUNTS_PW_HIST_LENGTH "Password history length" + IDS_ACCOUNTS_LOCKOUT_THRESHOLD "Lockout threshold" + IDS_ACCOUNTS_LOCKOUT_DURATION "Lockout duration (in minutes)" + IDS_ACCOUNTS_LOCKOUT_WINDOW "Lockout observation window (in minutes)" + IDS_ACCOUNTS_COMPUTER_ROLE "Computer role" + IDS_ACCOUNTS_PRIMARY_SERVER "Primary server" + IDS_ACCOUNTS_BACKUP_SERVER "Backup server" + IDS_ACCOUNTS_STANDALONE_SERVER "Standalone server" + IDS_ACCOUNTS_WORKSTATION "Workstation" + + IDS_LOCALGROUP_ALIASES "Aliases for \\\\%s" + IDS_LOCALGROUP_ALIAS_NAME "Alias name" + IDS_LOCALGROUP_COMMENT "Comment" + IDS_LOCALGROUP_MEMBERS "Members" + + IDS_USER_ACCOUNTS "User accounts for \\\\%s" + IDS_USER_NAME "User name" + IDS_USER_FULL_NAME "Full name" + IDS_USER_COMMENT "Comment" + IDS_USER_USER_COMMENT "User comment" + IDS_USER_COUNTRY_CODE "Country code" + IDS_USER_ACCOUNT_ACTIVE "Account active" + IDS_USER_ACCOUNT_EXPIRES "Account expires" + IDS_USER_PW_LAST_SET "Password last set" + IDS_USER_PW_EXPIRES "Password expires" + IDS_USER_PW_CHANGEABLE "Password changeable" + IDS_USER_PW_REQUIRED "Password required" + IDS_USER_CHANGE_PW "User may change password" + IDS_USER_WORKSTATIONS "Workstations allowed" + IDS_USER_LOGON_SCRIPT "Logon script" + IDS_USER_PROFILE "User profile" + IDS_USER_HOME_DIR "Home directory" + IDS_USER_LAST_LOGON "Last logon" + IDS_USER_LOGON_HOURS "Logon hours allowed" + IDS_USER_LOCAL_GROUPS "Local group memberships" + IDS_USER_GLOBAL_GROUPS "Global group memberships" + + IDS_USER_ENTER_PASSWORD1 "Enter a new password for the user: " + IDS_USER_ENTER_PASSWORD2 "Enter the password again: " + IDS_USER_NO_PASSWORD_MATCH "The passwords do not match!" + + IDS_GENERIC_YES "Yes" + IDS_GENERIC_NO "No" + IDS_GENERIC_NEVER "Never" + IDS_GENERIC_NONE "None" + IDS_GENERIC_ALL "All" + IDS_GENERIC_LOCKED "Locked" + + IDS_ERROR_OPTION_NOT_SUPPORTED "The %s option is not supported yet.\n" + IDS_ERROR_INVALID_OPTION_VALUE "You entered an invalid value for the %s option.\n" END diff --git a/base/applications/network/net/lang/es-ES.rc b/base/applications/network/net/lang/es-ES.rc new file mode 100644 index 00000000000..fc3e12f2106 --- /dev/null +++ b/base/applications/network/net/lang/es-ES.rc @@ -0,0 +1,126 @@ +/* Spanish Language resource file. + * Translated by: Ismael Ferreras Morezuelas <2014-11-07> */ + +LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + IDS_ACCOUNTS_SYNTAX "Uso:\nNET ACCOUNTS [/FORCELOGOFF:{minutos | NO}] [/MINPWLEN:longitud]\n\ + [/MAXPWAGE:{días | UNLIMITED}] [/MINPWAGE:días]\n\ + [/UNIQUEPW:número] [/DOMAIN]\n" + IDS_ACCOUNTS_HELP "ACCOUNTS\n..." + IDS_COMPUTER_SYNTAX "Uso:\nNET COMPUTER ..." + IDS_COMPUTER_HELP "COMPUTER\n..." + IDS_CONFIG_SYNTAX "Uso:\nNET CONFIG ..." + IDS_CONFIG_HELP "CONFIG\n..." + IDS_CONTINUE_SYNTAX "Uso:\nNET CONTINUE " + IDS_CONTINUE_HELP "CONTINUE\n..." + IDS_FILE_SYNTAX "Uso:\nNET FILE ..." + IDS_FILE_HELP "FILE\n..." + IDS_GROUP_SYNTAX "Uso:\nNET GROUP ..." + IDS_GROUP_HELP "GROUP\n..." + IDS_HELPMSG_SYNTAX "Uso:\nNET HELPMSG " + IDS_HELPMSG_HELP "HELPMSG\n..." + IDS_LOCALGROUP_SYNTAX "Uso:\nNET LOCALGROUP [grupo [/COMMENT:""texto""]] [/DOMAIN]\n\ + grupo {/ADD [/COMMENT:""texto""] | /DELETE} [/DOMAIN]\n\ + grupo nombre [...] {/ADD | /DELETE} [/DOMAIN]" + IDS_LOCALGROUP_HELP "LOCALGROUP\n..." + IDS_NAME_SYNTAX "Uso:\nNET NAME ..." + IDS_NAME_HELP "NAME\n..." + IDS_PRINT_SYNTAX "Uso:\nNET PRINT ..." + IDS_PRINT_HELP "PRINT\n..." + IDS_PAUSE_SYNTAX "Uso:\nNET PAUSE " + IDS_PAUSE_HELP "PAUSE\n..." + IDS_SEND_SYNTAX "Uso:\nNET SEND ..." + IDS_SEND_HELP "SEND\n..." + IDS_SESSION_SYNTAX "Uso:\nNET SESSION ..." + IDS_SESSION_HELP "SESSION\n..." + IDS_SHARE_SYNTAX "Uso:\nNET SHARE ..." + IDS_SHARE_HELP "SHARE\n..." + IDS_START_SYNTAX "Uso:\nNET START ..." + IDS_START_HELP "START\n..." + IDS_STATISTICS_SYNTAX "Uso:\nNET STATISTICS ..." + IDS_STATISTICS_HELP "STATISTICS\n..." + IDS_STOP_SYNTAX "Uso:\nNET STOP " + IDS_STOP_HELP "STOP\n..." + IDS_TIME_SYNTAX "Uso:\nNET TIME ..." + IDS_TIME_HELP "TIME\n..." + IDS_USE_SYNTAX "Uso:\nNET USE ..." + IDS_USE_HELP "USE\n..." + IDS_USER_SYNTAX "Uso:\nNET USER [usuario [contraseña | *] [opciones]] [/DOMAIN]\n\ + usuario {contraseña | *} /ADD [opciones] [/DOMAIN]\n\ + usuario [/DELETE] [/DOMAIN]" + IDS_USER_HELP "USER\n..." + IDS_VIEW_SYNTAX "Uso:\nNET VIEW ..." + IDS_VIEW_HELP "VIEW\n..." + IDS_HELP_SYNTAX "Uso:\nNET HELP \n - o -\nNET /HELP\n\n\ + Éstos son los argumentos de línea de comandos disponibles:\n\n\ + NET ACCOUNTS NET HELP NET SHARE\n\ + NET COMPUTER NET HELPMSG NET START\n\ + NET CONFIG NET LOCALGROUP NET STATISTICS\n\ + NET CONFIG SERVER NET NAME NET STOP\n\ + NET CONFIG WORKSTATION NET PAUSE NET TIME\n\ + NET CONTINUE NET PRINT NET USE\n\ + NET FILE NET SEND NET USER\n\ + NET GROUP NET SESSION NET VIEW\n\n\ + ..." + IDS_NET_SYNTAX "Uso:\nNET [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |\n\ + HELPMSG | LOCALGROUP | NAME | PAUSE | PRINT | SEND | SESSION |\n\ + SHARE | START | STATISTICS | STOP | TIME | USE | NET USER | VIEW ]\n" + + IDS_ACCOUNTS_FORCE_LOGOFF "Forzar cierre de sesión tras" + IDS_ACCOUNTS_LOGOFF_SECONDS "%lu segundos" + IDS_ACCOUNTS_MIN_PW_AGE "Validez mínima de contraseña (en días)" + IDS_ACCOUNTS_MAX_PW_AGE "Validez máxima de contraseña (en días)" + IDS_ACCOUNTS_MIN_PW_LENGTH "Tamaño mínimo de contraseña" + IDS_ACCOUNTS_PW_HIST_LENGTH "Duración del historial de contraseñas" + IDS_ACCOUNTS_LOCKOUT_THRESHOLD "Umbral de bloqueo" + IDS_ACCOUNTS_LOCKOUT_DURATION "Duración del bloqueo (en minutos)" + IDS_ACCOUNTS_LOCKOUT_WINDOW "Ventana de cumpl. de bloqueo (en minutos)" + IDS_ACCOUNTS_COMPUTER_ROLE "Rol del equipo" + IDS_ACCOUNTS_PRIMARY_SERVER "Servidor primario" + IDS_ACCOUNTS_BACKUP_SERVER "Servidor de respaldo" + IDS_ACCOUNTS_STANDALONE_SERVER "Servidor independiente" + IDS_ACCOUNTS_WORKSTATION "Estación de trabajo" + + IDS_LOCALGROUP_ALIASES "Alias de \\\\%s" + IDS_LOCALGROUP_ALIAS_NAME "Nombre del alias" + IDS_LOCALGROUP_COMMENT "Comentario" + IDS_LOCALGROUP_MEMBERS "Miembros" + + IDS_USER_ACCOUNTS "Cuentas de usuario en \\\\%s" + IDS_USER_NAME "Nombre de usuario" + IDS_USER_FULL_NAME "Nombre completo" + IDS_USER_COMMENT "Comentario" + IDS_USER_USER_COMMENT "Comentario de usuario" + IDS_USER_COUNTRY_CODE "Código de país" + IDS_USER_ACCOUNT_ACTIVE "Cuenta activa" + IDS_USER_ACCOUNT_EXPIRES "Fecha de expiración" + IDS_USER_PW_LAST_SET "La contraseña se cambió por última vez" + IDS_USER_PW_EXPIRES "La contraseña expira" + IDS_USER_PW_CHANGEABLE "La contraseña se puede cambiar" + IDS_USER_PW_REQUIRED "Se necesita contraseña" + IDS_USER_CHANGE_PW "El usuario puede cambiar la contraseña" + IDS_USER_WORKSTATIONS "Se permiten estaciones de trabajo" + IDS_USER_LOGON_SCRIPT "Script de inicio" + IDS_USER_PROFILE "Perfil de usuario" + IDS_USER_HOME_DIR "Carpeta raíz" + IDS_USER_LAST_LOGON "Último inicio de sesión" + IDS_USER_LOGON_HOURS "Horas de inicio permitidas" + IDS_USER_LOCAL_GROUPS "Miembro de los grupos locales" + IDS_USER_GLOBAL_GROUPS "Miembro de los grupos globales" + + IDS_USER_ENTER_PASSWORD1 "Escriba una contraseña: " + IDS_USER_ENTER_PASSWORD2 "Vuelva a escribir la contraseña: " + IDS_USER_NO_PASSWORD_MATCH "Las contraseñas no coinciden." + + IDS_GENERIC_YES "Sí" + IDS_GENERIC_NO "No" + IDS_GENERIC_NEVER "Nunca" + IDS_GENERIC_NONE "Ninguno" + IDS_GENERIC_ALL "Todos" + IDS_GENERIC_LOCKED "Bloqueado" + + IDS_ERROR_OPTION_NOT_SUPPORTED "La opción %s todavía no está disponible.\n" + IDS_ERROR_INVALID_OPTION_VALUE "El valor para la opción %s no es válido.\n" +END diff --git a/base/applications/network/net/lang/ro-RO.rc b/base/applications/network/net/lang/ro-RO.rc index 56241fa2a5f..534baba968c 100644 --- a/base/applications/network/net/lang/ro-RO.rc +++ b/base/applications/network/net/lang/ro-RO.rc @@ -24,7 +24,9 @@ BEGIN IDS_GROUP_HELP "GROUP\n..." IDS_HELPMSG_SYNTAX "Utilizare:\nNET HELPMSG " IDS_HELPMSG_HELP "HELPMSG\n..." - IDS_LOCALGROUP_SYNTAX "Utilizare:\nNET LOCALGROUP ..." + IDS_LOCALGROUP_SYNTAX "Utilizare:\nNET LOCALGROUP [groupname [/COMMENT:""text""]] [/DOMAIN]\n\ + groupname {/ADD [/COMMENT:""text""] | /DELETE} [/DOMAIN]\n\ + groupname name [...] {/ADD | /DELETE} [/DOMAIN]" IDS_LOCALGROUP_HELP "LOCALGROUP\n..." IDS_NAME_SYNTAX "Utilizare:\nNET NAME ..." IDS_NAME_HELP "NAME\n..." @@ -48,7 +50,9 @@ BEGIN IDS_TIME_HELP "TIME\n..." IDS_USE_SYNTAX "Utilizare:\nNET USE ..." IDS_USE_HELP "USE\n..." - IDS_USER_SYNTAX "Utilizare:\nNET USER ..." + IDS_USER_SYNTAX "Utilizare:\nNET USER [username [password | *] [options]] [/DOMAIN]\n\ + username {password | *} /ADD [options] [/DOMAIN]\n\ + username [/DELETE] [/DOMAIN]" IDS_USER_HELP "USER\n..." IDS_VIEW_SYNTAX "Utilizare:\nNET VIEW ..." IDS_VIEW_HELP "VIEW\n..." @@ -66,4 +70,60 @@ BEGIN IDS_NET_SYNTAX "Utilizare:\nNET [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |\n\ HELPMSG | LOCALGROUP | NAME | PAUSE | PRINT | SEND | SESSION |\n\ SHARE | START | STATISTICS | STOP | TIME | USE | NET USER | VIEW ]\n" + + IDS_ACCOUNTS_FORCE_LOGOFF "Force logoff after" + IDS_ACCOUNTS_LOGOFF_SECONDS "%lu seconds" + IDS_ACCOUNTS_MIN_PW_AGE "Minimum password age (in days)" + IDS_ACCOUNTS_MAX_PW_AGE "Maximum password age (in days)" + IDS_ACCOUNTS_MIN_PW_LENGTH "Minimum password length" + IDS_ACCOUNTS_PW_HIST_LENGTH "Password history length" + IDS_ACCOUNTS_LOCKOUT_THRESHOLD "Lockout threshold" + IDS_ACCOUNTS_LOCKOUT_DURATION "Lockout duration (in minutes)" + IDS_ACCOUNTS_LOCKOUT_WINDOW "Lockout observation window (in minutes)" + IDS_ACCOUNTS_COMPUTER_ROLE "Computer role" + IDS_ACCOUNTS_PRIMARY_SERVER "Primary server" + IDS_ACCOUNTS_BACKUP_SERVER "Backup server" + IDS_ACCOUNTS_STANDALONE_SERVER "Standalone server" + IDS_ACCOUNTS_WORKSTATION "Workstation" + + IDS_LOCALGROUP_ALIASES "Aliases for \\\\%s" + IDS_LOCALGROUP_ALIAS_NAME "Alias name" + IDS_LOCALGROUP_COMMENT "Comment" + IDS_LOCALGROUP_MEMBERS "Members" + + IDS_USER_ACCOUNTS "User accounts for \\\\%s" + IDS_USER_NAME "User name" + IDS_USER_FULL_NAME "Full name" + IDS_USER_COMMENT "Comment" + IDS_USER_USER_COMMENT "User comment" + IDS_USER_COUNTRY_CODE "Country code" + IDS_USER_ACCOUNT_ACTIVE "Account active" + IDS_USER_ACCOUNT_EXPIRES "Account expires" + IDS_USER_PW_LAST_SET "Password last set" + IDS_USER_PW_EXPIRES "Password expires" + IDS_USER_PW_CHANGEABLE "Password changeable" + IDS_USER_PW_REQUIRED "Password required" + IDS_USER_CHANGE_PW "User may change password" + IDS_USER_WORKSTATIONS "Workstations allowed" + IDS_USER_LOGON_SCRIPT "Logon script" + IDS_USER_PROFILE "User profile" + IDS_USER_HOME_DIR "Home directory" + IDS_USER_LAST_LOGON "Last logon" + IDS_USER_LOGON_HOURS "Logon hours allowed" + IDS_USER_LOCAL_GROUPS "Local group memberships" + IDS_USER_GLOBAL_GROUPS "Global group memberships" + + IDS_USER_ENTER_PASSWORD1 "Enter a new password for the user: " + IDS_USER_ENTER_PASSWORD2 "Enter the password again: " + IDS_USER_NO_PASSWORD_MATCH "The passwords do not match!" + + IDS_GENERIC_YES "Yes" + IDS_GENERIC_NO "No" + IDS_GENERIC_NEVER "Never" + IDS_GENERIC_NONE "None" + IDS_GENERIC_ALL "All" + IDS_GENERIC_LOCKED "Locked" + + IDS_ERROR_OPTION_NOT_SUPPORTED "The %s option is not supported yet.\n" + IDS_ERROR_INVALID_OPTION_VALUE "You entered an invalid value for the %s option.\n" END diff --git a/base/applications/network/net/lang/ru-RU.rc b/base/applications/network/net/lang/ru-RU.rc new file mode 100644 index 00000000000..f782b4b054a --- /dev/null +++ b/base/applications/network/net/lang/ru-RU.rc @@ -0,0 +1,125 @@ +/* Russian language resource file by Kudratov Olimjon (olim98@bk.ru) */ + +LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT + +STRINGTABLE +BEGIN + IDS_ACCOUNTS_SYNTAX "Использование:\nNET ACCOUNTS [/FORCELOGOFF:{минуты | NO}] [/MINPWLEN:длина]\n\ + [/MAXPWAGE:{дни | UNLIMITED}] [/MINPWAGE:дни]\n\ + [/UNIQUEPW:число] [/DOMAIN]\n" + IDS_ACCOUNTS_HELP "ACCOUNTS\n..." + IDS_COMPUTER_SYNTAX "Использование:\nNET COMPUTER ..." + IDS_COMPUTER_HELP "COMPUTER\n..." + IDS_CONFIG_SYNTAX "Использование:\nNET CONFIG ..." + IDS_CONFIG_HELP "CONFIG\n..." + IDS_CONTINUE_SYNTAX "Использование:\nNET CONTINUE <имя_службы>" + IDS_CONTINUE_HELP "CONTINUE\n..." + IDS_FILE_SYNTAX "Использование:\nNET FILE ..." + IDS_FILE_HELP "FILE\n..." + IDS_GROUP_SYNTAX "Использование:\nNET GROUP ..." + IDS_GROUP_HELP "GROUP\n..." + IDS_HELPMSG_SYNTAX "Использование:\nNET HELPMSG <Код ошибки>" + IDS_HELPMSG_HELP "HELPMSG\n..." + IDS_LOCALGROUP_SYNTAX "Использование:\nNET LOCALGROUP [имя_группы [/COMMENT:""текст""]] [/DOMAIN]\n\ + имя_группы {/ADD [/COMMENT:""текст""] | /DELETE} [/DOMAIN]\n\ + имя_группы имя [...] {/ADD | /DELETE} [/DOMAIN]" + IDS_LOCALGROUP_HELP "LOCALGROUP\n..." + IDS_NAME_SYNTAX "Использование:\nNET NAME ..." + IDS_NAME_HELP "NAME\n..." + IDS_PRINT_SYNTAX "Использование:\nNET PRINT ..." + IDS_PRINT_HELP "PRINT\n..." + IDS_PAUSE_SYNTAX "Использование:\nNET PAUSE <имя_службы>" + IDS_PAUSE_HELP "PAUSE\n..." + IDS_SEND_SYNTAX "Использование:\nNET SEND ..." + IDS_SEND_HELP "SEND\n..." + IDS_SESSION_SYNTAX "Использование:\nNET SESSION ..." + IDS_SESSION_HELP "SESSION\n..." + IDS_SHARE_SYNTAX "Использование:\nNET SHARE ..." + IDS_SHARE_HELP "SHARE\n..." + IDS_START_SYNTAX "Использование:\nNET START ..." + IDS_START_HELP "START\n..." + IDS_STATISTICS_SYNTAX "Использование:\nNET STATISTICS ..." + IDS_STATISTICS_HELP "STATISTICS\n..." + IDS_STOP_SYNTAX "Использование:\nNET STOP <имя_службы>" + IDS_STOP_HELP "STOP\n..." + IDS_TIME_SYNTAX "Использование:\nNET TIME ..." + IDS_TIME_HELP "TIME\n..." + IDS_USE_SYNTAX "Использование:\nNET USE ..." + IDS_USE_HELP "USE\n..." + IDS_USER_SYNTAX "Использование:\nNET USER [имя_пользователя [пароль | *] [параметры]] [/DOMAIN]\n\ + имя_пользователя {пароль | *} /ADD [параметры] [/DOMAIN]\n\ + имя_пользователя [/DELETE] [/DOMAIN]" + IDS_USER_HELP "USER\n..." + IDS_VIEW_SYNTAX "Использование:\nNET VIEW ..." + IDS_VIEW_HELP "VIEW\n..." + IDS_HELP_SYNTAX "Использование:\nNET HELP <Команда>\n - или -\nNET <Команда> /HELP\n\n\ + Доступны следующие команды:\n\n\ + NET ACCOUNTS NET HELP NET SHARE\n\ + NET COMPUTER NET HELPMSG NET START\n\ + NET CONFIG NET LOCALGROUP NET STATISTICS\n\ + NET CONFIG SERVER NET NAME NET STOP\n\ + NET CONFIG WORKSTATION NET PAUSE NET TIME\n\ + NET CONTINUE NET PRINT NET USE\n\ + NET FILE NET SEND NET USER\n\ + NET GROUP NET SESSION NET VIEW\n\n\ + ..." + IDS_NET_SYNTAX "Использование:\nNET [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |\n\ + HELPMSG | LOCALGROUP | NAME | PAUSE | PRINT | SEND | SESSION |\n\ + SHARE | START | STATISTICS | STOP | TIME | USE | NET USER | VIEW ]\n" + + IDS_ACCOUNTS_FORCE_LOGOFF "Force logoff after" + IDS_ACCOUNTS_LOGOFF_SECONDS "%lu seconds" + IDS_ACCOUNTS_MIN_PW_AGE "Minimum password age (in days)" + IDS_ACCOUNTS_MAX_PW_AGE "Maximum password age (in days)" + IDS_ACCOUNTS_MIN_PW_LENGTH "Minimum password length" + IDS_ACCOUNTS_PW_HIST_LENGTH "Password history length" + IDS_ACCOUNTS_LOCKOUT_THRESHOLD "Lockout threshold" + IDS_ACCOUNTS_LOCKOUT_DURATION "Lockout duration (in minutes)" + IDS_ACCOUNTS_LOCKOUT_WINDOW "Lockout observation window (in minutes)" + IDS_ACCOUNTS_COMPUTER_ROLE "Computer role" + IDS_ACCOUNTS_PRIMARY_SERVER "Primary server" + IDS_ACCOUNTS_BACKUP_SERVER "Backup server" + IDS_ACCOUNTS_STANDALONE_SERVER "Standalone server" + IDS_ACCOUNTS_WORKSTATION "Workstation" + + IDS_LOCALGROUP_ALIASES "Aliases for \\\\%s" + IDS_LOCALGROUP_ALIAS_NAME "Alias name" + IDS_LOCALGROUP_COMMENT "Comment" + IDS_LOCALGROUP_MEMBERS "Members" + + IDS_USER_ACCOUNTS "User accounts for \\\\%s" + IDS_USER_NAME "User name" + IDS_USER_FULL_NAME "Full name" + IDS_USER_COMMENT "Comment" + IDS_USER_USER_COMMENT "User comment" + IDS_USER_COUNTRY_CODE "Country code" + IDS_USER_ACCOUNT_ACTIVE "Account active" + IDS_USER_ACCOUNT_EXPIRES "Account expires" + IDS_USER_PW_LAST_SET "Password last set" + IDS_USER_PW_EXPIRES "Password expires" + IDS_USER_PW_CHANGEABLE "Password changeable" + IDS_USER_PW_REQUIRED "Password required" + IDS_USER_CHANGE_PW "User may change password" + IDS_USER_WORKSTATIONS "Workstations allowed" + IDS_USER_LOGON_SCRIPT "Logon script" + IDS_USER_PROFILE "User profile" + IDS_USER_HOME_DIR "Home directory" + IDS_USER_LAST_LOGON "Last logon" + IDS_USER_LOGON_HOURS "Logon hours allowed" + IDS_USER_LOCAL_GROUPS "Local group memberships" + IDS_USER_GLOBAL_GROUPS "Global group memberships" + + IDS_USER_ENTER_PASSWORD1 "Enter a new password for the user: " + IDS_USER_ENTER_PASSWORD2 "Enter the password again: " + IDS_USER_NO_PASSWORD_MATCH "The passwords do not match!" + + IDS_GENERIC_YES "Yes" + IDS_GENERIC_NO "No" + IDS_GENERIC_NEVER "Never" + IDS_GENERIC_NONE "None" + IDS_GENERIC_ALL "All" + IDS_GENERIC_LOCKED "Locked" + + IDS_ERROR_OPTION_NOT_SUPPORTED "The %s option is not supported yet.\n" + IDS_ERROR_INVALID_OPTION_VALUE "You entered an invalid value for the %s option.\n" +END diff --git a/base/applications/network/net/main.c b/base/applications/network/net/main.c index f1560dd06f3..b1293fa7327 100644 --- a/base/applications/network/net/main.c +++ b/base/applications/network/net/main.c @@ -28,7 +28,7 @@ COMMAND cmds[] = {L"group", unimplemented}, {L"help", cmdHelp}, {L"helpmsg", cmdHelpMsg}, - {L"localgroup", unimplemented}, + {L"localgroup", cmdLocalGroup}, {L"name", unimplemented}, {L"pause", cmdPause}, {L"print", unimplemented}, @@ -40,7 +40,7 @@ COMMAND cmds[] = {L"stop", cmdStop}, {L"time", unimplemented}, {L"use", unimplemented}, - {L"user", unimplemented}, + {L"user", cmdUser}, {L"view", unimplemented}, {NULL, NULL} }; @@ -51,13 +51,143 @@ PrintResourceString( INT resID, ...) { - WCHAR szMsgBuf[MAX_BUFFER_SIZE]; + WCHAR szMsgBuffer[MAX_BUFFER_SIZE]; + WCHAR szOutBuffer[MAX_BUFFER_SIZE]; va_list arg_ptr; va_start(arg_ptr, resID); - LoadStringW(GetModuleHandle(NULL), resID, szMsgBuf, MAX_BUFFER_SIZE); - vwprintf(szMsgBuf, arg_ptr); + LoadStringW(GetModuleHandle(NULL), resID, szMsgBuffer, MAX_BUFFER_SIZE); + _vsnwprintf(szOutBuffer, MAX_BUFFER_SIZE, szMsgBuffer, arg_ptr); va_end(arg_ptr); + + WriteToConsole(szOutBuffer); +} + + +VOID +PrintPaddedResourceString( + INT resID, + INT nPaddedLength) +{ + WCHAR szMsgBuffer[MAX_BUFFER_SIZE]; + INT nLength, i; + + nLength = LoadStringW(GetModuleHandle(NULL), resID, szMsgBuffer, MAX_BUFFER_SIZE); + if (nLength < nPaddedLength) + { + for (i = nLength; i < nPaddedLength; i++) + szMsgBuffer[i] = L' '; + szMsgBuffer[nPaddedLength] = UNICODE_NULL; + } + + WriteToConsole(szMsgBuffer); +} + + +VOID +PrintPadding( + WCHAR chr, + INT nPaddedLength) +{ + WCHAR szMsgBuffer[MAX_BUFFER_SIZE]; + INT i; + + for (i = 0; i < nPaddedLength; i++) + szMsgBuffer[i] = chr; + szMsgBuffer[nPaddedLength] = UNICODE_NULL; + + WriteToConsole(szMsgBuffer); +} + + +VOID +PrintToConsole( + LPWSTR lpFormat, + ...) +{ + WCHAR szBuffer[MAX_BUFFER_SIZE]; + va_list arg_ptr; + + va_start(arg_ptr, lpFormat); + _vsnwprintf(szBuffer, MAX_BUFFER_SIZE, lpFormat, arg_ptr); + va_end(arg_ptr); + + WriteToConsole(szBuffer); +} + + +VOID +WriteToConsole( + LPWSTR lpString) +{ + CHAR szOemBuffer[MAX_BUFFER_SIZE * 2]; + HANDLE hOutput; + DWORD dwLength; + + dwLength = wcslen(lpString); + + hOutput = GetStdHandle(STD_OUTPUT_HANDLE); + if ((GetFileType(hOutput) & ~FILE_TYPE_REMOTE) == FILE_TYPE_CHAR) + { + WriteConsoleW(hOutput, + lpString, + dwLength, + &dwLength, + NULL); + } + else + { + dwLength = WideCharToMultiByte(CP_OEMCP, + 0, + lpString, + dwLength, + szOemBuffer, + MAX_BUFFER_SIZE * 2, + NULL, + NULL); + WriteFile(hOutput, + szOemBuffer, + dwLength, + &dwLength, + NULL); + } +} + + +VOID +ReadFromConsole( + LPWSTR lpInput, + DWORD dwLength, + BOOL bEcho) +{ + DWORD dwOldMode; + DWORD dwRead = 0; + HANDLE hFile; + LPWSTR p; + PCHAR pBuf; + + pBuf = HeapAlloc(GetProcessHeap(), 0, dwLength - 1); + ZeroMemory(lpInput, dwLength * sizeof(WCHAR)); + hFile = GetStdHandle(STD_INPUT_HANDLE); + GetConsoleMode(hFile, &dwOldMode); + + SetConsoleMode(hFile, ENABLE_LINE_INPUT | (bEcho ? ENABLE_ECHO_INPUT : 0)); + + ReadFile(hFile, (PVOID)pBuf, dwLength - 1, &dwRead, NULL); + + MultiByteToWideChar(CP_OEMCP, 0, pBuf, dwRead, lpInput, dwLength - 1); + HeapFree(GetProcessHeap(), 0, pBuf); + + for (p = lpInput; *p; p++) + { + if (*p == L'\x0d') + { + *p = L'\0'; + break; + } + } + + SetConsoleMode(hFile, dwOldMode); } diff --git a/base/applications/network/net/net.h b/base/applications/network/net/net.h index 93cf15d81c1..f117f31ca02 100644 --- a/base/applications/network/net/net.h +++ b/base/applications/network/net/net.h @@ -13,6 +13,8 @@ #include #include +#include +#include #include #include #include @@ -28,6 +30,31 @@ PrintResourceString( INT resID, ...); +VOID +PrintPaddedResourceString( + INT resID, + INT nPaddedLength); + +VOID +PrintPadding( + WCHAR chr, + INT nPaddedLength); + +VOID +PrintToConsole( + LPWSTR lpFormat, + ...); + +VOID +WriteToConsole( + LPWSTR lpString); + +VOID +ReadFromConsole( + LPWSTR lpInput, + DWORD dwLength, + BOOL bEcho); + VOID help(VOID); INT unimplemented(INT argc, WCHAR **argv); @@ -35,8 +62,10 @@ INT cmdAccounts(INT argc, WCHAR **argv); INT cmdContinue(INT argc, WCHAR **argv); INT cmdHelp(INT argc, WCHAR **argv); INT cmdHelpMsg(INT argc, WCHAR **argv); +INT cmdLocalGroup(INT argc, WCHAR **argv); INT cmdPause(INT argc, WCHAR **argv); INT cmdStart(INT argc, WCHAR **argv); INT cmdStop(INT argc, WCHAR **argv); +INT cmdUser(INT argc, WCHAR **argv); #endif /* _NET_PCH_ */ diff --git a/base/applications/network/net/net.rc b/base/applications/network/net/net.rc index 52b896c680f..64716423568 100644 --- a/base/applications/network/net/net.rc +++ b/base/applications/network/net/net.rc @@ -15,6 +15,12 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #ifdef LANGUAGE_EN_US #include "lang/en-US.rc" #endif +#ifdef LANGUAGE_ES_ES + #include "lang/es-ES.rc" +#endif #ifdef LANGUAGE_RO_RO #include "lang/ro-RO.rc" #endif +#ifdef LANGUAGE_RU_RU + #include "lang/ru-RU.rc" +#endif diff --git a/base/applications/network/net/resource.h b/base/applications/network/net/resource.h index f13e3e1d881..daedcefb289 100644 --- a/base/applications/network/net/resource.h +++ b/base/applications/network/net/resource.h @@ -44,3 +44,59 @@ #define IDS_VIEW_HELP 141 #define IDS_HELP_SYNTAX 142 #define IDS_NET_SYNTAX 143 + +#define IDS_ACCOUNTS_FORCE_LOGOFF 200 +#define IDS_ACCOUNTS_LOGOFF_SECONDS 201 +#define IDS_ACCOUNTS_MIN_PW_AGE 202 +#define IDS_ACCOUNTS_MAX_PW_AGE 203 +#define IDS_ACCOUNTS_MIN_PW_LENGTH 204 +#define IDS_ACCOUNTS_PW_HIST_LENGTH 205 +#define IDS_ACCOUNTS_LOCKOUT_THRESHOLD 206 +#define IDS_ACCOUNTS_LOCKOUT_DURATION 207 +#define IDS_ACCOUNTS_LOCKOUT_WINDOW 208 +#define IDS_ACCOUNTS_COMPUTER_ROLE 209 +#define IDS_ACCOUNTS_PRIMARY_SERVER 210 +#define IDS_ACCOUNTS_BACKUP_SERVER 211 +#define IDS_ACCOUNTS_STANDALONE_SERVER 212 +#define IDS_ACCOUNTS_WORKSTATION 213 + +#define IDS_LOCALGROUP_ALIASES 300 +#define IDS_LOCALGROUP_ALIAS_NAME 301 +#define IDS_LOCALGROUP_COMMENT 302 +#define IDS_LOCALGROUP_MEMBERS 303 + +#define IDS_USER_ACCOUNTS 449 +#define IDS_USER_NAME 450 +#define IDS_USER_FULL_NAME 451 +#define IDS_USER_COMMENT 452 +#define IDS_USER_USER_COMMENT 453 +#define IDS_USER_COUNTRY_CODE 454 +#define IDS_USER_ACCOUNT_ACTIVE 455 +#define IDS_USER_ACCOUNT_EXPIRES 456 +#define IDS_USER_PW_LAST_SET 457 +#define IDS_USER_PW_EXPIRES 458 +#define IDS_USER_PW_CHANGEABLE 459 +#define IDS_USER_PW_REQUIRED 460 +#define IDS_USER_CHANGE_PW 461 +#define IDS_USER_WORKSTATIONS 462 +#define IDS_USER_LOGON_SCRIPT 463 +#define IDS_USER_PROFILE 464 +#define IDS_USER_HOME_DIR 465 +#define IDS_USER_LAST_LOGON 466 +#define IDS_USER_LOGON_HOURS 467 +#define IDS_USER_LOCAL_GROUPS 468 +#define IDS_USER_GLOBAL_GROUPS 469 + +#define IDS_USER_ENTER_PASSWORD1 490 +#define IDS_USER_ENTER_PASSWORD2 491 +#define IDS_USER_NO_PASSWORD_MATCH 492 + +#define IDS_GENERIC_YES 500 +#define IDS_GENERIC_NO 501 +#define IDS_GENERIC_NEVER 502 +#define IDS_GENERIC_NONE 503 +#define IDS_GENERIC_ALL 504 +#define IDS_GENERIC_LOCKED 505 + +#define IDS_ERROR_OPTION_NOT_SUPPORTED 600 +#define IDS_ERROR_INVALID_OPTION_VALUE 601 diff --git a/base/applications/network/netsh/CMakeLists.txt b/base/applications/network/netsh/CMakeLists.txt index 4b7f0047b0a..bf0265e1e13 100644 --- a/base/applications/network/netsh/CMakeLists.txt +++ b/base/applications/network/netsh/CMakeLists.txt @@ -1,8 +1,6 @@ add_definitions(-D__WINESRC__) - include_directories(${REACTOS_SOURCE_DIR}/include/wine) - add_executable(netsh netsh.c) target_link_libraries(netsh wine) set_module_type(netsh win32cui UNICODE) diff --git a/base/applications/network/ping/CMakeLists.txt b/base/applications/network/ping/CMakeLists.txt index ff77e11fb9d..141802a1638 100644 --- a/base/applications/network/ping/CMakeLists.txt +++ b/base/applications/network/ping/CMakeLists.txt @@ -2,8 +2,10 @@ add_definitions(-D__USE_W32_SOCKETS) add_executable(ping ping.c ping.rc) set_module_type(ping win32cui UNICODE) -add_importlibs(ping ws2_32 msvcrt kernel32) +add_importlibs(ping user32 ws2_32 msvcrt kernel32) + if(MSVC) add_importlibs(ping ntdll) endif() + add_cd_file(TARGET ping DESTINATION reactos/system32 FOR all) diff --git a/base/applications/network/ping/lang/es-ES.rc b/base/applications/network/ping/lang/es-ES.rc new file mode 100644 index 00000000000..bfbf6cc0cd5 --- /dev/null +++ b/base/applications/network/ping/lang/es-ES.rc @@ -0,0 +1,38 @@ +/* Spanish Language resource file. + * Translated by: Ismael Ferreras Morezuelas <2014-11-07> */ + +LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + IDS_USAGE "\nUso: ping [-t] [-n cuenta] [-l tamaño] [-w tiempo_de_espera] nombre_de_destino\n\n\ +Opciones:\n\ + -t Hacer ping al host especificado hasta que se detenga;\n\ + para detener, presione Ctrl+C.\n\ + -n cuenta Número de solicitudes de eco a enviar.\n\ + -l tamaño Tamaño de búfer a enviar.\n\ + -w t_espera Tiempo de espera en milisegundos para cada respuesta.\n\n\0" + + IDS_PING_WITH_BYTES "\nHaciendo ping a %1 [%2] con %3!d! bytes de datos:\n\n\0" + IDS_PING_STATISTICS "\nEstadísticas de ping para %1:\n\0" + IDS_PACKETS_SENT_RECEIVED_LOST " Paquetes: enviados = %1!d!, recibidos = %2!d!, perdidos = %3!d! (%4!d!%% perdidos),\n\0" + IDS_APPROXIMATE_ROUND_TRIP "Tiempos aproximados de ida y vuelta en milisegundos:\n\0" + IDS_MIN_MAX_AVERAGE " Mínimo = %1, Máximo = %2, Media = %3\n\0" + IDS_NOT_ENOUGH_RESOURCES "No hay suficientes recursos libres disponibles.\n\0" + IDS_UNKNOWN_HOST "No se pudo encontrar el host %1.\n\0" + IDS_SETSOCKOPT_FAILED "setsockopt ha fallado (%1!d!).\n\0" + IDS_COULD_NOT_CREATE_SOCKET "No se pudo iniciar el socket (#%1!d!).\n\0" + IDS_COULD_NOT_INIT_WINSOCK "No se pudo iniciar winsock dll.\n\0" + IDS_DEST_MUST_BE_SPECIFIED "Debe especificar el nombre o dirección IP del destino.\n\0" + IDS_BAD_PARAMETER "El parámetro %1 no es válido.\n\0" + IDS_BAD_OPTION_FORMAT "El formato de opción %1 no es válido.\n\0" + IDS_BAD_OPTION "La opción %1 no es válida.\n\0" + IDS_BAD_VALUE_OPTION_L "El valor para la opción -l no es válido, debe de estar entre 0 y %1!d!.\n\0" + IDS_REPLY_FROM "Respuesta desde %1: bytes=%2!d! tiempo%3%4 TTL=%5!d!\n\0" + IDS_DEST_UNREACHABLE "Host de destino inaccesible.\n\0" + IDS_COULD_NOT_TRANSMIT "No se ha podido transmitir ningún dato (%1!d!).\n\0" + IDS_COULD_NOT_RECV "No se ha podido recibir ningún dato (%1!d!).\n\0" + IDS_REQUEST_TIMEOUT "La petición ha caducado.\n\0" + IDS_MS "ms\0" + IDS_1MS "1ms\0" +END diff --git a/base/applications/network/ping/lang/ru-RU.rc b/base/applications/network/ping/lang/ru-RU.rc index 82e050999d5..7fdd925aca9 100644 --- a/base/applications/network/ping/lang/ru-RU.rc +++ b/base/applications/network/ping/lang/ru-RU.rc @@ -10,18 +10,18 @@ BEGIN -l <размер> Размер буфера отправки.\n\ -w <тайм-аут> Тайм-аут для каждого ответа (в миллисекундах)\n\n\0" - IDS_PING_WITH_BYTES "\nPinging %1 [%2] with %3!d! bytes of data:\n\n\0" + IDS_PING_WITH_BYTES "\nОбмен пакетами с %1 [%2] по %3!d! байта данных:\n\n\0" IDS_PING_STATISTICS "\nСтатистика Ping для %1:\n\0" IDS_PACKETS_SENT_RECEIVED_LOST " Пакетов: отправлено = %1!d!, получено = %2!d!, потеряно = %3!d! (%4!d!%% потерь),\n\0" IDS_APPROXIMATE_ROUND_TRIP "Приблизительное время приема-передачи в мс:\n\0" IDS_MIN_MAX_AVERAGE " Минимальное = %1, Максимальное = %2, Среднее = %3\n\0" - IDS_NOT_ENOUGH_RESOURCES "Not enough free resources available.\n\0" + IDS_NOT_ENOUGH_RESOURCES "Невозможно выделить требуемую память.\n\0" IDS_UNKNOWN_HOST "Unknown host %1.\n\0" IDS_SETSOCKOPT_FAILED "setsockopt failed (%1!d!).\n\0" - IDS_COULD_NOT_CREATE_SOCKET "Could not create socket (#%1!d!).\n\0" - IDS_COULD_NOT_INIT_WINSOCK "Could not initialize winsock dll.\n\0" + IDS_COULD_NOT_CREATE_SOCKET "Не удалось создать сокет (#%1!d!).\n\0" + IDS_COULD_NOT_INIT_WINSOCK "Не удается инициализировать интерфейс ReactOS Sockets.\n\0" IDS_DEST_MUST_BE_SPECIFIED "Необходимо указать адрес IP.\n\0" - IDS_BAD_PARAMETER "Bad parameter %1.\n\0" + IDS_BAD_PARAMETER "Неверный параметр %1.\n\0" IDS_BAD_OPTION_FORMAT "Bad option format %1.\n\0" IDS_BAD_OPTION "Bad option %1.\n\0" IDS_BAD_VALUE_OPTION_L "Недопустимое значение параметра -l, допустимый диапазон с 0 по %1!d!.\n\0" diff --git a/base/applications/network/ping/ping.c b/base/applications/network/ping/ping.c index f0f2f732443..7b8bc6ec2cc 100644 --- a/base/applications/network/ping/ping.c +++ b/base/applications/network/ping/ping.c @@ -114,30 +114,6 @@ static VOID DisplayBuffer( } #endif /* !NDEBUG */ -LPWSTR -MyLoadString(UINT uID) -{ - HRSRC hres; - HGLOBAL hResData; - WCHAR *pwsz; - UINT string_num, i; - - hres = FindResourceW(NULL, MAKEINTRESOURCEW((LOWORD(uID) >> 4) + 1), RT_STRING); - if (!hres) return NULL; - - hResData = LoadResource(NULL, hres); - if (!hResData) return NULL; - - pwsz = LockResource(hResData); - if (!pwsz) return NULL; - - string_num = uID & 15; - for (i = 0; i < string_num; i++) - pwsz += *pwsz + 1; - - return pwsz + 1; -} - void FormatOutput(UINT uID, ...) { va_list valist; @@ -146,15 +122,18 @@ void FormatOutput(UINT uID, ...) CHAR AnsiBuf[1024]; LPWSTR pBuf = Buf; PCHAR pAnsiBuf = AnsiBuf; - LPWSTR Format; + WCHAR Format[1024]; DWORD written; UINT DataLength; int AnsiLength; va_start(valist, uID); - Format = MyLoadString(uID); - if (!Format) return; + if (!LoadString(GetModuleHandle(NULL), uID, + Format, sizeof(Format) / sizeof(WCHAR))) + { + return; + } DataLength = FormatMessage(FORMAT_MESSAGE_FROM_STRING, Format, 0, 0, Buf,\ sizeof(Buf) / sizeof(WCHAR), &valist); @@ -272,7 +251,7 @@ static BOOL ParseCmdline(int argc, LPWSTR argv[]) if (i + 1 < argc) { DataSize = wcstoul(argv[++i], NULL, 0); - + if (DataSize > ICMP_MAXSIZE - sizeof(ICMP_ECHO_PACKET) - sizeof(IPv4_HEADER)) { FormatOutput(IDS_BAD_VALUE_OPTION_L, ICMP_MAXSIZE - \ @@ -484,7 +463,7 @@ static VOID QueryTime(PLARGE_INTEGER Time) } } -static VOID TimeToMsString(LPWSTR String, LARGE_INTEGER Time) +static VOID TimeToMsString(LPWSTR String, ULONG Length, LARGE_INTEGER Time) { WCHAR Convstr[40]; LARGE_INTEGER LargeTime; @@ -494,8 +473,8 @@ static VOID TimeToMsString(LPWSTR String, LARGE_INTEGER Time) _i64tow(LargeTime.QuadPart, Convstr, 10); wcscpy(String, Convstr); - ms = MyLoadString(IDS_MS); - wcscat(String, ms); + ms = String + wcslen(String); + LoadString(GetModuleHandle(NULL), IDS_MS, ms, Length - (ms - String)); } /* Locate the ICMP data and print it. Returns TRUE if the packet was good, @@ -555,16 +534,13 @@ static BOOL DecodeResponse(PCHAR buffer, UINT size, PSOCKADDR_IN from) if ((RelativeTime.QuadPart / TicksPerMs.QuadPart) < 1) { - LPWSTR ms1; - wcscpy(Sign, L"<"); - ms1 = MyLoadString(IDS_1MS); - wcscpy(Time, ms1); + LoadString(GetModuleHandle(NULL), IDS_1MS, Time, sizeof(Time) / sizeof(WCHAR)); } else { wcscpy(Sign, L"="); - TimeToMsString(Time, RelativeTime); + TimeToMsString(Time, sizeof(Time) / sizeof(WCHAR), RelativeTime); } @@ -740,9 +716,9 @@ int wmain(int argc, LPWSTR argv[]) if (!MinRTTSet) MinRTT = MaxRTT; - TimeToMsString(MinTime, MinRTT); - TimeToMsString(MaxTime, MaxRTT); - TimeToMsString(AvgTime, AvgRTT); + TimeToMsString(MinTime, sizeof(MinTime) / sizeof(WCHAR), MinRTT); + TimeToMsString(MaxTime, sizeof(MaxTime) / sizeof(WCHAR), MaxRTT); + TimeToMsString(AvgTime, sizeof(AvgTime) / sizeof(WCHAR), AvgRTT); /* Print statistics */ FormatOutput(IDS_PING_STATISTICS, TargetIP); diff --git a/base/applications/network/ping/ping.rc b/base/applications/network/ping/ping.rc index 6f3a9353cc9..e9a4c645d31 100644 --- a/base/applications/network/ping/ping.rc +++ b/base/applications/network/ping/ping.rc @@ -23,6 +23,9 @@ #ifdef LANGUAGE_EN_US #include "lang/en-US.rc" #endif +#ifdef LANGUAGE_ES_ES + #include "lang/es-ES.rc" +#endif #ifdef LANGUAGE_FR_FR #include "lang/fr-FR.rc" #endif diff --git a/base/applications/network/route/CMakeLists.txt b/base/applications/network/route/CMakeLists.txt index 3f78a6e16f8..bbb89e43739 100644 --- a/base/applications/network/route/CMakeLists.txt +++ b/base/applications/network/route/CMakeLists.txt @@ -1,7 +1,5 @@ - add_executable(route route.c route.rc) - set_module_type(route win32cui UNICODE) add_importlibs(route ws2_32 iphlpapi msvcrt kernel32) add_cd_file(TARGET route DESTINATION reactos/system32 FOR all) diff --git a/base/applications/network/telnet/src/tmapldr.cpp b/base/applications/network/telnet/src/tmapldr.cpp index 3680645db11..99b3b62062f 100644 --- a/base/applications/network/telnet/src/tmapldr.cpp +++ b/base/applications/network/telnet/src/tmapldr.cpp @@ -426,7 +426,6 @@ int TMapLoader::LoadCharMap(string buf) { Charmap.modmap(bHost, 'B', bConsole); }; return (Charmap.enabled = 1); - return 1; }; // AVS diff --git a/base/applications/network/tracert/CMakeLists.txt b/base/applications/network/tracert/CMakeLists.txt index 9b55089ec37..ec605ed89a6 100644 --- a/base/applications/network/tracert/CMakeLists.txt +++ b/base/applications/network/tracert/CMakeLists.txt @@ -1,13 +1,11 @@ add_definitions(-D__USE_W32_SOCKETS) - add_executable(tracert tracert.c tracert.rc) - set_module_type(tracert win32cui) - add_importlibs(tracert ws2_32 msvcrt kernel32) + if(MSVC) -add_importlibs(tracert ntdll) + add_importlibs(tracert ntdll) endif() add_cd_file(TARGET tracert DESTINATION reactos/system32 FOR all) diff --git a/base/applications/network/whois/CMakeLists.txt b/base/applications/network/whois/CMakeLists.txt index 755fc7a9818..be14ff50665 100644 --- a/base/applications/network/whois/CMakeLists.txt +++ b/base/applications/network/whois/CMakeLists.txt @@ -1,6 +1,5 @@ add_executable(whois whois.c whois.rc) - set_module_type(whois win32cui) add_importlibs(whois ws2_32 msvcrt kernel32) add_cd_file(TARGET whois DESTINATION reactos/system32 FOR all) diff --git a/base/applications/network/wlanconf/CMakeLists.txt b/base/applications/network/wlanconf/CMakeLists.txt index fe931b3a442..973abbdc316 100644 --- a/base/applications/network/wlanconf/CMakeLists.txt +++ b/base/applications/network/wlanconf/CMakeLists.txt @@ -2,8 +2,8 @@ include_directories( BEFORE include ${REACTOS_SOURCE_DIR}/include/reactos/drivers/ndisuio) -add_executable(wlanconf wlanconf.c wlanconf.rc) +add_executable(wlanconf wlanconf.c wlanconf.rc) set_module_type(wlanconf win32cui UNICODE) add_importlibs(wlanconf msvcrt user32 iphlpapi kernel32) add_cd_file(TARGET wlanconf DESTINATION reactos/system32 FOR all) diff --git a/base/applications/network/wlanconf/lang/es-ES.rc b/base/applications/network/wlanconf/lang/es-ES.rc new file mode 100644 index 00000000000..cc44c97cfd8 --- /dev/null +++ b/base/applications/network/wlanconf/lang/es-ES.rc @@ -0,0 +1,40 @@ +/* Spanish Language resource file. + * Translated by: Ismael Ferreras Morezuelas <2014-11-07> */ + +LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + IDS_USAGE "\nConfigura un adaptador inalámbrico.\n\n\ +WLANCONF [-c SSID [-w WEP] [-a]] [-d] [-s]\n\n\ +\t-c SSID\t\tConectarse al SSID especificado,\n\ +\t-w WEP\t\tEspecifica una clave WEP con la que conectarse.\n\ +\t-a\t\tEspecifica que la red a conectarse es de punto a punto (ad-hoc)\n\ +\t-d\t\tDesconectarse de la red inalámbrica actual.\n\ +\t-s\t\tBusca y muestra una lista con las redes inalámbricas disponibles\n\ +\t\t\tin range.\n\n\ +Si no se pasa ningún parámetro se mostrará información sobre la conexión inalámbrica actual\n" + IDS_NO_NETWORK "No se han encontrado redes disponibles en las cercanías\n" + IDS_NO_WLAN_ADAPTER "No se ha encontrado ningún adaptador inalámbrico en el equipo\n" + IDS_SUCCESS "La operación se ha completado correctamente.\n" + IDS_WLAN_DISCONNECT "\nAdaptador inalámbrico desconectado\n" + IDS_MSG_WEP_ENABLED "WEP activado: %s\n" + IDS_MSG_NETWORK_MODE "Modo de red: %s\n" + IDS_MSG_CURRENT_WIRELESS "\nInformación de la configuración inalámbrica actual:\n\n" + IDS_MSG_ENCRYPTED "Cifrado: %s\n" + IDS_MSG_NETWORK_TYPE "Tipo de red: %s\n" + IDS_MSG_RSSI "RSSI: %i dBm\n" + IDS_MSG_SUPPORT_RATE "Tasas de transferencia soportadas (Mbps): " + IDS_MSG_TRANSMISSION_POWER "Potencia de transmisión: %d mW\n" + IDS_MSG_ANTENNA_COUNT "Número de antenas: %d\n" + IDS_MSG_TRANSMIT_ANTENNA "Antena de transmisión: %d\n" + IDS_MSG_TRANSMIT_ANTENNA_ANY "Antena de transmisión: Cualquiera\n" + IDS_MSG_RECEIVE_ANTENNA "Antena de recepción: %d\n" + IDS_MSG_RECEIVE_ANTENNA_ANY "Antena de recepción: Cualquiera\n" + IDS_MSG_FRAGMENT_THRESHOLD "Nivel de fragmentación: %d bytes\n" + IDS_MSG_RTS_THRESHOLD "Nivel RTS: %d bytes\n" + IDS_YES "Sí" + IDS_NO "No" + IDS_ADHOC "Punto a punto (Adhoc)" + IDS_INFRASTRUCTURE "Infrastructura" +END diff --git a/base/applications/network/wlanconf/lang/ru-RU.rc b/base/applications/network/wlanconf/lang/ru-RU.rc new file mode 100644 index 00000000000..b59fabcff6d --- /dev/null +++ b/base/applications/network/wlanconf/lang/ru-RU.rc @@ -0,0 +1,38 @@ +/* Russian translation by Kudratov Olimjon, 2014.09.25 */ +LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT + +STRINGTABLE +BEGIN + IDS_USAGE "\nНастройте WLAN адаптер.\n\n\ +WLANCONF [-c SSID [-w WEP] [-a]] [-d] [-s]\n\n\ +\t-c SSID\t\tПодключается к указанному SSID,\n\ +\t-w WEP\t\tЗадает WEP ключ для использования.\n\ +\t-a\t\tУказывает целевую сеть is ad-hoc\n\ +\t-d\t\tОтключается от текущей точки доступа.\n\ +\t-s\t\tСканирует и отображает список точек доступа\n\ +\t\t\tв области.\n\n\ +При отсутствии параметров отображает информацию о текущем WLAN соединении\n" + IDS_NO_NETWORK "Не найдено сетей в области\n" + IDS_NO_WLAN_ADAPTER "Не найден WLAN адаптер в системе\n" + IDS_SUCCESS "Операция завершена успешно.\n" + IDS_WLAN_DISCONNECT "\nWLAN отключен\n" + IDS_MSG_WEP_ENABLED "WEP включен: %s\n" + IDS_MSG_NETWORK_MODE "Режим сети: %s\n" + IDS_MSG_CURRENT_WIRELESS "\nТекущая информация конфигурации беспроводной сети:\n\n" + IDS_MSG_ENCRYPTED "Зашифровано: %s\n" + IDS_MSG_NETWORK_TYPE "Тип сети: %s\n" + IDS_MSG_RSSI "RSSI: %i dBm\n" + IDS_MSG_SUPPORT_RATE "Поддерживаемые скорости (Mbps): " + IDS_MSG_TRANSMISSION_POWER "Мощность передатчика: %d mW\n" + IDS_MSG_ANTENNA_COUNT "Число антенн: %d\n" + IDS_MSG_TRANSMIT_ANTENNA "Передающая антенна: %d\n" + IDS_MSG_TRANSMIT_ANTENNA_ANY "Передающая антенна: Любая\n" + IDS_MSG_RECEIVE_ANTENNA "Принимающая антенна: %d\n" + IDS_MSG_RECEIVE_ANTENNA_ANY "Принимающая антенна: Любая\n" + IDS_MSG_FRAGMENT_THRESHOLD "Порог фрагментации: %d байт\n" + IDS_MSG_RTS_THRESHOLD "Порог RTS: %d байт\n" + IDS_YES "Да" + IDS_NO "Нет" + IDS_ADHOC "Adhoc" + IDS_INFRASTRUCTURE "Инфраструктура" +END diff --git a/base/applications/network/wlanconf/wlanconf.rc b/base/applications/network/wlanconf/wlanconf.rc index 3cdb47c6571..a8445e3e7a0 100644 --- a/base/applications/network/wlanconf/wlanconf.rc +++ b/base/applications/network/wlanconf/wlanconf.rc @@ -19,6 +19,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #ifdef LANGUAGE_EN_US #include "lang/en-US.rc" #endif +#ifdef LANGUAGE_ES_ES + #include "lang/es-ES.rc" +#endif #ifdef LANGUAGE_CS_CZ #include "lang/cs-CZ.rc" #endif @@ -31,6 +34,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #ifdef LANGUAGE_RO_RO #include "lang/ro-RO.rc" #endif +#ifdef LANGUAGE_RU_RU + #include "lang/ru-RU.rc" +#endif #ifdef LANGUAGE_SQ_AL #include "lang/sq-AL.rc" #endif diff --git a/base/applications/notepad/lang/es-ES.rc b/base/applications/notepad/lang/es-ES.rc index 0d142fe9571..42af72e0e0c 100644 --- a/base/applications/notepad/lang/es-ES.rc +++ b/base/applications/notepad/lang/es-ES.rc @@ -29,7 +29,7 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Configurar &página...", CMD_PAGE_SETUP MENUITEM "&Imprimir\tCtrl+P", CMD_PRINT - MENUITEM "Configuración &impresora...", CMD_PRINTER_SETUP + MENUITEM "A&justes de impresión...", CMD_PRINTER_SETUP MENUITEM SEPARATOR MENUITEM "&Salir", CMD_EXIT END @@ -132,7 +132,7 @@ END STRINGTABLE BEGIN - STRING_LICENSE "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.\r\n\r\nThis 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.\r\n\r\nYou 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." + STRING_LICENSE "Este programa es software libre; puedes redistribuirlo y/o modificarlo bajo los términos de la GNU General Public License tal y como fueron publicados por la Free Software Foundation; ya sea la versión 2 de la Licencia, o (bajo tu discreción) cualquier versión posterior.\r\n\r\nEste programa se distribuye con el fin de ser útil, pero viene SIN NINGUNA GARANTÍA; sin tan siquiera la garantía implícita de COMERCIALIZACIÓN o la de IDONEIDAD PARA UN PROPÓSITO CONCRETO. Para más información lee la GNU General Public License.\r\n\r\nDeberías de haber recibido una copia de la GNU General Public License con el programa; si no, puedes escribir a la Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 EE.UU." END STRINGTABLE diff --git a/base/applications/notepad/lang/ro-RO.rc b/base/applications/notepad/lang/ro-RO.rc index fdc4e76098d..4a6a07a7f52 100644 --- a/base/applications/notepad/lang/ro-RO.rc +++ b/base/applications/notepad/lang/ro-RO.rc @@ -1,3 +1,8 @@ +/* +Translators: Petru Dumitriu (petrimetri at gmail dot com) + Ștefan Fulea (stefan dot fulea at mail dot md) +*/ + LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL ID_ACCEL ACCELERATORS @@ -8,7 +13,7 @@ BEGIN "^G", CMD_GOTO "H", CMD_REPLACE, VIRTKEY, CONTROL "^N", CMD_NEW - "^D", CMD_OPEN + "^O", CMD_OPEN "^P", CMD_PRINT "^S", CMD_SAVE "^V", CMD_PASTE @@ -23,13 +28,13 @@ BEGIN POPUP "&Fișier" BEGIN MENUITEM "&Nou\tCtrl+N", CMD_NEW - MENUITEM "&Deschidere…\tCtrl+D", CMD_OPEN - MENUITEM "Pă&strează\tCtrl+S", CMD_SAVE - MENUITEM "&Păstrare în…", CMD_SAVE_AS + MENUITEM "&Deschidere…\tCtrl+O", CMD_OPEN + MENUITEM "&Păstrează\tCtrl+S", CMD_SAVE + MENUITEM "Păst&rare în…", CMD_SAVE_AS MENUITEM SEPARATOR MENUITEM "&Configurare pagină…", CMD_PAGE_SETUP - MENUITEM "&Imprimă\tCtrl+P", CMD_PRINT - MENUITEM "Configurare i&mprimantă…", CMD_PRINTER_SETUP + MENUITEM "I&mprimă\tCtrl+P", CMD_PRINT + MENUITEM "C&onfigurare imprimantă…", CMD_PRINTER_SETUP MENUITEM SEPARATOR MENUITEM "I&eșire", CMD_EXIT END @@ -45,9 +50,9 @@ BEGIN MENUITEM "&Găsire…\tCtrl+F", CMD_SEARCH MENUITEM "Găsește &următoarea\tF3", CMD_SEARCH_NEXT MENUITEM "Î&nlocuiește\tCtrl+H", CMD_REPLACE - MENUITEM "&Salt la…\tCtrl+G", CMD_GOTO + MENUITEM "S&alt la…\tCtrl+G", CMD_GOTO MENUITEM SEPARATOR - MENUITEM "Selecte&ază tot\tCtrl+A", CMD_SELECT_ALL + MENUITEM "Selectea&ză tot\tCtrl+A", CMD_SELECT_ALL MENUITEM "Inserează &oră și dată\tF5", CMD_TIME_DATE END POPUP "F&ormatare" @@ -76,12 +81,12 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" CAPTION "Configurare pagină" BEGIN - LTEXT "&Antet:", 0x140, 10, 07, 40, 15 + LTEXT "Ant&et:", 0x140, 10, 07, 40, 15 EDITTEXT 0x141, 60, 05, 110, 12, WS_BORDER | WS_TABSTOP - LTEXT "&Subsol:", 0x142, 10, 24, 40, 15 + LTEXT "Su&bsol:", 0x142, 10, 24, 40, 15 EDITTEXT 0x143, 60, 22, 110, 12, WS_BORDER | WS_TABSTOP - GROUPBOX "&Margini:", 0x144, 10, 43, 160, 45 - LTEXT "S&tânga:", 0x145, 20, 55, 30, 10, WS_CHILD + GROUPBOX "Margini:", 0x144, 10, 43, 160, 45 + LTEXT "Stâng&a:", 0x145, 20, 55, 30, 10, WS_CHILD EDITTEXT /*STRING_PAGESETUP_LEFTVALUE,*/ 0x147, 50, 55, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP LTEXT "S&us:", 0x148, 20, 73, 30, 10, WS_CHILD EDITTEXT /*STRING_PAGESETUP_TOPVALUE,*/ 0x14A, 50, 73, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP diff --git a/base/applications/notepad/lang/ru-RU.rc b/base/applications/notepad/lang/ru-RU.rc index 00056dae74d..29e745baab9 100644 --- a/base/applications/notepad/lang/ru-RU.rc +++ b/base/applications/notepad/lang/ru-RU.rc @@ -103,7 +103,7 @@ BEGIN COMBOBOX ID_ENCODING, 54, 0, 156, 80, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP LTEXT "Кодировка:", 0x155, 5, 2, 41, 12 COMBOBOX ID_EOLN, 54, 18, 156, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Вариант:", 0x156, 5, 20, 41, 12 + LTEXT "Конец строки:", 0x156, 5, 20, 50, 12 END /* Dialog 'Go To' */ @@ -113,7 +113,7 @@ FONT 8, "MS Shell Dlg" CAPTION "Перейти к строке" BEGIN EDITTEXT ID_LINENUMBER, 54, 10, 106, 12, WS_CHILD | WS_BORDER | WS_TABSTOP - LTEXT "Номер строки:", 0x155, 5, 12, 41, 12, WS_CHILD | WS_TABSTOP | ES_NUMBER + LTEXT "Номер строки:", 0x155, 5, 12, 49, 12, WS_CHILD | WS_TABSTOP | ES_NUMBER DEFPUSHBUTTON "OK", IDOK, 75, 30, 40, 15, WS_CHILD | WS_TABSTOP PUSHBUTTON "Отмена", IDCANCEL, 120, 30, 40, 15, WS_CHILD | WS_TABSTOP END @@ -150,24 +150,24 @@ BEGIN STRING_UNTITLED "Без заголовка" STRING_ALL_FILES "Все файлы (*.*)" STRING_TEXT_FILES_TXT "Текстовые файлы (*.txt)" - STRING_TOOLARGE "Файл '%s' слишком большой для блокнота.\n \ -Используйте другой редактор." - STRING_NOTEXT "Вы не ввели никакого текста. \ -\nВведите что-нибудь и попробуйте еще." - STRING_DOESNOTEXIST "Файл '%s'\nне существует\n\n \ + STRING_TOOLARGE "Файл '%s' слишком велик.\n\ +Воспользуйтесь другим текстовым редактором." + STRING_NOTEXT "Вы не ввели текст.\n\ +Введите что-нибудь и попробуйте еще." + STRING_DOESNOTEXIST "Файл '%s'\nне существует\n\n\ Хотите создать новый файл?" - STRING_NOTSAVED "Файл '%s'\nбыл изменен\n\n \ + STRING_NOTSAVED "Файл '%s'\nбыл изменен\n\n\ Хотите сохранить изменения?" STRING_NOTFOUND "'%s' не найден." STRING_OUT_OF_MEMORY "Недостаточно памяти для завершения этой операции. \ \nЗакройте одно или несколько приложений и повторите попытку." STRING_CANNOTFIND "Невозможно найти '%s'" STRING_ANSI "ANSI" - STRING_UNICODE "Юникод" - STRING_UNICODE_BE "Юникод (big endian)" + STRING_UNICODE "Unicode" + STRING_UNICODE_BE "Unicode (big endian)" STRING_UTF8 "UTF-8" STRING_CRLF "Windows (CR + LF)" STRING_LF "Unix (LF)" - STRING_CR "Макинтош (CR)" + STRING_CR "Macintosh (CR)" STRING_LINE_COLUMN "Строка %d, столбец %d" END diff --git a/base/applications/notepad/lang/tr-TR.rc b/base/applications/notepad/lang/tr-TR.rc index 4d01c3d8981..14754069dfa 100644 --- a/base/applications/notepad/lang/tr-TR.rc +++ b/base/applications/notepad/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATORS: 2012 Arda Tanrıkulu (ardatan) (ardatanrikulu@gmail.com), 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATORS: 2012 Arda Tanrıkulu (ardatan) (ardatanrikulu@gmail.com); 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -26,10 +26,10 @@ BEGIN BEGIN MENUITEM "&Yeni\tCtrl+N", CMD_NEW MENUITEM "&Aç...\tCtrl+O", CMD_OPEN - MENUITEM "&Kaydet\tCtrl+S", CMD_SAVE - MENUITEM "Ay&rı Kaydet...", CMD_SAVE_AS + MENUITEM "&Sakla\tCtrl+S", CMD_SAVE + MENUITEM "Ay&rı Sakla...", CMD_SAVE_AS MENUITEM SEPARATOR - MENUITEM "&Sayfa Ayarla...", CMD_PAGE_SETUP + MENUITEM "Say&fa Ayarla...", CMD_PAGE_SETUP MENUITEM "Ya&zdır...\tCtrl+P", CMD_PRINT MENUITEM "Yaz&ıcı Ayarla...", CMD_PRINTER_SETUP MENUITEM SEPARATOR @@ -155,7 +155,7 @@ BEGIN STRING_TOOLARGE "%s kütüğü Not Defteri için çok büyük. Lütfen başka bir düzenleyici kullanınız." STRING_NOTEXT "Hiç metin girmediniz. Lütfen birşeyler yazıp yeniden deneyiniz." STRING_DOESNOTEXIST "%s kütüğü yok. Yeni bir kütük oluşturmak ister misiniz?" - STRING_NOTSAVED "%s kütüğü değiştirilmiş. Değişiklikleri kaydetmek ister misiniz?" + STRING_NOTSAVED "%s kütüğü değiştirilmiş. Değişiklikleri saklamak ister misiniz?" STRING_NOTFOUND "%s bulunamadı." STRING_OUT_OF_MEMORY "Bu işi bitirmek için bellek yetersiz. Kullanılabilen belleği arttırmak için bir ya da daha çok uygulama kapatınız." STRING_CANNOTFIND "%s bulunamadı." diff --git a/base/applications/notepad/main.c b/base/applications/notepad/main.c index 9a4daed6656..f62f672ae50 100644 --- a/base/applications/notepad/main.c +++ b/base/applications/notepad/main.c @@ -321,7 +321,7 @@ LRESULT CALLBACK EDIT_WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) break; } } - return CallWindowProc( (WNDPROC)Globals.EditProc, hWnd, msg, wParam, lParam); + return CallWindowProc( Globals.EditProc, hWnd, msg, wParam, lParam); } /*********************************************************************** diff --git a/base/applications/rapps/README.ENG b/base/applications/rapps/README.ENG index 8f8149e4867..f4b87132000 100644 --- a/base/applications/rapps/README.ENG +++ b/base/applications/rapps/README.ENG @@ -1,3 +1,5 @@ +For more information for RAPPS, see: https://www.reactos.org/wiki/RAPPS + ADDING DOWNLOADABLE PROGRAMMS For an each programm would be creacted an INI alike syntax. @@ -12,7 +14,7 @@ The File Overview: Name = program name RegName = Name in registry Version = 1.1.1 -Licence = GPL +License = GPL Description = Description Size = 10 mb Category = 5 diff --git a/base/applications/rapps/README.RUS b/base/applications/rapps/README.RUS index 98492b37fdb..e81dabdb766 100644 --- a/base/applications/rapps/README.RUS +++ b/base/applications/rapps/README.RUS @@ -1,3 +1,5 @@ +For more information for RAPPS, see: https://www.reactos.org/wiki/RAPPS + ini- . @@ -13,7 +15,7 @@ Name = ; RegName = ; , Version = 1.1.1 ; -Licence = ; +License = ; Description = ; Size = ; Category = 5 ; diff --git a/base/applications/rapps/available.c b/base/applications/rapps/available.c index 22ba9c608f3..e7ca27081f0 100644 --- a/base/applications/rapps/available.c +++ b/base/applications/rapps/available.c @@ -29,7 +29,7 @@ ShowAvailableAppInfo(INT Index) } \ ADD_TEXT(IDS_AINFO_VERSION, Info->szVersion, CFE_BOLD, 0); - ADD_TEXT(IDS_AINFO_LICENCE, Info->szLicence, CFE_BOLD, 0); + ADD_TEXT(IDS_AINFO_LICENSE, Info->szLicense, CFE_BOLD, 0); ADD_TEXT(IDS_AINFO_SIZE, Info->szSize, CFE_BOLD, 0); ADD_TEXT(IDS_AINFO_URLSITE, Info->szUrlSite, CFE_BOLD, CFE_LINK); ADD_TEXT(IDS_AINFO_DESCRIPTION, Info->szDesc, CFE_BOLD, 0); @@ -217,7 +217,7 @@ EnumAvailableApplications(INT EnumType, AVAILENUMPROC lpEnumProc) GET_STRING2(L"RegName", Info.szRegName); GET_STRING2(L"Version", Info.szVersion); - GET_STRING2(L"Licence", Info.szLicence); + GET_STRING2(L"License", Info.szLicense); GET_STRING2(L"Description", Info.szDesc); GET_STRING2(L"Size", Info.szSize); GET_STRING2(L"URLSite", Info.szUrlSite); diff --git a/base/applications/rapps/lang/bg-BG.rc b/base/applications/rapps/lang/bg-BG.rc index 647756a7379..5eac70d6aa0 100644 --- a/base/applications/rapps/lang/bg-BG.rc +++ b/base/applications/rapps/lang/bg-BG.rc @@ -151,7 +151,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nОписание: " IDS_AINFO_SIZE "\nРазмер: " IDS_AINFO_URLSITE "\nДомашна страница: " - IDS_AINFO_LICENCE "\nРазрешително: " + IDS_AINFO_LICENSE "\nРазрешително: " END STRINGTABLE diff --git a/base/applications/rapps/lang/cs-CZ.rc b/base/applications/rapps/lang/cs-CZ.rc index 3f037363368..168098b70c0 100644 --- a/base/applications/rapps/lang/cs-CZ.rc +++ b/base/applications/rapps/lang/cs-CZ.rc @@ -152,7 +152,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nPopis: " IDS_AINFO_SIZE "\nVelikost: " IDS_AINFO_URLSITE "\nDomovská stránka: " - IDS_AINFO_LICENCE "\nLicence: " + IDS_AINFO_LICENSE "\nLicense: " END STRINGTABLE diff --git a/base/applications/rapps/lang/de-DE.rc b/base/applications/rapps/lang/de-DE.rc index f32a3762b78..68c0f7a0529 100644 --- a/base/applications/rapps/lang/de-DE.rc +++ b/base/applications/rapps/lang/de-DE.rc @@ -147,7 +147,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nBeschreibung: " IDS_AINFO_SIZE "\nGröße: " IDS_AINFO_URLSITE "\nHomepage: " - IDS_AINFO_LICENCE "\nLizenz: " + IDS_AINFO_LICENSE "\nLizenz: " END STRINGTABLE diff --git a/base/applications/rapps/lang/en-US.rc b/base/applications/rapps/lang/en-US.rc index 3333836ed8c..53daebbd5c4 100644 --- a/base/applications/rapps/lang/en-US.rc +++ b/base/applications/rapps/lang/en-US.rc @@ -147,7 +147,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nDescription: " IDS_AINFO_SIZE "\nSize: " IDS_AINFO_URLSITE "\nHome Page: " - IDS_AINFO_LICENCE "\nLicense: " + IDS_AINFO_LICENSE "\nLicense: " END STRINGTABLE diff --git a/base/applications/rapps/lang/es-ES.rc b/base/applications/rapps/lang/es-ES.rc index 8dcab10cbd6..9e685dca37c 100644 --- a/base/applications/rapps/lang/es-ES.rc +++ b/base/applications/rapps/lang/es-ES.rc @@ -1,3 +1,6 @@ +/* Spanish Language resource file. + * Translated by: ?? and Ismael Ferreras Morezuelas <2014-11-07> */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL IDR_MAINMENU MENU @@ -14,11 +17,11 @@ BEGIN MENUITEM "&Desinstalar", ID_UNINSTALL MENUITEM "&Modificar", ID_MODIFY MENUITEM SEPARATOR - MENUITEM "&Eliminar del registro", ID_REGREMOVE + MENUITEM "&Eliminar del Registro", ID_REGREMOVE MENUITEM SEPARATOR - MENUITEM "&Refrescar", ID_REFRESH + MENUITEM "&Recargar", ID_REFRESH MENUITEM SEPARATOR - MENUITEM "Update Da&tabase", ID_RESETDB + MENUITEM "&Actualizar el listado desde Internet", ID_RESETDB END POPUP "Ayuda" BEGIN @@ -44,11 +47,11 @@ BEGIN MENUITEM "&Desinstalar", ID_UNINSTALL MENUITEM "&Modificar", ID_MODIFY MENUITEM SEPARATOR - MENUITEM "&Eliminar del registro", ID_REGREMOVE + MENUITEM "&Eliminar del Registro", ID_REGREMOVE MENUITEM SEPARATOR - MENUITEM "&Refrescar", ID_REFRESH + MENUITEM "&Recargar", ID_REFRESH MENUITEM SEPARATOR - MENUITEM "Update Da&tabase", ID_RESETDB + MENUITEM "&Actualizar listado desde Internet", ID_RESETDB END END @@ -61,7 +64,7 @@ BEGIN AUTOCHECKBOX "&Guardar posición de la ventana", IDC_SAVE_WINDOW_POS, 15, 12, 219, 12 AUTOCHECKBOX "&Actualizar la lista de programas accesibles al comenzar", IDC_UPDATE_AVLIST, 15, 29, 222, 12 AUTOCHECKBOX "&Registro de programas instalados y desinstalados", IDC_LOG_ENABLED, 15, 46, 219, 12 - GROUPBOX "Descargando ", -1, 4, 65, 240, 51 + GROUPBOX "Descargas", -1, 4, 65, 240, 51 LTEXT "Carpeta de descargas:", -1, 16, 75, 100, 9 EDITTEXT IDC_DOWNLOAD_DIR_EDIT, 15, 86, 166, 12, WS_CHILD | WS_VISIBLE | WS_GROUP | ES_AUTOHSCROLL PUSHBUTTON "&Seleccionar", IDC_CHOOSE, 187, 85, 50, 14 @@ -80,12 +83,12 @@ BEGIN AUTORADIOBUTTON "&Instalar desde un disco (CD o DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP AUTORADIOBUTTON "&Descargar e instalar", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP PUSHBUTTON "Aceptar", IDOK, 86, 78, 60, 14 - PUSHBUTTON "Cancelas", IDCANCEL, 150, 78, 60, 14 + PUSHBUTTON "Cancelar", IDCANCEL, 150, 78, 60, 14 END IDD_DOWNLOAD_DIALOG DIALOGEX 0, 0, 220, 76 STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE -CAPTION "Descargar..." +CAPTION "Descargando..." FONT 8, "MS Shell Dlg" BEGIN CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12 @@ -98,7 +101,7 @@ STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME CAPTION "Acerca de" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "ReactOS Applications Manager\nCopyright (C) 2009\nby Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39 + LTEXT "Administrador de aplicaciones de ReactOS\nCopyright (C) 2009\nCreado por Dmitry Chapyshev (dmitry@reactos.org)", IDC_STATIC, 48, 7, 130, 39 PUSHBUTTON "Cerrar", IDOK, 133, 46, 50, 14 ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30 END @@ -109,7 +112,7 @@ BEGIN IDS_TOOLTIP_UNINSTALL "Desinstalar" IDS_TOOLTIP_MODIFY "Modificar" IDS_TOOLTIP_SETTINGS "Ajustes" - IDS_TOOLTIP_REFRESH "Refrescar" + IDS_TOOLTIP_REFRESH "Recargar" IDS_TOOLTIP_EXIT "Salir" END @@ -127,18 +130,18 @@ BEGIN IDS_INFO_PUBLISHER "\nAutor: " IDS_INFO_HELPLINK "\nEnlace de ayuda: " IDS_INFO_HELPPHONE "\nTeléfono de ayuda: " - IDS_INFO_README "\nLeeme: " - IDS_INFO_REGOWNER "\nUsuario registrador: " + IDS_INFO_README "\nLéeme: " + IDS_INFO_REGOWNER "\nUsuario registrado: " IDS_INFO_PRODUCTID "\nID Producto: " IDS_INFO_CONTACT "\nContacto: " IDS_INFO_UPDATEINFO "\nInformación actualización: " - IDS_INFO_INFOABOUT "\nInformación Acerca de: " + IDS_INFO_INFOABOUT "\nInformación sobre el programa: " IDS_INFO_COMMENTS "\nComentarios: " - IDS_INFO_INSTLOCATION "\nLocalización de instalación: " + IDS_INFO_INSTLOCATION "\nCarpeta de instalación: " IDS_INFO_INSTALLSRC "\nOrigen de instalación: " IDS_INFO_UNINSTALLSTR "\nComando de desinstalación: " - IDS_INFO_MODIFYPATH "\nRuta modificada: " - IDS_INFO_INSTALLDATE "\nFecha instalación: " + IDS_INFO_MODIFYPATH "\nRuta de modificación: " + IDS_INFO_INSTALLDATE "\nFecha de instalación: " END STRINGTABLE @@ -147,46 +150,46 @@ BEGIN IDS_AINFO_DESCRIPTION "\nDescripción: " IDS_AINFO_SIZE "\nTamaño: " IDS_AINFO_URLSITE "\nPágina Web: " - IDS_AINFO_LICENCE "\nLicencia: " + IDS_AINFO_LICENSE "\nLicencia: " END STRINGTABLE BEGIN IDS_CAT_AUDIO "Audio" IDS_CAT_DEVEL "Desarrollo" - IDS_CAT_DRIVERS "Drivers" + IDS_CAT_DRIVERS "Controladores" IDS_CAT_EDU "Educación" IDS_CAT_ENGINEER "Ingeniería" IDS_CAT_FINANCE "Finanzas" - IDS_CAT_GAMES "Juegos y Entretenimiento" + IDS_CAT_GAMES "Juegos y entretenimiento" IDS_CAT_GRAPHICS "Gráficos" - IDS_CAT_INTERNET "Internet & Redes" - IDS_CAT_LIBS "Librerias" + IDS_CAT_INTERNET "Internet y redes" + IDS_CAT_LIBS "Bibliotecas" IDS_CAT_OFFICE "Oficina" IDS_CAT_OTHER "Otros" IDS_CAT_SCIENCE "Ciencia" IDS_CAT_TOOLS "Herramientas" - IDS_CAT_VIDEO "Video" + IDS_CAT_VIDEO "Vídeo" END STRINGTABLE BEGIN - IDS_APPTITLE "ReactOS Applications Manager" + IDS_APPTITLE "Administrador de aplicaciones de ReactOS" IDS_SEARCH_TEXT "Buscar..." IDS_INSTALL "Instalar" IDS_UNINSTALL "Desinstalar" IDS_MODIFY "Modificar" - IDS_APPS_COUNT "Cantidad de aplicaciones: %d" - IDS_WELCOME_TITLE "Bienvenido a ReactOS Applications Manager!\n\n" - IDS_WELCOME_TEXT "Seleccione una categoría a la izquierda, posteriormente seleccione la aplicación a instalar o desinstalar.\nReactOS Web: " + IDS_APPS_COUNT "Número de aplicaciones: %d" + IDS_WELCOME_TITLE "Bienvenido al Administrador de aplicaciones de ReactOS.\n\n" + IDS_WELCOME_TEXT "Seleccione una categoría a la izquierda, para más tarde seleccionar la aplicación a instalar o desinstalar.\nWeb de ReactOS: " IDS_WELCOME_URL "http://www.reactos.org" IDS_INSTALLED "Instaladas" - IDS_AVAILABLEFORINST "Disponible para instalación" + IDS_AVAILABLEFORINST "Disponible para su instalación" IDS_UPDATES "Actualizaciones" 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_APP_REG_REMOVE "¿Esta seguro que quiere borrar los datos del programa instalado del registro?" + IDS_APP_REG_REMOVE "¿Está seguro de querer borrar del Registro los datos de instalación del programa?" IDS_INFORMATION "Información" - IDS_UNABLE_TO_REMOVE "!Imposible eliminar los datos del programa del registro!" + IDS_UNABLE_TO_REMOVE "¡No se pudieron borrar del Registro los datos de instalación del programa!" END diff --git a/base/applications/rapps/lang/fr-FR.rc b/base/applications/rapps/lang/fr-FR.rc index b57643333e3..397e4338af5 100644 --- a/base/applications/rapps/lang/fr-FR.rc +++ b/base/applications/rapps/lang/fr-FR.rc @@ -147,7 +147,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nDescription: " IDS_AINFO_SIZE "\nTaille : " IDS_AINFO_URLSITE "\nSite internet : " - IDS_AINFO_LICENCE "\nLicence: " + IDS_AINFO_LICENSE "\nLicense: " END STRINGTABLE diff --git a/base/applications/rapps/lang/he-IL.rc b/base/applications/rapps/lang/he-IL.rc index d53d833f77e..d528b8551d8 100644 --- a/base/applications/rapps/lang/he-IL.rc +++ b/base/applications/rapps/lang/he-IL.rc @@ -149,7 +149,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nתיאור: " IDS_AINFO_SIZE "\nגודל: " IDS_AINFO_URLSITE "\nדף בית: " - IDS_AINFO_LICENCE "\nרישיון: " + IDS_AINFO_LICENSE "\nרישיון: " END STRINGTABLE diff --git a/base/applications/rapps/lang/it-IT.rc b/base/applications/rapps/lang/it-IT.rc index 595b35ea7c9..6d000486fa3 100644 --- a/base/applications/rapps/lang/it-IT.rc +++ b/base/applications/rapps/lang/it-IT.rc @@ -147,7 +147,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nDescrizione: " IDS_AINFO_SIZE "\nDimensione: " IDS_AINFO_URLSITE "\nHome Page: " - IDS_AINFO_LICENCE "\nLicenza: " + IDS_AINFO_LICENSE "\nLicenza: " END STRINGTABLE diff --git a/base/applications/rapps/lang/ja-JP.rc b/base/applications/rapps/lang/ja-JP.rc index a49e4b91bc4..b63c6207eb4 100644 --- a/base/applications/rapps/lang/ja-JP.rc +++ b/base/applications/rapps/lang/ja-JP.rc @@ -147,7 +147,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\n概要: " IDS_AINFO_SIZE "\nサイズ: " IDS_AINFO_URLSITE "\nホームページ: " - IDS_AINFO_LICENCE "\nライセンス: " + IDS_AINFO_LICENSE "\nライセンス: " END STRINGTABLE diff --git a/base/applications/rapps/lang/no-NO.rc b/base/applications/rapps/lang/no-NO.rc index f93acbee9fc..25bd694472e 100644 --- a/base/applications/rapps/lang/no-NO.rc +++ b/base/applications/rapps/lang/no-NO.rc @@ -147,7 +147,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nBeskrivelse: " IDS_AINFO_SIZE "\nStørrelse: " IDS_AINFO_URLSITE "\nHjemmeside: " - IDS_AINFO_LICENCE "\nLisens: " + IDS_AINFO_LICENSE "\nLisens: " END STRINGTABLE diff --git a/base/applications/rapps/lang/pl-PL.rc b/base/applications/rapps/lang/pl-PL.rc index 7b1bca716f9..97d032e569d 100644 --- a/base/applications/rapps/lang/pl-PL.rc +++ b/base/applications/rapps/lang/pl-PL.rc @@ -155,7 +155,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nOpis: " IDS_AINFO_SIZE "\nRozmiar: " IDS_AINFO_URLSITE "\nStrona: " - IDS_AINFO_LICENCE "\nLicencja: " + IDS_AINFO_LICENSE "\nLicencja: " END STRINGTABLE diff --git a/base/applications/rapps/lang/pt-BR.rc b/base/applications/rapps/lang/pt-BR.rc index 1ff56b713bf..21f6d1f5a19 100644 --- a/base/applications/rapps/lang/pt-BR.rc +++ b/base/applications/rapps/lang/pt-BR.rc @@ -149,7 +149,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nDescrição: " IDS_AINFO_SIZE "\nTamanho: " IDS_AINFO_URLSITE "\nPágina: " - IDS_AINFO_LICENCE "\nLicença: " + IDS_AINFO_LICENSE "\nLicença: " END STRINGTABLE diff --git a/base/applications/rapps/lang/ro-RO.rc b/base/applications/rapps/lang/ro-RO.rc index 3f86fce3857..66327701486 100644 --- a/base/applications/rapps/lang/ro-RO.rc +++ b/base/applications/rapps/lang/ro-RO.rc @@ -65,13 +65,13 @@ FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Generale", -1, 4, 2, 240, 61 AUTOCHECKBOX "&Păstrează poziția ferestrei", IDC_SAVE_WINDOW_POS, 15, 12, 219, 12 - AUTOCHECKBOX "&Actualizează la pornire lista aplicațiilor disponibile", IDC_UPDATE_AVLIST, 15, 29, 222, 12 - AUTOCHECKBOX "&Menține jurnal de instalare/dezinstalare a aplicațiilor", IDC_LOG_ENABLED, 15, 46, 219, 12 + AUTOCHECKBOX "&Actualizează la pornire lista programelor disponibile", IDC_UPDATE_AVLIST, 15, 29, 222, 12 + AUTOCHECKBOX "&Menține jurnal de instalare/dezinstalare a programelor", IDC_LOG_ENABLED, 15, 46, 219, 12 GROUPBOX "Descărcări", -1, 4, 65, 240, 51 LTEXT "Dosarul pentru descărcări:", -1, 16, 75, 100, 9 EDITTEXT IDC_DOWNLOAD_DIR_EDIT, 15, 86, 166, 12, WS_CHILD | WS_VISIBLE | WS_GROUP | ES_AUTOHSCROLL PUSHBUTTON "Spe&cificare…", IDC_CHOOSE, 187, 85, 50, 14 - AUTOCHECKBOX "Șt&erge instalatorul aplicației după instalare", IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12 + AUTOCHECKBOX "Șt&erge aplicația de instalare după instalarea programului", IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12 PUSHBUTTON "&Implicite", IDC_DEFAULT_SETTINGS, 8, 124, 60, 14 PUSHBUTTON "Con&firmă", IDOK, 116, 124, 60, 14 PUSHBUTTON "A&nulează", IDCANCEL, 181, 124, 60, 14 @@ -153,7 +153,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nDescriere: " IDS_AINFO_SIZE "\nDimensiune: " IDS_AINFO_URLSITE "\nPagină web: " - IDS_AINFO_LICENCE "\nLicență: " + IDS_AINFO_LICENSE "\nLicență: " END STRINGTABLE diff --git a/base/applications/rapps/lang/ru-RU.rc b/base/applications/rapps/lang/ru-RU.rc index afd0cb3500b..4275a76d314 100644 --- a/base/applications/rapps/lang/ru-RU.rc +++ b/base/applications/rapps/lang/ru-RU.rc @@ -147,7 +147,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nОписание: " IDS_AINFO_SIZE "\nРазмер: " IDS_AINFO_URLSITE "\nДомашняя страница: " - IDS_AINFO_LICENCE "\nЛицензия: " + IDS_AINFO_LICENSE "\nЛицензия: " END STRINGTABLE diff --git a/base/applications/rapps/lang/sk-SK.rc b/base/applications/rapps/lang/sk-SK.rc index cc6e16d1355..1ee9dc620e7 100644 --- a/base/applications/rapps/lang/sk-SK.rc +++ b/base/applications/rapps/lang/sk-SK.rc @@ -152,7 +152,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nPopis: " IDS_AINFO_SIZE "\nVeľkosť: " IDS_AINFO_URLSITE "\nDomovská stránka: " - IDS_AINFO_LICENCE "\nLicencia: " + IDS_AINFO_LICENSE "\nLicencia: " END STRINGTABLE diff --git a/base/applications/rapps/lang/sq-AL.rc b/base/applications/rapps/lang/sq-AL.rc index 9c0e6d7d76f..814512e9bab 100644 --- a/base/applications/rapps/lang/sq-AL.rc +++ b/base/applications/rapps/lang/sq-AL.rc @@ -151,7 +151,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nPershkrimi: " IDS_AINFO_SIZE "\nMasa: " IDS_AINFO_URLSITE "\nHome Page: " - IDS_AINFO_LICENCE "\nLicenca: " + IDS_AINFO_LICENSE "\nLicenca: " END STRINGTABLE diff --git a/base/applications/rapps/lang/sv-SE.rc b/base/applications/rapps/lang/sv-SE.rc index 34054adfadd..18e0c5e913d 100644 --- a/base/applications/rapps/lang/sv-SE.rc +++ b/base/applications/rapps/lang/sv-SE.rc @@ -154,7 +154,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nBeskrivning: " IDS_AINFO_SIZE "\nStorlek: " IDS_AINFO_URLSITE "\nHemsida: " - IDS_AINFO_LICENCE "\nLicens: " + IDS_AINFO_LICENSE "\nLicens: " END STRINGTABLE diff --git a/base/applications/rapps/lang/tr-TR.rc b/base/applications/rapps/lang/tr-TR.rc index bd117efaadd..01c8ce8173a 100644 --- a/base/applications/rapps/lang/tr-TR.rc +++ b/base/applications/rapps/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -60,9 +60,9 @@ CAPTION "Ayarlar" FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Umûmî", -1, 4, 2, 240, 61 - AUTOCHECKBOX "&Pencere Konumunu Kaydet", IDC_SAVE_WINDOW_POS, 15, 12, 219, 12 + AUTOCHECKBOX "&Pencere Konumunu Sakla", IDC_SAVE_WINDOW_POS, 15, 12, 219, 12 AUTOCHECKBOX "&Başlangıçta Erişilebilir İzlencelerin Dizelgesini Yenile", IDC_UPDATE_AVLIST, 15, 29, 222, 12 - AUTOCHECKBOX "&İzlencelerin Kuruluşlarını ve Kaldırılışlarını Kaydet", IDC_LOG_ENABLED, 15, 46, 219, 12 + AUTOCHECKBOX "&İzlencelerin Kuruluşlarını ve Kaldırılışlarını Sakla", IDC_LOG_ENABLED, 15, 46, 219, 12 GROUPBOX "İndirme", -1, 4, 65, 240, 51 LTEXT "İndirme Dizini:", -1, 16, 75, 100, 9 EDITTEXT IDC_DOWNLOAD_DIR_EDIT, 15, 86, 166, 12, WS_CHILD | WS_VISIBLE | WS_GROUP | ES_AUTOHSCROLL @@ -149,7 +149,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nAçıklaması: " IDS_AINFO_SIZE "\nBüyüklüğü: " IDS_AINFO_URLSITE "\nAna Sayfası: " - IDS_AINFO_LICENCE "\nRuhsatı: " + IDS_AINFO_LICENSE "\nRuhsatı: " END STRINGTABLE diff --git a/base/applications/rapps/lang/uk-UA.rc b/base/applications/rapps/lang/uk-UA.rc index b42b37d3fe2..8c88bcc735f 100644 --- a/base/applications/rapps/lang/uk-UA.rc +++ b/base/applications/rapps/lang/uk-UA.rc @@ -155,7 +155,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\nОпис: " IDS_AINFO_SIZE "\nРозмір: " IDS_AINFO_URLSITE "\nДомашня сторінка: " - IDS_AINFO_LICENCE "\nЛіцензія: " + IDS_AINFO_LICENSE "\nЛіцензія: " END STRINGTABLE diff --git a/base/applications/rapps/lang/zh-CN.rc b/base/applications/rapps/lang/zh-CN.rc index 87f514c39a9..c62fdd26f28 100644 --- a/base/applications/rapps/lang/zh-CN.rc +++ b/base/applications/rapps/lang/zh-CN.rc @@ -149,7 +149,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\n描述:" IDS_AINFO_SIZE "\n大小:" IDS_AINFO_URLSITE "\n主页:" - IDS_AINFO_LICENCE "\n协议:" + IDS_AINFO_LICENSE "\n协议:" END STRINGTABLE diff --git a/base/applications/rapps/lang/zh-TW.rc b/base/applications/rapps/lang/zh-TW.rc index d2f16da7b76..36494401db2 100644 --- a/base/applications/rapps/lang/zh-TW.rc +++ b/base/applications/rapps/lang/zh-TW.rc @@ -149,7 +149,7 @@ BEGIN IDS_AINFO_DESCRIPTION "\n描述:" IDS_AINFO_SIZE "\n大小:" IDS_AINFO_URLSITE "\n主頁:" - IDS_AINFO_LICENCE "\n協議:" + IDS_AINFO_LICENSE "\n協議:" END STRINGTABLE diff --git a/base/applications/rapps/rapps.h b/base/applications/rapps/rapps.h index 853d991eb30..a710f2c118a 100644 --- a/base/applications/rapps/rapps.h +++ b/base/applications/rapps/rapps.h @@ -73,7 +73,7 @@ typedef struct WCHAR szName[MAX_PATH]; WCHAR szRegName[MAX_PATH]; WCHAR szVersion[MAX_PATH]; - WCHAR szLicence[MAX_PATH]; + WCHAR szLicense[MAX_PATH]; WCHAR szDesc[MAX_PATH]; WCHAR szSize[MAX_PATH]; WCHAR szUrlSite[MAX_PATH]; diff --git a/base/applications/rapps/rapps/7zip.txt b/base/applications/rapps/rapps/7zip.txt index 859768f4c8d..8ee49b47036 100644 --- a/base/applications/rapps/rapps/7zip.txt +++ b/base/applications/rapps/rapps/7zip.txt @@ -4,7 +4,7 @@ [Section] Name = 7-Zip Version = 9.34a -Licence = LGPL +License = LGPL Description = A file archiving utility with support for 7zip, zip, tar, rar and many other archive formats. Size = 1.14 MB Category = 12 @@ -35,6 +35,9 @@ Description = Narzędzie do tworzenia i otwierania plików typu 7zip, zip, tar, Description = Un utilitar de arhivare a fișierelor, compatibil cu 7zip, zip, tar, rar și multe alte formate de arhive. Size = 1,14 Mo +[Section.0419] +Description = Утилита для создания и открытия 7zip, zip, tar, rar и других архивных файлов. + [Section.041f] Description = 7zip, zip, tar, rar ve başka birçok belgelik biçimi destekli bir kütük belgelikleme aracı. Size = 1,14 MB diff --git a/base/applications/rapps/rapps/abiword.txt b/base/applications/rapps/rapps/abiword.txt index c15f48bb4f1..434344b5381 100644 --- a/base/applications/rapps/rapps/abiword.txt +++ b/base/applications/rapps/rapps/abiword.txt @@ -4,7 +4,7 @@ [Section] Name = AbiWord Version = 2.9.4 -Licence = GPL +License = GPL Description = Word processor. Size = 9.4 MB Category = 6 diff --git a/base/applications/rapps/rapps/abiword26.txt b/base/applications/rapps/rapps/abiword26.txt index a2d9635fb2a..6f94c3210ce 100644 --- a/base/applications/rapps/rapps/abiword26.txt +++ b/base/applications/rapps/rapps/abiword26.txt @@ -4,7 +4,7 @@ [Section] Name = AbiWord Version = 2.6.8 -Licence = GPL +License = GPL Description = Word processor. Size = 5.64 MB Category = 6 diff --git a/base/applications/rapps/rapps/abyss.txt b/base/applications/rapps/rapps/abyss.txt index 5085c32717a..3e7b296f2c9 100644 --- a/base/applications/rapps/rapps/abyss.txt +++ b/base/applications/rapps/rapps/abyss.txt @@ -4,9 +4,9 @@ [Section] Name = Abyss Web server X1 Version = 2.9.3.5 -Licence = Freeware +License = 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.1 MB +Size = 2.06 MB Category = 5 URLSite = http://www.aprelium.com/ URLDownload = http://www.aprelium.com/data/abwsx1.exe @@ -20,7 +20,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 = 2,1 Mo +Size = 2,06 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. @@ -34,15 +34,15 @@ 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ă +License = 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 = 2,1 Mo +Size = 2,06 Mo [Section.041f] Name = Abyss Umûmî Ağ Sunucusu X1 -Licence = Ücretsiz +License = Ücretsiz Description = Abyss Umûmî Ağ Sunucusu, bilgisayarınızda Umûmî Ağ sitelerinizin barındırılmasına olanak sağlar. Umûmî Ağ uygulayım biliminin bir geniş yelpâzesiyle birlikte güvenli SSL/TLS bağlantılarını (HTTPS) destekler. Ayrıca MySQL, SQLite, MS SQL Server, MS Access, ve Oracle gibi veri tabanlarıyla desteklenebilen gelişmiş PHP, Perl, Python, ASP, ASP.NET ve Rails üzerinde Ruby Umûmî Ağ uygulamalarını çalıştırabilir. -Size = 2,1 MB +Size = 2,06 MB [Section.0422] Description = Abyss Web Server дозволить вам утримувати веб-сайти на вашому комп'ютері. Від підтримує безпечні SSL/TLS з'єднання (HTTPS) та великий ряд веб-технологій. Він також запускає PHP, Perl, Python, ASP, ASP.NET, та Ruby on Rails веб-додатки, які можуть підтримуватись такими базами даних, як MySQL, SQLite, MS SQL Server, MS Access, чи Oracle. diff --git a/base/applications/rapps/rapps/ac97forvirtualbox.txt b/base/applications/rapps/rapps/ac97forvirtualbox.txt index dd4b00e476f..6c96dcb0d84 100644 --- a/base/applications/rapps/rapps/ac97forvirtualbox.txt +++ b/base/applications/rapps/rapps/ac97forvirtualbox.txt @@ -4,7 +4,7 @@ [Section] Name = AC97 Driver for VirtualBox Version = 5.10.00.3610 -Licence = Unknown +License = Unknown Description = Unzip in the ReactOS's folder then restart ReactOS twice. Size = 185.5 kB Category = 13 @@ -13,12 +13,12 @@ CDPath = none [Section.0405] Name = Ovladač AC97 pro VirtualBox -Licence = Neznámá +License = Neznámá Description = Rozbalte do složky "ReactOS" a pak ReactOS dvakrát restartujte. [Section.0407] Name = AC97 Treiber für VirtualBox -Licence = Unbekannt +License = Unbekannt Description = Entpacken in das "ReactOS"-Verzeichnis und ReactOS zweimal neustarten. [Section.0410] @@ -28,53 +28,53 @@ Descrizione = Estrarre nella cartella "ReactOS" e poi riavviare ReactOs due volt [Section.040a] Name = Driver AC97 para VirtualBox -Licence = Desconocida +License = Desconocida Description = Descomprimir en la carpeta "Reactos" y reiniciar Reactos dos veces. [Section.040c] Name = Pilote AC97 pour VirtualBox -Licence = Inconnue +License = Inconnue Description = Décompresser dans le dossier "ReactOS" puis redémarrer ReactOS deux fois. Size = 185,5 ko [Section.0410] Name = Driver AC97 per VirtualBox -Licence = Sconosciuta +License = Sconosciuta Description = Decomprimere nella cartella "ReactOS" e riavviare ReactOS. [Section.0413] Name = AC97 Driver voor VirtualBox -Licence = Ongekend +License = Ongekend Description = Pak uit in de "ReactOS" map en start tweemaal opnieuw op. [Section.0415] Name = Sterownik AC97 dla VirtualBox -Licence = Nieznana +License = Nieznana Description = Rozpakuj zawartość w folderze "ReactOS" i dwukrotnie zrestartuj system. [Section.0418] Name = Modul pilot AC97 pentru VirtualBox -Licence = Nespecificată +License = Nespecificată Description = Dezarhivați în dosarul ReactOS apoi reporniți ReactOS de două ori. Size = 185,5 ko [Section.0419] Name = Драйвер AC97 для VirtualBox -Licence = Не указано +License = Не указано Description = Pазархивируйте содержимое в папку "ReactOS", затем дважды перезагрузите систему. [Section.041f] Name = VirtualBox için AC97 Sürücüsü -Licence = Bilinmiyor +License = Bilinmiyor Description = ReactOS'un dizinine çıkartınız, sonra bilgisayarı iki kez yeniden başlatınız. Size = 185,5 KB [Section.0422] Name = Драйвер AC97 для VirtualBox -Licence = Невідома +License = Невідома Description = Pозархівуйте вміст в теку "ReactOS" після чого двічі перезавантажте систему. [Section.0813] Name = AC97 Driver voor VirtualBox -Licence = Ongekend +License = Ongekend Description = Pak uit in de "ReactOS" map en start tweemaal opnieuw op. diff --git a/base/applications/rapps/rapps/alreader.txt b/base/applications/rapps/rapps/alreader.txt index 173cbe2a7d9..d83701d72e7 100644 --- a/base/applications/rapps/rapps/alreader.txt +++ b/base/applications/rapps/rapps/alreader.txt @@ -5,7 +5,7 @@ Name = AlReader Description = A FB2 eBook Reader. Supported read formats: fb2, fbz, txt, epub, html, doc, docx, odt, rtf, mobi, prc (PalmDoc), tcr. Supported ZIP and GZ archives. URLSite = http://www.alreader.com -Size = 4.6 MB +Size = 4.56 MB Category = 6 URLDownload = http://svn.reactos.org/packages/AlReader2Setup.exe CDPath = none @@ -21,8 +21,8 @@ Description = Czytnik eBooków. Obsługuje formaty: fb2, fbz, txt, epub, html, d [Section.0418] Description = Un cititor de cărți electronice. Poate citi fișiere de tip: fb2, fbz, txt, epub, html, doc, docx, odt, rtf, mobi, prc (PalmDoc), tcr. Include suport pentru arhive ZIP și GZ. -Size = 4,6 Mo +Size = 4,56 Mo [Section.041f] Description = Bir FB2 elektronik kitap okuyucusu. Desteklenen okuma biçimleri: fb2, fbz, txt, epub, html, doc, docx, odt, rtf, mobi, prc (PalmDoc), tcr. ZIP ve GZ belgeliklerini destekler. -Size = 4,6 MB +Size = 4,56 MB diff --git a/base/applications/rapps/rapps/ants.txt b/base/applications/rapps/rapps/ants.txt deleted file mode 100644 index dad3be18ecd..00000000000 --- a/base/applications/rapps/rapps/ants.txt +++ /dev/null @@ -1,34 +0,0 @@ -; UTF-8 -; Polish translation by wojo664 -; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) - -[Section] -Name = Ants -Version = N/A -Licence = Freeware -Description = A card strategic game. Build your own castle and try to destroy enemy castle. You need a ZIP decompression program to install it. -Size = 632 kB -Category = 4 -URLSite = http://peter.hostuju.cz/ -URLDownload = http://petr.hostuju.cz/program/download/ANTS.zip -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.0410] -Description = Un gioco di carte strategico. Costruisci il tuo castello e prova a distruggere il castello nemico. Necessita di un programma di estrazione ZIP per essere installato. - -[Section.0415] -Description = Karciana gra strategiczna. Budujesz zamek, przy okazji próbujesz zniszczyć zamek wroga. Wymaga programu archiwizującego do wypakowania. - -[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] -Version = Yok -Licence = Ücretsiz -Description = Bir kartlarla izlem oyunu. Kendi kurganınızı yapınız ve rakip kaleyi yıkmaya çalışınız. Kurmak için bir ZIP çıkartma izlencesi gerekir. -Size = 632 KB diff --git a/base/applications/rapps/rapps/audiograbber.txt b/base/applications/rapps/rapps/audiograbber.txt index 9c7410cb103..40900e09225 100644 --- a/base/applications/rapps/rapps/audiograbber.txt +++ b/base/applications/rapps/rapps/audiograbber.txt @@ -4,12 +4,12 @@ [Section] Name = Audio Grabber Version = 1.83 SE -Licence = Freeware +License = Freeware Description = A very good CD Ripper/Audio File Converter. -Size = 4.35 MB +Size = 3.43 MB Category = 1 URLSite = http://www.audiograbber.de/ -URLDownload = http://www.audiograbber.de/files/4898276276/agsetup183se.exe +URLDownload = http://ftp.freenet.de/pub/filepilot/fpt/audio/bearbeitung/audiograbber/agsetup183se.exe CDPath = none [Section.0407] @@ -23,7 +23,7 @@ Description = Un buen CD Ripper/ conversor de archivos de audio. [Section.040c] Description = Un très bon extracteur de CD/convertisseur de fichier audio. -Size = 4,35 Mo +Size = 3,43 Mo [Section.0410] Description = Un ottimo CD Ripper/Audio File Converter. @@ -35,14 +35,14 @@ Description = Een goede CD Ripper/Audio-bestandsomzetter. Description = Bardzo dobry CD Ripper/konwerter plików audio. [Section.0418] -Licence = Gratuită +License = Gratuită Description = Program de extragere conținuturi CD audio și de conversie a fișierelor de sunet. -Size = 4,35 Mo +Size = 3,43 Mo [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = Çok iyi bir CD ripleyicisi ve ses kütüğü dönüştürücüsü. -Size = 4,35 MB +Size = 3,43 MB [Section.0422] Description = Чудовий CD Ріппер/Конвертер аудіо файлів. diff --git a/base/applications/rapps/rapps/bittorrent.txt b/base/applications/rapps/rapps/bittorrent.txt index 6fe557e1a7b..3c752f55217 100644 --- a/base/applications/rapps/rapps/bittorrent.txt +++ b/base/applications/rapps/rapps/bittorrent.txt @@ -4,31 +4,31 @@ [Section] Name = BitTorrent Version = 7.9.2 -Licence = Freeware for non-commercial uses +License = Freeware for non-commercial uses Description = The Original BitTorrent Client. -Size = 1.9 MB +Size = 1.61 MB Category = 5 URLSite = http://www.bittorrent.com/ URLDownload = http://download-new.utorrent.com/endpoint/bittorrent/os/windows/track/stable/BitTorrent.exe CDPath = none [Section.0407] -Licence = Freeware für nichtkommerzielle Nutzung +License = Freeware für nichtkommerzielle Nutzung Description = Der Original BitTorrent Client. [Section.0410] Description = L'originale Client BitTorrent. [Section.0415] -Licence = Freeware dla użytku niekomercyjnego +License = Freeware dla użytku niekomercyjnego Description = Oryginalny klient BitTorrent. [Section.0418] -Licence = Gratuită pentru uz necomercial +License = Gratuită pentru uz necomercial Description = Originalul client BitTorrent. -Size = 1,9 Mo +Size = 1,61 Mo [Section.041f] -Licence = Tecimlik olmayan kullanımlar için ücretsiz. +License = Tecimlik olmayan kullanımlar için ücretsiz. Description = Özgün BitTorrent istemcisi. -Size = 1,9 MB +Size = 1,61 MB diff --git a/base/applications/rapps/rapps/bochs.txt b/base/applications/rapps/rapps/bochs.txt index 584b555be01..b99f6217595 100644 --- a/base/applications/rapps/rapps/bochs.txt +++ b/base/applications/rapps/rapps/bochs.txt @@ -5,7 +5,7 @@ [Section] Name = Bochs Version = 2.6.6 -Licence = LGPL v2 +License = LGPL v2 Description = Bochs is a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most popular platforms. Size = 4.7 MB Category = 15 @@ -27,6 +27,6 @@ Description = Bochs este un emulator PC (x86) cu surse deschise și portabilitat Size = 4,7 Mo [Section.041f] -Licence = LGPL 2. sürüm +License = LGPL 2. sürüm Description = Bochs; çok taşınabilir, C++ ile yazılmış, en yaygın platformlarda çalışan, açık kaynak bir IA-32 (x86) PC öykünücüsüdür. Size = 4,7 MB diff --git a/base/applications/rapps/rapps/boswars.txt b/base/applications/rapps/rapps/boswars.txt index bc586dafcbb..22a2e1dcb22 100644 --- a/base/applications/rapps/rapps/boswars.txt +++ b/base/applications/rapps/rapps/boswars.txt @@ -5,7 +5,7 @@ [Section] Name = Bos Wars Version = 2.6.1 -Licence = GPL +License = GPL Description = Bos Wars is a futuristic real time strategy game. To start the game, install Microsoft Visual C++ 2008 runtime. Size = 62.3 MB Category = 4 diff --git a/base/applications/rapps/rapps/boundaround.txt b/base/applications/rapps/rapps/boundaround.txt index 67148955a42..b686f39d423 100644 --- a/base/applications/rapps/rapps/boundaround.txt +++ b/base/applications/rapps/rapps/boundaround.txt @@ -3,7 +3,7 @@ [Section] Name = Bound Around (Demo) -Licence = Shareware +License = Shareware Description = A game similar Frozen Fruits. Size = 1.95 MB Category = 4 @@ -19,12 +19,12 @@ Name = Bound Around (Versione di prova) Description = Un gioco simile a Frozen Fruits. [Section.0418] -Licence = Versiune de evaluare +License = Versiune de evaluare Description = Un joc similar jocului Frozen Fruits. Size = 1,95 Mo [Section.041f] Name = Bound Around (Göstermelik) -Licence = Paylaşımlı +License = Paylaşımlı Description = Frozen Fruits benzeri bir oyun. Size = 1,95 MB diff --git a/base/applications/rapps/rapps/christmasbound.txt b/base/applications/rapps/rapps/christmasbound.txt index 575c2babe61..3b75215c1eb 100644 --- a/base/applications/rapps/rapps/christmasbound.txt +++ b/base/applications/rapps/rapps/christmasbound.txt @@ -4,7 +4,7 @@ [Section] Name = Christmas Bound Version = 1.4 -Licence = Freeware +License = Freeware Description = A game similar Frozen Fruits. Size = 892 kB Category = 4 @@ -19,11 +19,11 @@ Description = Ein Spiel, ähnlich zu Frozen Fruits. Description = Un gioco simile a Frozen Fuits. [Section.0418] -Licence = Gratuită +License = Gratuită Description = Un joc similar jocului Frozen Fruits. Size = 892 ko [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = Frozen Fruits benzeri bir oyun. Size = 892 KB diff --git a/base/applications/rapps/rapps/chromium.txt b/base/applications/rapps/rapps/chromium.txt index 61b64468d3d..faed55ced7e 100644 --- a/base/applications/rapps/rapps/chromium.txt +++ b/base/applications/rapps/rapps/chromium.txt @@ -5,7 +5,7 @@ [Section] Name = Chromium B.S.U. Version = 0.9.13.2 -Licence = GPL +License = GPL Description = Chromium B.S.U. is an arcade-style, top-scrolling space shooter. Size = 2.3 MB Category = 4 diff --git a/base/applications/rapps/rapps/cnt.txt b/base/applications/rapps/rapps/cnt.txt index 41eb34e4737..e58c8dc9349 100644 --- a/base/applications/rapps/rapps/cnt.txt +++ b/base/applications/rapps/rapps/cnt.txt @@ -4,7 +4,7 @@ [Section] Name = Click-N-Type Virtual Keyboard Version = 3.03 -Licence = Freeware +License = Freeware Description = Freeware virtual keyboard application. Size = 1.3 MB Category = 12 @@ -16,19 +16,19 @@ CDPath = none Description = Kostenlose virtuelle Tastatur. [Section.0410] -Licence = Gratuita +License = Gratuita Description = Applicazione gratuita per la simulazione della tastiera. [Section.0415] Description = Wirtualna klawiatura ekranowa. [Section.0418] -Licence = Gratuită +License = Gratuită Description = Aplicație gratuită pentru simularea unei tastaturi fizice. Size = 1,3 Mo [Section.041f] Name = Click-N-Type Farazî Düğme Takımı -Licence = Ücretsiz +License = Ücretsiz Description = Ücretsiz farazî düğme takımı uygulaması. Size = 1,3 MB diff --git a/base/applications/rapps/rapps/codeblocks.txt b/base/applications/rapps/rapps/codeblocks.txt index 653dd3bceb9..1c47ddd718e 100644 --- a/base/applications/rapps/rapps/codeblocks.txt +++ b/base/applications/rapps/rapps/codeblocks.txt @@ -4,7 +4,7 @@ [Section] Name = Code::Blocks (without compiler) Version = 13.12 -Licence = GPLv3 +License = GPLv3 Description = A open source, cross-platform, powerful IDE. It doesn't contain a compiler. Size = 29.2 MB Category = 7 @@ -25,6 +25,6 @@ Size = 29,2 Mo [Section.041f] Name = Code::Blocks (Derleyicisiz) -Licence = GPL 3. sürüm +License = GPL 3. sürüm Description = Açık kaynak, çapraz platform, güçlü bir tümleşik geliştirme ortamı. Bir derleyici içermez. Size = 29,2 MB diff --git a/base/applications/rapps/rapps/codeblocks_gcc.txt b/base/applications/rapps/rapps/codeblocks_gcc.txt index 63e8b56b21e..3299020c65c 100644 --- a/base/applications/rapps/rapps/codeblocks_gcc.txt +++ b/base/applications/rapps/rapps/codeblocks_gcc.txt @@ -4,7 +4,7 @@ [Section] Name = Code::Blocks TDM-GCC (version 4.7.1, 32 bit) Version = 13.12 -Licence = GPLv3 +License = GPLv3 Description = A open source, cross-platform, powerful IDE. It contains TDM-GCC (version 4.7.1, 32 bit) compiler. Size = 97.8 MB Category = 7 @@ -25,6 +25,6 @@ Size = 97,8 Mo [Section.041f] Name = Code::Blocks TDM-GCC (sürüm 4.7.1, 32 bitlik) -Licence = GPL 3. sürüm +License = GPL 3. sürüm Description = Açık kaynak, çapraz platform, güçlü bir tümleşik geliştirme ortamı. TDM-GCC (sürüm 4.7.1, 32 bitlik) derleyicisini içerir. Size = 97,8 MB diff --git a/base/applications/rapps/rapps/codeblocks_gcc_2.txt b/base/applications/rapps/rapps/codeblocks_gcc_2.txt index e7bf474582f..6f679ad409c 100644 --- a/base/applications/rapps/rapps/codeblocks_gcc_2.txt +++ b/base/applications/rapps/rapps/codeblocks_gcc_2.txt @@ -4,7 +4,7 @@ [Section] Name = Code::Blocks TDM-GCC (version 4.8.1, 32 bit) Version = 13.12 -Licence = GPLv3 +License = GPLv3 Description = A open source, cross-platform, powerful IDE. It contains TDM-GCC (version 4.8.1, 32 bit) compiler. Size = 100 MB Category = 7 @@ -25,6 +25,6 @@ Size = 100 Mo [Section.041f] Name = Code::Blocks TDM-GCC (sürüm 4.8.1, 32 bitlik) -Licence = GPL 3. sürüm +License = GPL 3. sürüm Description = Açık kaynak, çapraz platform, güçlü bir tümleşik geliştirme ortamı. TDM-GCC (sürüm 4.8.1, 32 bitlik) derleyicisini içerir. Size = 100 MB diff --git a/base/applications/rapps/rapps/comctl32ocx.txt b/base/applications/rapps/rapps/comctl32ocx.txt index 21c32cb5be7..53fb30bda69 100644 --- a/base/applications/rapps/rapps/comctl32ocx.txt +++ b/base/applications/rapps/rapps/comctl32ocx.txt @@ -4,7 +4,7 @@ [Section] Name = Microsoft Visual Basic 6.0 Common Controls Version = 6.0 -Licence = Unknown +License = Unknown Description = File needed by some applications. Contains: comctl32.ocx, mscomctl.ocx, advpack.dll. Size = 913.73 kB Category = 14 @@ -13,56 +13,56 @@ URLDownload = http://download.microsoft.com/download/3/a/5/3a5925ac-e779-4b1c-bb CDPath = none [Section.0407] -Licence = Unbekannt +License = Unbekannt Description = Datei wird von einigen Anwendungen benötigt. Beinhaltet: comctl32.ocx, mscomctl.ocx, advpack.dll. Size = 908.73 kB URLSite = http://www.microsoft.com/de-DE/download/details.aspx?id=10019 URLDownload = http://download.microsoft.com/download/c/e/d/ced699fe-7a40-420b-bdd7-10b38caef4c6/VisualBasic6-KB896559-v1-DEU.exe [Section.040a] -Licence = Desconocida +License = Desconocida Description = X es necesario para varias aplicaciones. Incluye: comctl32.ocx, mscomctl.ocx, advpack.dll. Size = 910.23 kB URLSite = http://www.microsoft.com/es-ES/download/details.aspx?id=10019 URLDownload = http://download.microsoft.com/download/9/0/9/90935db7-89ec-4344-a9ea-e6913c03f060/VisualBasic6-KB896559-v1-ESN.exe [Section.040c] -Licence = Inconnue +License = Inconnue Description = Fichier nécessaire pour certaines applications. Contient: comctl32.ocx, mscomctl.ocx, advpack.dll. Size = 911,23 ko URLSite = http://www.microsoft.com/fr-FR/download/details.aspx?id=10019 URLDownload = http://download.microsoft.com/download/4/0/f/40f775ea-b257-410c-8f78-f1f60afe0306/VisualBasic6-KB896559-v1-FRA.exe [Section.0410] -Licence = Sconosciuta +License = Sconosciuta Description = File necessari per alcune applicazioni. Contiene: Comctl32.ocx, mscomctl.ocx, advpack.dll. Size = 909.73 kB URLSite = http://www.microsoft.com/it-IT/download/details.aspx?id=10019 URLDownload = http://download.microsoft.com/download/8/1/b/81b968b9-1d7d-4d0a-aa27-864f4a2e3c23/VisualBasic6-KB896559-v1-ITA.exe [Section.0413] -Licence = Ongekend +License = Ongekend Description = Gebruikt door bepaalde applicaties. Bevat: comctl32.ocx, mscomctl.ocx, advpack.dll. [Section.0415] -Licence = Nieznana +License = Nieznana Description = Microsoft Visual Basic 6.0 Common Controls jest używany przez część aplikacji. Zawiera: comctl32.ocx, mscomctl.ocx, advpack.dll. [Section.0418] -Licence = Nespecificată +License = Nespecificată Description = Modul logic necesar unor aplicații. Conține: comctl32.ocx, mscomctl.ocx, advpack.dll. Size = 913,73 ko [Section.041f] Name = Microsoft Visual Basic 6.0 Ortak Denetimler -Licence = Bilinmiyor +License = Bilinmiyor Description = Birtakım uygulamalar için gerekli kütük. Şunları içerir: comctl32.ocx, mscomctl.ocx, advpack.dll. Size = 913,73 KB [Section.0422] -Licence = Невідома +License = Невідома Description = Файл потрібен декотрим програмам. включає: comctl32.ocx, mscomctl.ocx, advpack.dll. [Section.0813] -Licence = Ongekend +License = Ongekend Description = Gebruikt door bepaalde applicaties. Bevat: comctl32.ocx, mscomctl.ocx, advpack.dll. diff --git a/base/applications/rapps/rapps/devcpp_mingw32.txt b/base/applications/rapps/rapps/devcpp_mingw32.txt deleted file mode 100644 index 3042fe5ece1..00000000000 --- a/base/applications/rapps/rapps/devcpp_mingw32.txt +++ /dev/null @@ -1,28 +0,0 @@ -; UTF-8 -; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) - -[Section] -Name = Orwell Dev-C++ MinGW32 -Version = 5.7.0 -Licence = GPLv2 -Description = A maintained version of Dev-C++. It contains MinGW32 compiler. -Size = 60.2 MB -Category = 7 -URLSite = http://orwelldevcpp.blogspot.com/ -URLDownload = http://download.sourceforge.net/project/orwelldevcpp/Setup%20Releases/Dev-Cpp%205.7.0%20MinGW%204.8.1%20Setup.exe -CDPath = none - -[Section.0407] -Description = Eine gepflegte Version von Dev-C++. Der MinGW32 Compiler liegt bei. - -[Section.0410] -Description = Una versione mantenuta di Dev-C++. Contiene il compilatore MinGW32. - -[Section.0418] -Description = O versiune menținută a Dev-C++. Conține compilatorul MinGW32. -Size = 60,2 Mo - -[Section.041f] -Licence = GPL 2. sürüm -Description = Dev-C++'nın sürdürülen bir sürümü. MinGW32 derleyicisi içerir. -Size = 60,2 MB diff --git a/base/applications/rapps/rapps/devcpp_tdm_gcc_x64.txt b/base/applications/rapps/rapps/devcpp_tdm_gcc_x64.txt index 96b026e3891..d921d5637d2 100644 --- a/base/applications/rapps/rapps/devcpp_tdm_gcc_x64.txt +++ b/base/applications/rapps/rapps/devcpp_tdm_gcc_x64.txt @@ -3,13 +3,13 @@ [Section] Name = Orwell Dev-C++ TDM GCC x64 -Version = 5.7.0 -Licence = GPLv2 +Version = 5.8.0 +License = GPLv2 Description = A maintained version of Dev-C++. It contains 64 bit TDM-GCC compiler. Size = 44.7 MB Category = 7 URLSite = http://orwelldevcpp.blogspot.com/ -URLDownload = http://download.sourceforge.net/project/orwelldevcpp/Setup%20Releases/Dev-Cpp%205.7.0%20TDM-GCC%20x64%204.8.1%20Setup.exe +URLDownload = http://download.sourceforge.net/project/orwelldevcpp/Setup%20Releases/Dev-Cpp%205.8.0%20TDM-GCC%204.8.1%20Setup.exe CDPath = none [Section.0407] @@ -23,6 +23,6 @@ Description = O versiune menținută a Dev-C++. Conține compilatorul TDM-GCC pe Size = 44,7 Mo [Section.041f] -Licence = GPL 2. sürüm +License = GPL 2. sürüm Description = Dev-C++'nın sürdürülen bir sürümü. 64 bitlik TDM-GCC derleyicisi içerir. Size = 44,7 MB diff --git a/base/applications/rapps/rapps/diablo2.txt b/base/applications/rapps/rapps/diablo2.txt index ff7a2ae4dc7..6154c4e626b 100644 --- a/base/applications/rapps/rapps/diablo2.txt +++ b/base/applications/rapps/rapps/diablo2.txt @@ -4,7 +4,7 @@ [Section] Name = Diablo II Version = 1.4 -Licence = Shareware +License = Shareware Description = Diablo 2 Shareware. zeckensack's glide wrapper is required to run it. Size = 131.9 MB Category = 4 @@ -32,12 +32,12 @@ 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 +License = Versiune de evaluare Description = Diablo 2 Shareware. Pentru execuție este necesar (pachetul) zeckensack's glide wrapper. Size = 131,9 Mo [Section.041f] -Licence = Paylaşımlı +License = Paylaşımlı Description = Diablo 2 Paylaşımlı. Çalıştırmak için zeckensack'ın glide wrapper'ı gereklidir. Size = 131,9 MB diff --git a/base/applications/rapps/rapps/dosblaster.txt b/base/applications/rapps/rapps/dosblaster.txt index 78bb2809cc3..91991860070 100644 --- a/base/applications/rapps/rapps/dosblaster.txt +++ b/base/applications/rapps/rapps/dosblaster.txt @@ -4,7 +4,7 @@ [Section] Name = DosBlaster Version = 2.5 -Licence = GPL +License = GPL Description = DosBlaster is a shell extension which makes it possible to open any DOS executable 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.05 MB Category = 15 diff --git a/base/applications/rapps/rapps/dosbox.txt b/base/applications/rapps/rapps/dosbox.txt index f8ebb4a5309..29578b90232 100644 --- a/base/applications/rapps/rapps/dosbox.txt +++ b/base/applications/rapps/rapps/dosbox.txt @@ -4,7 +4,7 @@ [Section] Name = DOSBox Version = 0.74 -Licence = GPL +License = GPL Description = DOSBox is a DOS emulator. Size = 1.38 MB Category = 15 diff --git a/base/applications/rapps/rapps/doublecommander.txt b/base/applications/rapps/rapps/doublecommander.txt index 842c91e030d..577c1260696 100644 --- a/base/applications/rapps/rapps/doublecommander.txt +++ b/base/applications/rapps/rapps/doublecommander.txt @@ -3,13 +3,13 @@ [Section] Name = Double Commander -Version = 0.5.10 Beta -Licence = GPL +Version = 0.5.11 Beta +License = 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.6 MB +Size = 8.0 MB Category = 12 URLSite = http://doublecmd.sourceforge.net/ -URLDownload = http://download.sourceforge.net/project/doublecmd/DC%20for%20Windows%2032%20bit/Double%20Commander%200.5.10%20beta/doublecmd-0.5.10.i386-win32.exe +URLDownload = http://download.sourceforge.net/project/doublecmd/DC%20for%20Windows%2032%20bit/Double%20Commander%200.5.11%20beta/doublecmd-0.5.11.i386-win32.exe CDPath = none [Section.0407] @@ -26,7 +26,7 @@ Description = Double Commander to menedżer plików, o otwartym źródle, z klas [Section.0418] Description = Double Commander este un gestionar (cu surse deschise) 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 = 8,0 Mo [Section.0419] Description = Double Commander - это открытый двухпанельный файловый менеджер. Вам нужен 7-Zip или подобная утилита для его распаковки. @@ -34,7 +34,7 @@ Description = Double Commander - это открытый двухпанельн [Section.041f] Version = 0.5.8 Gelişme Description = Double Commander, yan yana iki bölmeli bir açık kaynak kütük yöneticisidir. Çıkartmak için 7-Zip ya da benzeri bir yazılım kullanmanız gerekir. -Size = 7,6 MB +Size = 8,0 MB [Section.0422] Description = Double Commander - це відкритий двопанельний файловий менеджер. Вам потрібен 7-Zip або подібна утиліта щоб розпакувати його. diff --git a/base/applications/rapps/rapps/dplus.txt b/base/applications/rapps/rapps/dplus.txt index 567e824c3be..01daa4e4fed 100644 --- a/base/applications/rapps/rapps/dplus.txt +++ b/base/applications/rapps/rapps/dplus.txt @@ -4,7 +4,7 @@ [Section] Name = D+ Browser Version = 0.5b -Licence = GPLv3 +License = GPLv3 Description = DPlus is a graphical web browser with an emphasis on security, performance and portability. It is based on Dillo and it is forked from Dillo-Win32 project. Size = 1.36 MB Category = 5 @@ -22,6 +22,6 @@ Size = 1,36 Mo [Section.041f] Name = D+ Tarayıcı -Licence = GPL 3. sürüm +License = GPL 3. sürüm Description = DPlus; güvenlik, başarım ve taşınabilirlik üzerine bir vurguyla, çizgelik bir Umûmî Ağ tarayıcısıdır. Dillo tabanlıdır ve Dillo-Win32 tasarısından çatallanmıştır. Size = 1,36 MB diff --git a/base/applications/rapps/rapps/dvdwritenow.txt b/base/applications/rapps/rapps/dvdwritenow.txt index da913472a05..4a25b875616 100644 --- a/base/applications/rapps/rapps/dvdwritenow.txt +++ b/base/applications/rapps/rapps/dvdwritenow.txt @@ -5,7 +5,7 @@ [Section] Name = DVD Write Now Version = 1.5.12 sp2 -Licence = Freeware +License = 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.2 MB Category = 12 @@ -23,7 +23,7 @@ Description = Un software di masterizzazione CD/DVD diretto e gratuito. Una volt Description = Darmowe oprogramowanie do nagrywania CD/DVD. Po zainstalowaniu, możesz używać płyty CD RW i DVD RW tak, jak dyski przenośne / pendrive. Możesz także zapisywać (i odczytywać dyski utworzone przez inne programy) dane do dysków RW zapisanych w systemie UDF. Wymaga programu archiwizującego do wypakowania i instalacji. [Section.0418] -Licence = Gratuită +License = 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 @@ -32,6 +32,6 @@ Description = DVD Write Now - бесплатная программа для п URLSite = http://dwn.alter.org.ua/ru/ [Section.041f] -Licence = Ücretsiz -Description = Ücretsiz bir doğrudan CD/DVD kaydedici yazılımı. Kurulduktan sonra CD/DVD RW'lerinizi, USB Flash veyâ çıkarılabilir sâbit disk sürücüleri olarak kullanabilirsiniz. Bununla birlikte UDF kütük dizgesiyle kaydedilmiş CD/DVD RW'lere yazabilirsiniz. Ayrıca Microsoft DVD−ROM'ları, Ahead InCD ile kaydedilmiş RW diskleri gibi başka yazılımlarla oluşturulmuş UDF diskleri okuyabilirsiniz. Kurmak için bir ZIP çıkartma izlencesi gerekir. +License = Ücretsiz +Description = Ücretsiz bir doğrudan CD/DVD saklayıcı yazılımı. Kurulduktan sonra CD/DVD RW'lerinizi, USB Flash veyâ çıkarılabilir sâbit disk sürücüleri olarak kullanabilirsiniz. Bununla birlikte UDF kütük dizgesiyle saklanmış CD/DVD RW'lere yazabilirsiniz. Ayrıca Microsoft DVD−ROM'ları, Ahead InCD ile saklanmış RW diskleri gibi başka yazılımlarla oluşturulmuş UDF diskleri okuyabilirsiniz. Kurmak için bir ZIP çıkartma izlencesi gerekir. Size = 1,2 MB diff --git a/base/applications/rapps/rapps/excelview.txt b/base/applications/rapps/rapps/excelview.txt index 0a406456170..b90d9184aaa 100644 --- a/base/applications/rapps/rapps/excelview.txt +++ b/base/applications/rapps/rapps/excelview.txt @@ -3,8 +3,8 @@ [Section] Name = Microsoft Excel Viewer -Version = 2010 -Licence = Unknown +Version = 2007 +License = Unknown Description = Microsoft Excel Viewer Size = 74.14 MB Category = 6 @@ -13,53 +13,53 @@ URLDownload = http://download.microsoft.com/download/e/a/9/ea913c8b-51a7-41b7-86 CDPath = none [Section.0407] -Licence = Unbekannt +License = Unbekannt Size = 51.15 MB URLDownload = http://download.microsoft.com/download/F/8/8/F88CB355-ECAA-4B74-87D6-C05C81D215BF/ExcelViewer.exe [Section.040a] -Licence = Desconocida +License = Desconocida Size = 51.11 MB URLDownload = http://download.microsoft.com/download/5/D/9/5D9E41A4-22CE-4497-BD7D-368883EF92F7/ExcelViewer.exe [Section.040c] -Licence = Inconnue +License = Inconnue Size = 51,13 Mo URLDownload = http://download.microsoft.com/download/0/0/E/00EE9DCF-7BCA-4414-837E-BC3AA23DCC8D/ExcelViewer.exe [Section.0410] -Licence = Sconosciuta +License = Sconosciuta Size = 51.1 MB URLDownload = http://download.microsoft.com/download/0/C/2/0C2ED9D9-6961-47F3-91E0-916E19F330E2/ExcelViewer.exe [Section.0413] -Licence = Ongekend +License = Ongekend Size = 50.97 MB URLDownload = http://download.microsoft.com/download/C/C/6/CC663715-AB58-4CDE-90F1-5A8CF7472500/ExcelViewer.exe [Section.0415] -Licence = Nieznana +License = Nieznana Size = 51.15 MB URLDownload = http://download.microsoft.com/download/5/B/A/5BAB0B5A-706D-444C-B90A-1D97DB4C43A8/ExcelViewer.exe [Section.0418] -Licence = Necunoscută +License = Necunoscută Size = 51,14 Mo URLDownload = http://download.microsoft.com/download/D/D/2/DD28D077-97F3-47C0-9389-0B987918888B/ExcelViewer.exe [Section.041f] Name = Microsoft Excel Görüntüleyici -Licence = Bilinmiyor +License = Bilinmiyor Description = Microsoft Excel Görüntüleyici Size = 51,1 MB URLDownload = http://download.microsoft.com/download/8/5/D/85DCDD24-8237-4334-866D-417F74F37C47/ExcelViewer.exe [Section.0422] -Licence = Невідома +License = Невідома Size = 51.15 MB URLDownload = http://download.microsoft.com/download/7/4/9/749A8D59-A2D5-4A64-99CF-5FF4DD7C5AC6/ExcelViewer.exe [Section.0813] -Licence = Ongekend +License = Ongekend Size = 50.97 MB URLDownload = http://download.microsoft.com/download/C/C/6/CC663715-AB58-4CDE-90F1-5A8CF7472500/ExcelViewer.exe diff --git a/base/applications/rapps/rapps/fap.txt b/base/applications/rapps/rapps/fap.txt index c955ca3536a..5fdf1dfec4b 100644 --- a/base/applications/rapps/rapps/fap.txt +++ b/base/applications/rapps/rapps/fap.txt @@ -4,7 +4,7 @@ [Section] Name = Fox Audio Player Version = 0.10.2 -Licence = GPL +License = GPL Description = Simple and lightweight audio player. Size = 1.9 MB Category = 1 diff --git a/base/applications/rapps/rapps/fira.txt b/base/applications/rapps/rapps/fira.txt index e3b26688642..4c460ca6351 100644 --- a/base/applications/rapps/rapps/fira.txt +++ b/base/applications/rapps/rapps/fira.txt @@ -5,7 +5,7 @@ [Section] Name = Mozilla Fira Font Version = 3.1 -Licence = Unknown +License = Unknown Description = Mozilla Fira Font Pack, Includes Mono and Sans fonts. Unzip in the ReactOS's folder. Size = 1.1 MB Category = 14 @@ -14,24 +14,24 @@ URLDownload = http://svn.reactos.org/packages/Fira.exe CDPath = none [Section.0407] -Licence = Unbekannt +License = Unbekannt Description = Mozilla Fira Font Pack, Beinhaltet Mono und Sans Schriften. Bitte in den "ReactOS" Ordner entpacken. [Section.0410] -Licence = Sconosciuta +License = Sconosciuta Description = Fira Font Pack di Mozilla, Include i font Mono e Sans. Estrare nella cartella "ReactOS". [Section.0415] -Licence = Nieznana +License = Nieznana Description = Pakiet czcionek Mozilla Fira Font, zawiera czcionki Mono i Sans. Wypakuj do folderu "ReactOS". [Section.0418] -Licence = Nespecificată +License = Nespecificată Description = Pachetul Mozilla Fira Font, include fonturile Mono și Sans. Dezarhivați în dosarul ReactOS. Size = 1,1 Mo [Section.041f] Name = Mozilla Fira Yazı Tipi -Licence = Bilinmiyor +License = Bilinmiyor Description = Mozilla Fira Yazı Tipi Paketi, Mono ve Sans yazı tiplerini kapsar. ReactOS'un dizinine çıkartınız. Size = 1,1 MB diff --git a/base/applications/rapps/rapps/firefox.txt b/base/applications/rapps/rapps/firefox.txt index ee31b35dc51..254df5ef311 100644 --- a/base/applications/rapps/rapps/firefox.txt +++ b/base/applications/rapps/rapps/firefox.txt @@ -2,95 +2,95 @@ ; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) [Section] -Name = Mozilla Firefox 31 -Version = 31.0 -Licence = MPL/GPL/LGPL +Name = Mozilla Firefox 33 +Version = 33.0 +License = MPL/GPL/LGPL Description = The most popular and one of the best free Web Browsers out there. -Size = 30.75 MB +Size = 34.76 MB Category = 5 URLSite = http://www.mozilla.org/en-US/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/en-US/Firefox%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/en-US/Firefox%20Setup%2033.0.exe CDPath = none [Section.0405] Description = Nejpopulárnější a jeden z nejlepších svobodných webových prohlížečů. -Size = 30.6 MB +Size = 34.57 MB URLSite = http://www.mozilla.org/cs/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/cs/Firefox%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/cs/Firefox%20Setup%2033.0.exe [Section.0407] Description = Der populärste und einer der besten freien Webbrowser. -Size = 30.56 MB +Size = 34.57 MB URLSite = http://www.mozilla.org/de/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/de/Firefox%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/de/Firefox%20Setup%2033.0.exe [Section.040a] Description = El más popular y uno de los mejores navegadores web gratuitos que hay. -Size = 30.5 MB +Size = 34.5 MB URLSite = http://www.mozilla.org/es-ES/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/es-ES/Firefox%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/es-ES/Firefox%20Setup%2033.0.exe [Section.040c] Description = Le navigateur web gratuit le plus populaire et l'un des meilleurs. -Size = 30,85 Mo +Size = 34,86 Mo URLSite = http://www.mozilla.org/fr/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/fr/Firefox%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/fr/Firefox%20Setup%2033.0.exe [Section.0410] Description = Il più popolare e uno dei migliori web browser gratuiti. -Size = 30.49 MB +Size = 34.5 MB URLSite = http://www.mozilla.org/it/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/it/Firefox%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/it/Firefox%20Setup%2033.0.exe [Section.0413] Description = De meest populaire en een van de beste gratis Web browsers. -Size = 31.2 MB +Size = 35.21 MB URLSite = http://www.mozilla.org/nl/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/nl/Firefox%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/nl/Firefox%20Setup%2033.0.exe [Section.0414] Description = Mest populære og best også gratis nettleserene der ute. -Size = 30.55 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/nb-NO/Firefox%20Setup%2031.0.exe +Size = 34.57 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/nb-NO/Firefox%20Setup%2033.0.exe [Section.0415] Description = Najpopularniejsza i jedna z najlepszych darmowych przeglądarek internetowych. -Size = 31.42 MB +Size = 35.43 MB URLSite = http://www.mozilla.org/pl/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/pl/Firefox%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/pl/Firefox%20Setup%2033.0.exe [Section.0418] Description = Cel mai popular și unul dintre cele mai bune navigatoare web gratuite existente. -Size = 31,0 Mo +Size = 35,08 Mo URLSite = http://www.mozilla.org/ro/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/ro/Firefox%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/ro/Firefox%20Setup%2033.0.exe [Section.0419] Description = Один из самых популярных и лучших бесплатных браузеров. -Size = 30.94 MB +Size = 34.95 MB URLSite = http://www.mozilla.org/ru/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/ru/Firefox%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/ru/Firefox%20Setup%2033.0.exe [Section.041b] Description = Najpopulárnejší a jeden z najlepších slobodný webových prehliadačov. -Size = 31.23 MB +Size = 35.24 MB URLSite = http://www.mozilla.org/sk/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/sk/Firefox%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/sk/Firefox%20Setup%2033.0.exe [Section.041f] Description = Özgür Umûmî Ağ tarayıcıları arasında en tutulanı ve en iyilerinden biri. -Size = 30,58 MB +Size = 34,59 MB URLSite = http://www.mozilla.org/tr/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/tr/Firefox%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/tr/Firefox%20Setup%2033.0.exe [Section.0422] Description = Найпопулярніший та один з кращих безплатних веб-браузерів. -Size = 30.97 MB +Size = 34.98 MB URLSite = http://www.mozilla.org/uk/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/uk/Firefox%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/uk/Firefox%20Setup%2033.0.exe [Section.0813] Description = De meest populaire en een van de beste gratis Web browsers. -Size = 31.2 MB +Size = 35.21 MB URLSite = http://www.mozilla.org/nl/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/31.0/win32/nl/Firefox%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/win32/nl/Firefox%20Setup%2033.0.exe diff --git a/base/applications/rapps/rapps/firefox2.txt b/base/applications/rapps/rapps/firefox2.txt index d71050a0305..f9ca6564bb0 100644 --- a/base/applications/rapps/rapps/firefox2.txt +++ b/base/applications/rapps/rapps/firefox2.txt @@ -4,7 +4,7 @@ [Section] Name = Mozilla Firefox 2.0 Version = 2.0.0.20 -Licence = MPL/GPL/LGPL +License = MPL/GPL/LGPL Description = The most popular and one of the best free Web Browsers out there. Size = 5.77 MB Category = 5 diff --git a/base/applications/rapps/rapps/firefox3.txt b/base/applications/rapps/rapps/firefox3.txt index 6d1e80c0284..d6ae2e0965c 100644 --- a/base/applications/rapps/rapps/firefox3.txt +++ b/base/applications/rapps/rapps/firefox3.txt @@ -4,7 +4,7 @@ [Section] Name = Mozilla Firefox 3.0 Version = 3.0.19 -Licence = MPL/GPL/LGPL +License = MPL/GPL/LGPL Description = The most popular and one of the best free Web Browsers out there. Size = 7.16 MB Category = 5 diff --git a/base/applications/rapps/rapps/firefox36.txt b/base/applications/rapps/rapps/firefox36.txt index 4dc264b1f8c..05a69229e7f 100644 --- a/base/applications/rapps/rapps/firefox36.txt +++ b/base/applications/rapps/rapps/firefox36.txt @@ -4,7 +4,7 @@ [Section] Name = Mozilla Firefox 3.6 Version = 3.6.28 -Licence = MPL/GPL/LGPL +License = MPL/GPL/LGPL Description = The most popular and one of the best free Web Browsers out there. Size = 8.22 MB Category = 5 diff --git a/base/applications/rapps/rapps/foxit.txt b/base/applications/rapps/rapps/foxit.txt new file mode 100644 index 00000000000..402217da962 --- /dev/null +++ b/base/applications/rapps/rapps/foxit.txt @@ -0,0 +1,26 @@ +; UTF-8 +; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) + +[Section] +Name = Foxit Reader +Version = 6.2.3.815 +License = Freeware +Description = The best PDF reader next to Adobe Reader itself. +Size = 36.0 MB +Category = 6 +URLSite = http://www.foxitsoftware.com/Secure_PDF_Reader/ +URLDownload = http://cdn01.foxitsoftware.com/pub/foxit/reader/desktop/win/6.x/6.2/enu/FoxitReader623.815_prom_enu_Setup.exe +CDPath = none + +[Section.0407] +Version = 6.1.5.0624 +Description = Neben Adobe Reader der beste PDF Reader. +Size = 44.2 MB +URLDownload = http://cdn01.foxitsoftware.com/pub/foxit/reader/desktop/win/6.x/6.1/L10N/FoxitReader615.0624_prom_L10N_Setup.exe + +[Section.041f] +Version = 6.1.5.0624 +License = Ücretsiz +Description = Adobe Okuyucu'nun kendisine yakın en iyi PDF okuyucusu. +Size = 36,0 MB +URLDownload = http://cdn01.foxitsoftware.com/pub/foxit/reader/desktop/win/6.x/6.1/L10N/FoxitReader615.0624_prom_L10N_Setup.exe diff --git a/base/applications/rapps/rapps/freebasic.txt b/base/applications/rapps/rapps/freebasic.txt index b0f2d474ab9..0511efbb5c8 100644 --- a/base/applications/rapps/rapps/freebasic.txt +++ b/base/applications/rapps/rapps/freebasic.txt @@ -3,13 +3,13 @@ [Section] Name = FreeBASIC -Version = 0.90.1 -Licence = GPL/LGPL +Version = 1.00.0 +License = GPL/LGPL Description = Open Source BASIC Compiler. The BASIC syntax is compatible to QBASIC. -Size = 7.4 MB +Size = 9.0 MB Category = 7 URLSite = http://www.freebasic.net/ -URLDownload = http://download.sourceforge.net/project/fbc/Binaries%20-%20Windows/FreeBASIC-0.90.1-win32.exe +URLDownload = http://download.sourceforge.net/project/fbc/Binaries%20-%20Windows/FreeBASIC-1.00.0-win32.exe CDPath = none [Section.0407] diff --git a/base/applications/rapps/rapps/ghostscript.txt b/base/applications/rapps/rapps/ghostscript.txt index 62f00b9ab67..bc13ebc64d4 100644 --- a/base/applications/rapps/rapps/ghostscript.txt +++ b/base/applications/rapps/rapps/ghostscript.txt @@ -1,12 +1,15 @@ +; UTF-8 +; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) + [Section] Name = Ghostscript -Version = 9.14 -Licence = AGPL +Version = 9.15 +License = AGPL Description = An open interpreter for the PostScript language and for PDF. -Size = 12.44 MB +Size = 12.65 MB Category = 6 URLSite = http://www.ghostscript.com/ -URLDownload = http://downloads.ghostscript.com/public/gs914w32.exe +URLDownload = http://downloads.ghostscript.com/public/gs915w32.exe CDPath = none [Section.0407] @@ -14,8 +17,8 @@ Description = Ein offener Interpreter für die PostScript Sprache und PDF. [Section.0418] Description = Un interpretor pentru limbajul PostScript și pentru PDF. -Size = 12,44 Mo +Size = 12,65 Mo [Section.041f] Description = PostScript dili ve PDF için bir açık kaynak yorumlayıcı. -Size = 12,44 MB +Size = 12,65 MB diff --git a/base/applications/rapps/rapps/ghostview.txt b/base/applications/rapps/rapps/ghostview.txt index 38d08b8e2aa..3764c74af69 100644 --- a/base/applications/rapps/rapps/ghostview.txt +++ b/base/applications/rapps/rapps/ghostview.txt @@ -1,7 +1,10 @@ +; UTF-8 +; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) + [Section] Name = GSview Version = 5.0 -Licence = Aladdin Free Public Licence +License = Aladdin Free Public License Description = A graphical interface for Ghostscript. Size = 1.94 MB Category = 6 @@ -13,11 +16,11 @@ CDPath = none Description = Ein grafisches Interface für Ghostscript. [Section.0418] -Licence = Licență publică gratuită „Aladdin” +License = Licență publică gratuită „Aladdin” Description = O interfață grafică pentru GhostScript. Size = 1,94 Mo [Section.041f] -Licence = Aladdin Özgür Kamu Ruhsatı +License = Aladdin Özgür Kamu Ruhsatı Description = Ghostscript için bir çizgelik arayüz. Size = 1,94 MB diff --git a/base/applications/rapps/rapps/glidewrapzbag.txt b/base/applications/rapps/rapps/glidewrapzbag.txt index 4e8172886f2..765bd7ef434 100644 --- a/base/applications/rapps/rapps/glidewrapzbag.txt +++ b/base/applications/rapps/rapps/glidewrapzbag.txt @@ -4,7 +4,7 @@ [Section] Name = GlidewrapZbag Version = 0.84c -Licence = Freeware +License = Freeware Description = glidewrapper needed to run Diablo 2 on ReactOS. Size = 249.02 kB Category = 3 @@ -32,12 +32,12 @@ Description = glidewrapper is nodig om Diablo2 te gebruiken op ReactOS. Description = glidewrapper jest potrzebny do uruchomienia Diablo2 w ReactOS-ie. [Section.0418] -Licence = Gratuită +License = Gratuită Description = Glide wrapper, necesar pentru a executa Diablo 2 în ReactOS. Size = 249,02 ko [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = glidewrapper, ReactOS'ta Diablo 2'yi çalıştırmak için gereklidir. Size = 249,02 KB diff --git a/base/applications/rapps/rapps/globulation2.txt b/base/applications/rapps/rapps/globulation2.txt index 5b540869e51..fa335c3abf1 100644 --- a/base/applications/rapps/rapps/globulation2.txt +++ b/base/applications/rapps/rapps/globulation2.txt @@ -5,7 +5,7 @@ [Section] Name = Globulation2 Version = 0.9.4.4 -Licence = GPL +License = GPL Description = Globulation 2 is a real-time strategy game. The game minimizes gaming micromanagement by automatically assigning tasks to units. Size = 13.5 MB Category = 4 diff --git a/base/applications/rapps/rapps/hover.txt b/base/applications/rapps/rapps/hover.txt index 9627e69f231..74c22100863 100644 --- a/base/applications/rapps/rapps/hover.txt +++ b/base/applications/rapps/rapps/hover.txt @@ -5,7 +5,7 @@ [Section] Name = Hover! Version = 1.0 -Licence = MS EULA +License = MS EULA Description = The classic Hover CTF game which was found on the Windows 95 CD. Size = 6.2 MB Category = 4 diff --git a/base/applications/rapps/rapps/hxd.txt b/base/applications/rapps/rapps/hxd.txt index eb203dad07e..913688bca39 100644 --- a/base/applications/rapps/rapps/hxd.txt +++ b/base/applications/rapps/rapps/hxd.txt @@ -5,7 +5,7 @@ [Section] Name = HxD Version = 1.7.7.0 -Licence = Freeware +License = Freeware Description = A good hex editor. You need 7-Zip or a similar Utility to extract it. Size = 852 kB Category = 7 @@ -26,13 +26,13 @@ Description = Dobry edytor Hex. Do wypakowania pliku potrzebny jest program arch Description = Un buon editor hexadecimale. Necessita 7-Zip o un programma simile per estrarlo. [Section.0418] -Licence = Gratuită +License = Gratuită Description = Un bun editor hexazecimal. E necesar un utilitar de dezarhivare de tip ZIP. Size = 859 ko URLDownload = http://mh-nexus.de/downloads/HxDSetupROM.zip [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = İyi bir onaltılık düzenleyici. Çıkartmak için 7-Zip ya da benzeri bir yazılım kullanmanız gerekir. Size = 853 KB URLDownload = http://mh-nexus.de/downloads/HxDSetupTR.zip diff --git a/base/applications/rapps/rapps/indiftpd.txt b/base/applications/rapps/rapps/indiftpd.txt index 09a17d09df1..dace068d5cf 100644 --- a/base/applications/rapps/rapps/indiftpd.txt +++ b/base/applications/rapps/rapps/indiftpd.txt @@ -5,7 +5,7 @@ [Section] Name = IndiFTPD Version = 1.0.9 Beta -Licence = GPL +License = 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 = 556 kB Category = 5 diff --git a/base/applications/rapps/rapps/inkscape.txt b/base/applications/rapps/rapps/inkscape.txt new file mode 100644 index 00000000000..7e4512f81ec --- /dev/null +++ b/base/applications/rapps/rapps/inkscape.txt @@ -0,0 +1,13 @@ +[Section] +Name = Inkscape +Version = 0.48.5 +License = GPL +Description = Inkscape is a vector graphics editor licensed under the GNU General Public License. +Size = 32.9 MB +Category = 3 +URLSite = http://www.inkscape.org/ +URLDownload = http://download.sourceforge.net/inkscape/inkscape/0.48.5/Inkscape-0.48.5-1-win32.exe +CDPath = none + +[Section.0407] +Description = Inkscape ist ein Editor für Vektorgrafiken, lizensiert unter der GNU General Public License. diff --git a/base/applications/rapps/rapps/irfanview.txt b/base/applications/rapps/rapps/irfanview.txt index 438352d240a..fc6374b7391 100644 --- a/base/applications/rapps/rapps/irfanview.txt +++ b/base/applications/rapps/rapps/irfanview.txt @@ -4,53 +4,53 @@ [Section] Name = IrfanView Version = 4.38 -Licence = Freeware (for personal use) +License = Freeware (for personal use) Description = Viewer for all kinds of graphics/audio files/video files. Size = 1.81 MB Category = 3 URLSite = http://www.irfanview.com/ -URLDownload = http://www.irfanview.info/files/iview438_setup.exe +URLDownload = http://img.cs.montana.edu/windows/iview438_setup.exe CDPath = none [Section.0407] -Licence = Freeware für nichtkommerzielle Nutzung +License = Freeware für nichtkommerzielle Nutzung Description = Anzeigeprogramm für alle Arten von Grafik-/Audio- oder Video-Dateien. [Section.040a] -Licence = Gratuito (para uso personal) +License = Gratuito (para uso personal) Description = Visor para toda clase de archivos de imagen,audio y video. [Section.040c] -Licence = Gratuit (pour un usage personnel) +License = Gratuit (pour un usage personnel) Description = Visionneur pour tous les types de fichiers graphiques/audio/vidéo. Size = 1,81 Mo [Section.0410] -Licence = Gratuita (per uso personale) +License = Gratuita (per uso personale) Description = Viewer per tutti i tipi di grafici / file audio / file video. [Section.0413] -Licence = Freeware (voor persoonlijk gebruik) +License = Freeware (voor persoonlijk gebruik) Description = Weergave voor allerhande bestandstypes voor audio, video, grafiek. [Section.0415] -Licence = Freeware (dla użytku domowego) +License = Freeware (dla użytku domowego) Description = Przeglądarka dla bardzo wielu typów obrazów, plików audio oraz wideo. [Section.0418] -Licence = Gratuită (pentru uz personal) +License = Gratuită (pentru uz personal) Description = Lector pentru multiple formaturi de fișiere grafice/audio/video. Size = 1,81 Mo [Section.041f] -Licence = Şahsî kullanım için ücretsiz. +License = Şahsî kullanım için ücretsiz. Description = Çizgelerin, ses kütüklerinin, vidyo kütüklerinin tüm türleri için görüntüleyici. Size = 1,81 MB [Section.0422] -Licence = Freeware (для домашнього використання) +License = Freeware (для домашнього використання) Description = Переглядач для всіх видів графічних та аудіо/відео файлів. [Section.0813] -Licence = Freeware (voor persoonlijk gebruik) +License = Freeware (voor persoonlijk gebruik) Description = Weergave voor allerhande bestandstypes voor audio, video, grafiek. diff --git a/base/applications/rapps/rapps/irfanviewplugins.txt b/base/applications/rapps/rapps/irfanviewplugins.txt index 8956a2eb8a9..e12b1ad4f12 100644 --- a/base/applications/rapps/rapps/irfanviewplugins.txt +++ b/base/applications/rapps/rapps/irfanviewplugins.txt @@ -4,54 +4,54 @@ [Section] Name = IrfanView Plugins Version = 4.38 -Licence = Freeware (for personal use) +License = Freeware (for personal use) Description = Additional Plugins for supporting more file types. Size = 10.24 MB Category = 3 URLSite = http://www.irfanview.com/ -URLDownload = http://www.irfanview.info/files/irfanview_plugins_438_setup.exe +URLDownload = http://files.netmediaeurope.com/de-nmi/downloads/2014_download/irfanview_plugins_438_setup.exe CDPath = none [Section.0407] -Licence = Freeware für nichtkommerzielle Nutzung +License = Freeware für nichtkommerzielle Nutzung Description = Zusätzlich Plugins zur Unterstützung von weiteren Dateitypen. [Section.040a] -Licence = Gratuito (para uso personal) +License = Gratuito (para uso personal) Description = Complementos adicionales para soportar más formatos. [Section.040c] -Licence = Gratuit (pour un usage personnel) +License = Gratuit (pour un usage personnel) Description = Modules additionnels pour supporter plus de types de fichiers. Size = 10,24 Mo [Section.0410] -Licence = Gratuita (per uso personale) +License = Gratuita (per uso personale) Description = Plugins addizionale per il supporto di molti tipi di file. [Section.0413] -Licence = Freeware (voor persoonlijk gebruik) +License = Freeware (voor persoonlijk gebruik) Description = Toegevoegde plugins voor ondersteuning van extra bestandstypes. [Section.0415] -Licence = Freeware (dla użytku domowego) +License = Freeware (dla użytku domowego) Description = Wtyczki otwierające dodatkowe typy plików w Irfanview. [Section.0418] -Licence = Gratuită (pentru uz personal) +License = Gratuită (pentru uz personal) Description = Extensii adiționale pentru a spori numărul de formate de fișiere recunoscute. Size = 10,24 Mo [Section.041f] Name = IrfanView Eklentileri -Licence = Şahsî kullanım için ücretsiz. +License = Şahsî kullanım için ücretsiz. Description = Daha çok kütük türü desteklemek için eklentiler. Size = 10,24 MB [Section.0422] -Licence = Freeware (для домашнього використання) +License = Freeware (для домашнього використання) Description = Додаткові плагіни для підтримки більшої кількості файлових типів. [Section.0813] -Licence = Freeware (voor persoonlijk gebruik) +License = Freeware (voor persoonlijk gebruik) Description = Toegevoegde plugins voor ondersteuning van extra bestandstypes. diff --git a/base/applications/rapps/rapps/kdewin.txt b/base/applications/rapps/rapps/kdewin.txt index 974dcc9ba20..e2fc9e828c8 100644 --- a/base/applications/rapps/rapps/kdewin.txt +++ b/base/applications/rapps/rapps/kdewin.txt @@ -4,7 +4,7 @@ [Section] Name = K Desktop Environment Version = 1.0.0 -Licence = GPL +License = GPL Description = KDE for Windows. Size = 2.16 MB Category = 15 diff --git a/base/applications/rapps/rapps/kyodai.txt b/base/applications/rapps/rapps/kyodai.txt index 5ad84c2b330..fa316cdf25f 100644 --- a/base/applications/rapps/rapps/kyodai.txt +++ b/base/applications/rapps/rapps/kyodai.txt @@ -5,7 +5,7 @@ [Section] Name = Kyodai Mahjongg Version = 21.42 -Licence = Shareware +License = Shareware Description = One of the best Mahjongg Solitaire games out there. Size = 13.8 MB Category = 4 @@ -23,11 +23,11 @@ Description = Uno dei migliori giochi di Mahjongg Solitaire. Description = Jedna z najlepszych gier Mahjongg Solitaire. [Section.0418] -Licence = Versiune de evaluare +License = Versiune de evaluare Description = Unul dintre cele mai bune jocuri de pasiență Mahjongg. Size = 13,8 Mo [Section.041f] -Licence = Paylaşımlı +License = Paylaşımlı Description = Mahjong solitaire oyunları arasında en iyilerinden biri. Size = 13,8 MB diff --git a/base/applications/rapps/rapps/lazaruside.txt b/base/applications/rapps/rapps/lazaruside.txt index 0ac6b58d0e7..66257e15758 100644 --- a/base/applications/rapps/rapps/lazaruside.txt +++ b/base/applications/rapps/rapps/lazaruside.txt @@ -4,13 +4,13 @@ [Section] Name = Lazarus -Version = 1.2.4 -Licence = modified LGPL, GPL +Version = 1.2.6 +License = 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 = 114 MB +Size = 107 MB Category = 7 URLSite = http://www.lazarus.freepascal.org/ -URLDownload = http://download.sourceforge.net/project/lazarus/Lazarus%20Windows%2032%20bits/Lazarus%201.2.4/lazarus-1.2.4-fpc-2.6.4-win32.exe +URLDownload = http://download.sourceforge.net/project/lazarus/Lazarus%20Windows%2032%20bits/Lazarus%201.2.6/lazarus-1.2.6-fpc-2.6.4-win32.exe CDPath = none [Section.0407] @@ -23,10 +23,10 @@ Description = Wielopratformowe zintegrowane środowisko programistyczne (IDE) kt 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ă +License = 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 = 114 Mo +Size = 107 Mo [Section.041f] -Licence = Değiştirilmiş LGPL, GPL +License = Değiştirilmiş LGPL, GPL Description = Görmelik (GUI) ve görmelik olmayan Object Pascal izlenceleri oluşturmanızı sağlayan, çalıştırılabilir kütüğünüzü oluşturmak için Free Pascal derleyicisini kullanan bir çapraz platform bir tümleşik geliştirme ortamı (IDE). diff --git a/base/applications/rapps/rapps/lbreakout2.txt b/base/applications/rapps/rapps/lbreakout2.txt index 07d017b615b..51c77f3493a 100644 --- a/base/applications/rapps/rapps/lbreakout2.txt +++ b/base/applications/rapps/rapps/lbreakout2.txt @@ -4,7 +4,7 @@ [Section] Name = LBreakout2 Version = 2.4.1 -Licence = GPL +License = GPL Description = Breakout Clone using SDL libs. Size = 3.03 MB Category = 4 diff --git a/base/applications/rapps/rapps/lgeneral.txt b/base/applications/rapps/rapps/lgeneral.txt index 96dde00be75..c3461233416 100644 --- a/base/applications/rapps/rapps/lgeneral.txt +++ b/base/applications/rapps/rapps/lgeneral.txt @@ -4,7 +4,7 @@ [Section] Name = LGeneral Version = 1.1 -Licence = GPL +License = GPL Description = Panzer General Clone using SDL libs. Size = 1.92 MB Category = 4 diff --git a/base/applications/rapps/rapps/librecad.txt b/base/applications/rapps/rapps/librecad.txt new file mode 100644 index 00000000000..12cef97fdc0 --- /dev/null +++ b/base/applications/rapps/rapps/librecad.txt @@ -0,0 +1,21 @@ +; UTF-8 +; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) + +[Section] +Name = LibreCAD +Version = 2.0.6 +License = GPLv2 +Description = LibreCAD is a free and open source 2D-CAD application for Windows, Linux and OS X. +Size = 28.7 MB +Category = 3 +URLSite = http://librecad.org/ +URLDownload = http://download.sourceforge.net/librecad/Windows/2.0.6/LibreCAD-Installer-2.0.6.exe +CDPath = none + +[Section.0407] +Description = LibreCAD ist ein kostenloses und quelloffenes 2D-CAD Programm für Windows, Linux und OS X. + +[Section.041f] +License = GPL 2. sürüm +Description = LibreCAD; Windows, Linux ve OS X için özgür ve açık kaynak bir 2 boyutlu CAD uygulamasıdır. +Size = 28,7 MB diff --git a/base/applications/rapps/rapps/libreoffice.txt b/base/applications/rapps/rapps/libreoffice.txt index 30af6b1aa78..67e1df78d82 100644 --- a/base/applications/rapps/rapps/libreoffice.txt +++ b/base/applications/rapps/rapps/libreoffice.txt @@ -3,13 +3,13 @@ [Section] Name = LibreOffice -Version = 4.2.5 -Licence = LGPL +Version = 4.3.4 +License = LGPL Description = A powerful and open source office suite. It has been forked from OpenOffice. -Size = 209.36 MB +Size = 215.23 MB Category = 6 URLSite = http://www.documentfoundation.org/ -URLDownload = http://download.documentfoundation.org/libreoffice/stable/4.2.5/win/x86/LibreOffice_4.2.5_Win_x86.msi +URLDownload = http://download.documentfoundation.org/libreoffice/stable/4.3.4/win/x86/LibreOffice_4.3.4_Win_x86.msi CDPath = none [Section.0407] @@ -20,7 +20,7 @@ Description = La suite de ofimática de código abierto. [Section.040c] Description = Précédemment appelé OpenOffice. Suite bureautique open source. -Size = 209,36 Mo +Size = 215,23 Mo [Section.0410] Description = Precedentemente chiamato OpenOffice. Open Source Office Suite. @@ -33,11 +33,11 @@ Description = Otwarty pakiet biurowy. [Section.0418] Description = O suită office completă, cu surse deschise. Reprezintă o bifurcare a dezvoltării OpenOffice. -Size = 209,36 Mo +Size = 215,23 Mo [Section.041f] Description = Güçlü ve açık kaynak bir ofis paketi. OpenOffice'ten çatallanılmıştır. -Size = 209,36 MB +Size = 215,23 MB [Section.0422] Description = Відкритий офісний пакет. diff --git a/base/applications/rapps/rapps/libreofficehelp.txt b/base/applications/rapps/rapps/libreofficehelp.txt new file mode 100644 index 00000000000..f4ba28944d3 --- /dev/null +++ b/base/applications/rapps/rapps/libreofficehelp.txt @@ -0,0 +1,28 @@ +; UTF-8 +; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) + +[Section] +Name = LibreOffice Help Pack +Version = For LibreOffice 4.3.4 +License = GPLv3 +Description = Offline help content of LibreOffice. +Size = 5.06 MB +Category = 6 +URLSite = http://www.documentfoundation.org/ +URLDownload = http://download.documentfoundation.org/libreoffice/stable/4.3.4/win/x86/LibreOffice_4.3.4_Win_x86_helppack_en-US.msi +CDPath = none + +[Section.0407] +Name = LibreOffice Help Pack +Version = Für LibreOffice 4.3.4 +Description = Offline Hilfe für LibreOffice. +Size = 7.02 MB +URLDownload = http://download.documentfoundation.org/libreoffice/stable/4.3.4/win/x86/LibreOffice_4.3.4_Win_x86_helppack_de.msi + +[Section.041f] +Name = LibreOffice Yardım Paketi +Version = LibreOffice 4.3.4 için +License = GPL 3. sürüm +Description = LibreOffice'in çevrim dışı yardım içeriği. +Size = 6,79 MB +URLDownload = http://download.documentfoundation.org/libreoffice/stable/4.3.4/win/x86/LibreOffice_4.3.4_Win_x86_helppack_tr.msi diff --git a/base/applications/rapps/rapps/lmarbles.txt b/base/applications/rapps/rapps/lmarbles.txt index 9812d030f25..48ae2c45a15 100644 --- a/base/applications/rapps/rapps/lmarbles.txt +++ b/base/applications/rapps/rapps/lmarbles.txt @@ -4,7 +4,7 @@ [Section] Name = LMarbles Version = 1.0.6 -Licence = GPL +License = GPL Description = Atomix Clone using SDL libs. Size = 1.39 MB Category = 4 diff --git a/base/applications/rapps/rapps/mcwin32.txt b/base/applications/rapps/rapps/mcwin32.txt index a364e6f8c10..52b1e00d7e7 100644 --- a/base/applications/rapps/rapps/mcwin32.txt +++ b/base/applications/rapps/rapps/mcwin32.txt @@ -3,35 +3,35 @@ [Section] Name = Midnight Commander for Windows -Version = Build 183 (4.8.11) -Licence = GPLv3 +Version = Build 185 (4.8.12) +License = GPLv3 Description = 32-bit Windows port of GNU Midnight Commander. Size = 2.35 MB Category = 12 URLSite = http://sourceforge.net/projects/mcwin32/ -URLDownload = http://download.sourceforge.net/project/mcwin32/mcwin32-build183-setup.exe +URLDownload = http://download.sourceforge.net/project/mcwin32/mcwin32-build185-setup.exe CDPath = none [Section.0410] Name = Midnight Commander per Windows -Version = Revisione 183 (4.8.11) -Licence = GPL versione 3 +Version = Revisione 185 (4.8.12) +License = GPL versione 3 Description = Un porting Windows 32bit di Midnight Commander. [Section.0415] Name = Midnight Commander dla Windows -Licence = GPL wersja 3 +License = GPL wersja 3 Description = 32-bitowy port GNU Midnight Commander dla Windows. [Section.0418] Name = Midnight Commander pentru Windows -Version = Versiunea 183 (4.8.11) +Version = Versiunea 185 (4.8.12) Description = GNU Midnight Commander pentru Windows pe 32-biți. Size = 2,35 Mo [Section.041f] Name = Midnight Commander (Windows için) -Version = Yapı 183 (4.8.11) -Licence = GPL 3. sürüm +Version = Yapı 185 (4.8.12) +License = GPL 3. sürüm Description = GNU Midnight Commander'ın 32 bitlik Windows uyarlamasıdır. Size = 2,35 MB diff --git a/base/applications/rapps/rapps/mfc40.txt b/base/applications/rapps/rapps/mfc40.txt index 84e80226bf2..295069caee5 100644 --- a/base/applications/rapps/rapps/mfc40.txt +++ b/base/applications/rapps/rapps/mfc40.txt @@ -4,7 +4,7 @@ [Section] Name = OLE Viewer and Microsoft Foundation Classes version 4 Version = 4.0 -Licence = Unknown +License = Unknown Description = MFC 4 is needed by some applications. Contains: mfc40.dll, msvcrt40.dll. Size = 865.04 kB Category = 14 @@ -14,49 +14,49 @@ CDPath = none [Section.0407] Name = OLE Anzeige und Microsoft Foundation Classes Version 4 -Licence = Unbekannt +License = Unbekannt Description = MFC 4 wird von einigen Anwendungen benötigt. Beinhaltet: mfc40.dll, msvcrt40.dll. [Section.040a] Name = Visor OLE y Microsoft Foundation Classes Version 4 -Licence = Desconocida +License = Desconocida Description = MFC 4 es necesario para varias aplicaciones. Incluye: mfc40.dll, msvcrt40.dll. [Section.040c] Name = Visionneur OLE et Microsoft Foundation Classes version 4 -Licence = Inconnue +License = Inconnue Description = MFC 4 est nécessaire pour certaines applications. Contient: mfc40.dll, msvcrt40.dll. Size = 865,04 ko [Section.0410] -Licence = Sconosciuta +License = Sconosciuta Description = MFC 4 è necessario per alcune applicazioni. Contiene: mfc40.dll, msvcrt40.dll. [Section.0413] -Licence = Ongekend +License = Ongekend Description = MFC 4 is nodig voor bepaalde applicaties. Bevat: mfc40.dll, msvcrt40.dll. [Section.0415] Name = Przeglądarka OLE oraz MFC (Microsoft Foundation Classes) wersja 4 -Licence = Nieznana +License = Nieznana Description = Biblioteka MFC 4 jest używana przez część aplikacji. Zawiera: mfc40.dll, msvcrt40.dll. [Section.0418] -Licence = Nespecificată +License = Nespecificată Description = MFC 4 este necesară unor aplicații. Conține: mfc40.dll, msvcrt40.dll. Size = 865,04 ko [Section.041f] Name = OLE Görüntüleyicisi ve Microsoft Ana Sınıfları (MFC) Sürüm 4 -Licence = Bilinmiyor +License = Bilinmiyor Description = MFC 4, birtakım uygulamalar için gereklidir. Şunları içerir: mfc40.dll, msvcrt40.dll. Size = 865,04 KB [Section.0422] Name = Переглядач OLE та MFC (Microsoft Foundation Classes) версія 4 -Licence = Невідома +License = Невідома Description = Бібліотека MFC 4 необхідна декотрим програмам. включає: mfc40.dll, msvcrt40.dll. [Section.0813] -Licence = Ongekend +License = Ongekend Description = MFC 4 is nodig voor bepaalde applicaties. Bevat: mfc40.dll, msvcrt40.dll. diff --git a/base/applications/rapps/rapps/miktex.txt b/base/applications/rapps/rapps/miktex.txt index 7175ac5af8b..61fbc815ddc 100644 --- a/base/applications/rapps/rapps/miktex.txt +++ b/base/applications/rapps/rapps/miktex.txt @@ -1,23 +1,26 @@ +; UTF-8 +; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) + [Section] Name = MikTEX 2.9 Version = 2.9.5105 -Licence = Freeware +License = Freeware Description = MiKTeX is an up-to-date implementation of TeX/LaTeX and related programs for Windows. Size = 163.18 MB Category = 6 URLSite = http://www.miktex.org/ -URLDownload = http://mirrors.ctan.org/systems/win32/miktex/setup/basic-miktex-2.9.5105.exe +URLDownload = http://ftp.gwdg.de/pub/ctan/systems/win32/miktex/setup/basic-miktex-2.9.5105.exe CDPath = none [Section.0407] Description = MiKTeX ist eine aktuelle Implementierung von TeX/LaTeX und zugehöriger Programme für Windows. [Section.0418] -Licence = Gratuită +License = Gratuită Description = MikTEX este o implementare actualizată de TeX/LaTeX și aprogramelor aferente. Size = 163,18 Mo [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = MiKTeX, Windows için, TeX'in, LaTeX'in ve ilişkili izlencelerin bir şimdiki uygulaması. Size = 163,18 MB diff --git a/base/applications/rapps/rapps/mirandaim.txt b/base/applications/rapps/rapps/mirandaim.txt index 64974cd2728..32d3c75b661 100644 --- a/base/applications/rapps/rapps/mirandaim.txt +++ b/base/applications/rapps/rapps/mirandaim.txt @@ -3,13 +3,13 @@ [Section] Name = Miranda IM -Version = 0.10.23 -Licence = GPL +Version = 0.10.24 +License = GPL Description = Open source multiprotocol instant messaging application - May not work completely. -Size = 3.8 MB +Size = 3.77 MB Category = 5 URLSite = http://www.miranda-im.org/ -URLDownload = http://files.miranda-im.org/stable/0.10.23.0/miranda-im-v0.10.23-unicode.exe +URLDownload = http://files.miranda-im.org/stable/0.10.24.0/miranda-im-v0.10.24-unicode.exe CDPath = none [Section.0407] @@ -20,7 +20,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 = 3,8 Mo +Size = 3,77 Mo [Section.0410] Description = Multi-protocollo open source per applicazioni di messaggistica istantanea - potrebbe non funzionare del tutto. @@ -33,11 +33,11 @@ Description = Otwarty komunikator internetowy, obsługujący wiele różnych pro [Section.0418] Description = Aplicație de mesagerie instant multiprotocol (cu surse deschise) - posibil cu limitări în funcționalitate. -Size = 3,8 Mo +Size = 3,77 Mo [Section.041f] Description = Açık kaynak, çoklu iletişim kâideli, evgin iletileşme uygulaması. Eksiksiz olarak çalışmayabilir. -Size = 3,8 MB +Size = 3,77 MB [Section.0422] Description = Відкрита мультипротокольна програма миттєвих повідомлень - може не працювати повністю. diff --git a/base/applications/rapps/rapps/mirc.txt b/base/applications/rapps/rapps/mirc.txt index c66a9f604b3..05d8d343c69 100644 --- a/base/applications/rapps/rapps/mirc.txt +++ b/base/applications/rapps/rapps/mirc.txt @@ -3,13 +3,13 @@ [Section] Name = mIRC 7 -Version = 7.34 -Licence = Shareware +Version = 7.36 +License = Shareware Description = The most popular client for the Internet Relay Chat (IRC). -Size = 1.89 MB +Size = 2.17 MB Category = 5 URLSite = http://www.mirc.com/ -URLDownload = http://download.mirc.com/9/mirc734.exe +URLDownload = http://download.mirc.com/10/mirc736.exe CDPath = none [Section.0407] @@ -20,7 +20,7 @@ Description = El más popular cliente para Internet Relay Chat (IRC). [Section.040c] Description = Le client le plus populaire pour l'Internet Relay Chat (IRC). -Size = 1,89 Mo +Size = 2,17 Mo [Section.0410] Description = Il famoso client per Internet Relay Chat (IRC). @@ -32,14 +32,14 @@ Description = De meest populaire afnemer voor Internet Relay Chat (IRC). Description = Najpopularniejszy klient IRC (Internet Relay Chat). [Section.0418] -Licence = Versiune de evaluare +License = Versiune de evaluare Description = Cel mai popular client de IRC (Internet Relay Chat). -Size = 1,89 Mo +Size = 2,17 Mo [Section.041f] -Licence = Paylaşımlı +License = Paylaşımlı Description = Umûmî Ağ Eş Zamanlı Söyleşi (IRC) için en çok tutulan istemci. -Size = 1,89 MB +Size = 2,17 MB [Section.0422] Description = Найпопулярніший клієнт IRC (Internet Relay Chat). diff --git a/base/applications/rapps/rapps/mirc6.txt b/base/applications/rapps/rapps/mirc6.txt index 70327578535..bf1528b4c2b 100644 --- a/base/applications/rapps/rapps/mirc6.txt +++ b/base/applications/rapps/rapps/mirc6.txt @@ -4,7 +4,7 @@ [Section] Name = mIRC 6 Version = 6.35 -Licence = Shareware +License = Shareware Description = The most popular client for the Internet Relay Chat (IRC). Size = 1.67 MB Category = 5 @@ -32,12 +32,12 @@ Description = De meest populaire afnemer voor Internet Relay Chat (IRC). Description = Najpopularniejszy klient IRC (Internet Relay Chat). [Section.0418] -Licence = Versiune de evaluare +License = Versiune de evaluare Description = Cel mai popular client de IRC (Internet Relay Chat). Size = 1,67 Mo [Section.041f] -Licence = Paylaşımlı +License = Paylaşımlı Description = Umûmî Ağ Eş Zamanlı Söyleşi (IRC) için en çok tutulan istemci. Size = 1,67 MB diff --git a/base/applications/rapps/rapps/mono2.txt b/base/applications/rapps/rapps/mono2.txt index e691987514a..8113e192dd1 100644 --- a/base/applications/rapps/rapps/mono2.txt +++ b/base/applications/rapps/rapps/mono2.txt @@ -3,13 +3,13 @@ [Section] Name = Mono .NET Development Framework -Version = 2.11.4 -Licence = Unknown +Version = 3.2.3 +License = Unknown Description = Open-source .NET Framework. -Size = 91.93 MB +Size = 98.49 MB Category = 14 URLSite = http://www.mono-project.com/ -URLDownload = http://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/3.2.3/windows-installer/mono-3.2.3-gtksharp-2.12.11-win32-0.exe CDPath = none [Section.0407] @@ -20,7 +20,7 @@ Description = Versión open-source de .NET Framework. [Section.040c] Description = Framework .NET open source. -Size = 91,93 Mo +Size = 98,49 Mo [Section.0410] Description = Versione Open-source di .NET Framework. @@ -29,15 +29,15 @@ Description = Versione Open-source di .NET Framework. Description = Pakiet Mono .NET Framework dla Programistów. [Section.0418] -Licence = Nespecificată +License = Nespecificată Description = Platformă .NET (cu surse deschise). -Size = 91,93 Mo +Size = 98,49 Mo [Section.041f] Name = Mono .NET Geliştirme Çatısı -Licence = Bilinmiyor +License = Bilinmiyor Description = Açık kaynak .NET Çatısı. -Size = 91,93 MB +Size = 98,49 MB [Section.0422] Description = Відкритий .NET Фреймворк. diff --git a/base/applications/rapps/rapps/mpc.txt b/base/applications/rapps/rapps/mpc.txt index c383b171e7e..7165e9ae3db 100644 --- a/base/applications/rapps/rapps/mpc.txt +++ b/base/applications/rapps/rapps/mpc.txt @@ -3,13 +3,13 @@ [Section] Name = Media Player Classic Home Cinema -Version = 1.7.6 -Licence = GPL +Version = 1.7.7 +License = GPL Description = A media player. -Size = 10.3 MB +Size = 10.7 MB Category = 2 URLSite = http://mpc-hc.org/ -URLDownload = http://download.sourceforge.net/project/mpc-hc/MPC%20HomeCinema%20-%20Win32/MPC-HC_v1.7.6_x86/MPC-HC.1.7.6.x86.exe +URLDownload = http://download.sourceforge.net/project/mpc-hc/MPC%20HomeCinema%20-%20Win32/MPC-HC_v1.7.7_x86/MPC-HC.1.7.7.x86.exe CDPath = none [Section.0407] @@ -20,7 +20,7 @@ Description = Reproductor multimedia. [Section.040c] Description = Un lecteur media. -Size = 10,3 Mo +Size = 10,7 Mo [Section.0410] Description = Lettore multimediale. @@ -33,7 +33,7 @@ Description = Odtwarzacz multimediów. [Section.0418] Description = Lector multimedia. -Size = 10,3 Mo +Size = 10,7 Mo [Section.0419] Description = Мультимедийный проигрыватель. @@ -43,7 +43,7 @@ Description = Multimediálny prehrávač. [Section.041f] Description = Bir ortam oynatıcısı. -Size = 10,3 MB +Size = 10,7 MB [Section.0422] Description = Мультимедійний програвач. diff --git a/base/applications/rapps/rapps/mpxplay.txt b/base/applications/rapps/rapps/mpxplay.txt index 00f9e566c76..e155a03e72c 100644 --- a/base/applications/rapps/rapps/mpxplay.txt +++ b/base/applications/rapps/rapps/mpxplay.txt @@ -5,7 +5,7 @@ [Section] Name = Mpxplay Version = 1.60b -Licence = GPL +License = 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 diff --git a/base/applications/rapps/rapps/msxml3.txt b/base/applications/rapps/rapps/msxml3.txt index 70c46fac930..edb8fe80d84 100644 --- a/base/applications/rapps/rapps/msxml3.txt +++ b/base/applications/rapps/rapps/msxml3.txt @@ -4,7 +4,7 @@ [Section] Name = Microsoft XML 3 Version = 3.0 -Licence = Unknown +License = Unknown Description = MSXML3 is needed for some MSI Installers. Contains: msxml3.dll, msxml3a.dll, msxml3r.dll. Size = 1.85 MB Category = 14 @@ -13,44 +13,44 @@ URLDownload = ftp://ftp.uni-rostock.de/pub/tools/microsoft/XML/US/msxml3.msi CDPath = none [Section.0407] -Licence = Unbekannt +License = Unbekannt Description = MSXML3 wird von einigen MSI Installern benötigt. Beinhaltet: msxml3.dll, msxml3a.dll, msxml3r.dll. [Section.040a] -Licence = Desconocida +License = Desconocida Description = MSXML3 para varios instaladores MSI. Incluye: msxml3.dll, msxml3a.dll, msxml3r.dll. [Section.040c] -Licence = Inconnue +License = Inconnue Description = MSXML3 est nécessaire pour certains installateurs MSI. Contient: msxml3.dll, msxml3a.dll, msxml3r.dll. Size = 1,85 Mo [Section.0410] -Licence = Sconosciuto +License = Sconosciuto Description = MSXML3 è necessario per alcuni installatori MSI. Contiene: msxml3.dll, msxml3a.dll, msxml3r.dll. [Section.0413] -Licence = Ongekend +License = Ongekend Description = MSXML3 is nodig voor bepaalde MSI installaties. Bevat: msxml3.dll, msxml3a.dll, msxml3r.dll. [Section.0415] -Licence = Nieznana +License = Nieznana Description = Niektóre spośród plików instalacyjnych MSI potrzebują parsera MSXML3. Zawiera: msxml3.dll, msxml3a.dll, msxml3r.dll. [Section.0418] -Licence = Nespecificată +License = Nespecificată Description = MSXML3 este necesar unor Instalatori MSI. Conține: msxml3.dll, msxml3a.dll, msxml3r.dll. Size = 1,85 Mo [Section.041f] -Licence = Bilinmiyor +License = Bilinmiyor Description = MSXML3, birtakım Microsoft Yükleyicileri için gereklidir. Şunları içerir: msxml3.dll, msxml3a.dll, msxml3r.dll. Size = 1,85 MB [Section.0422] -Licence = Невідома +License = Невідома Description = MSXML3 необхідна для декотрих MSI інсталяторів. включає: msxml3.dll, msxml3a.dll, msxml3r.dll. [Section.0813] -Licence = Ongekend +License = Ongekend Description = MSXML3 is nodig voor bepaalde MSI installaties. Bevat: msxml3.dll, msxml3a.dll, msxml3r.dll. diff --git a/base/applications/rapps/rapps/net11.txt b/base/applications/rapps/rapps/net11.txt index 6a2cf8f1af1..6f022f089e2 100644 --- a/base/applications/rapps/rapps/net11.txt +++ b/base/applications/rapps/rapps/net11.txt @@ -4,7 +4,7 @@ [Section] Name = Microsoft .NET Framework Version 1.1 Redistributable Package Version = 1.1 -Licence = Unknown +License = Unknown Description = Microsoft .NET Framework Version 1.1 - Redistributable Package. Size = 23.14 MB Category = 14 @@ -43,13 +43,13 @@ URLSite = http://www.microsoft.com/pl-PL/download/details.aspx?id=26 URLDownload = http://download.microsoft.com/download/c/9/f/c9f672f3-c14b-4cff-9671-d419842d792d/dotnetfx.exe [Section.0418] -Licence = Nespecificată +License = Nespecificată Description = Platforma Microsoft .NET versiunea 1.1 - Pachet redistributabil. Size = 23,14 Mo [Section.041f] Name = Microsoft .NET Çatısı Sürüm 1.1 Yeniden Dağıtılabilir Paket -Licence = Bilinmiyor +License = Bilinmiyor Description = Microsoft .NET Çatısı Sürüm 1.1 - Yeniden Dağıtılabilir Paket Size = 23,14 MB URLSite = http://www.microsoft.com/tr-TR/download/details.aspx?id=26 diff --git a/base/applications/rapps/rapps/net20.txt b/base/applications/rapps/rapps/net20.txt index 91e2e775dc0..818b079ad59 100644 --- a/base/applications/rapps/rapps/net20.txt +++ b/base/applications/rapps/rapps/net20.txt @@ -4,7 +4,7 @@ [Section] Name = Microsoft .NET Framework Version 2.0 Redistributable Package Version = 2.0 -Licence = Unknown +License = Unknown Description = Microsoft .NET Framework Version 2.0 - Redistributable Package. Size = 22.42 MB Category = 14 @@ -30,12 +30,12 @@ Size = 22.42 MB Description = Microsoft .NET Framework Wersja 2.0 - Pakiet Dystrybucyjny. [Section.0418] -Licence = Nespecificată +License = Nespecificată Description = Platforma Microsoft .NET versiunea 2.0 - Pachet redistributabl. Size = 22,42 Mo [Section.041f] Name = Microsoft .NET Çatısı Sürüm 2.0 Yeniden Dağıtılabilir Paket -Licence = Bilinmiyor +License = Bilinmiyor Description = Microsoft .NET Çatısı Sürüm 2.0 - Yeniden Dağıtılabilir Paket Size = 22,42 MB diff --git a/base/applications/rapps/rapps/net20sp2.txt b/base/applications/rapps/rapps/net20sp2.txt index f11e5a45963..9db96a245a6 100644 --- a/base/applications/rapps/rapps/net20sp2.txt +++ b/base/applications/rapps/rapps/net20sp2.txt @@ -4,7 +4,7 @@ [Section] Name = Microsoft .NET Framework Version 2.0 Service Pack 2 Version = 2.0SP2 -Licence = Unknown +License = Unknown Description = Microsoft .NET Framework Version 2.0 Service Pack 2. Size = 23.84 MB Category = 14 @@ -35,13 +35,13 @@ Description = Microsoft .NET Framework Wersja 2.0 Service Pack 2. URLSite = http://www.microsoft.com/pl-PL/download/details.aspx?id=1639 [Section.0418] -Licence = Nespecificată +License = Nespecificată Description = Platforma Microsoft .NET versiunea 2.0 - Service Pack 2. Size = 23,84 Mo [Section.041f] Name = Microsoft .NET Çatısı Sürüm 2.0 Hizmet Paketi 2 -Licence = Bilinmiyor +License = Bilinmiyor Description = Microsoft .NET Çatısı Sürüm 2.0 - Hizmet Paketi 2 Size = 23,84 MB URLSite = http://www.microsoft.com/tr-TR/download/details.aspx?id=1639 diff --git a/base/applications/rapps/rapps/nirlauncher.txt b/base/applications/rapps/rapps/nirlauncher.txt index 2aa959aed16..59e3f309f8d 100644 --- a/base/applications/rapps/rapps/nirlauncher.txt +++ b/base/applications/rapps/rapps/nirlauncher.txt @@ -1,17 +1,20 @@ +; UTF-8 +; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) + [Section] Name = NirLauncher -Version = 1.18.69 -Licence = Freeware +Version = 1.19.5 +License = Freeware Description = A package of more than 180 utilities for Windows. -Size = 19.8 MB +Size = 20.2 MB Category = 12 URLSite = http://launcher.nirsoft.net/ -URLDownload = http://download.nirsoft.net/nirsoft_package_1.18.69.zip +URLDownload = http://download.nirsoft.net/nirsoft_package_1.19.5.zip CDPath = none [Section.0407] Description = Ein Paket von mehr als 180 Utilities für Windows. [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = Windows için 180 araçtan daha çoğunun bir paketi. diff --git a/base/applications/rapps/rapps/npp.txt b/base/applications/rapps/rapps/npp.txt index 645f55bcf79..31a701265ad 100644 --- a/base/applications/rapps/rapps/npp.txt +++ b/base/applications/rapps/rapps/npp.txt @@ -3,13 +3,13 @@ [Section] Name = Notepad++ -Version = 6.6.8 -Licence = GPL +Version = 6.6.9 +License = GPL Description = A text editor. -Size = 7.55 MB +Size = 7.58 MB Category = 6 URLSite = http://notepad-plus-plus.org/ -URLDownload = http://download.tuxfamily.org/notepadplus/6.6.8/npp.6.6.8.Installer.exe +URLDownload = http://download.tuxfamily.org/notepadplus/6.6.9/npp.6.6.9.Installer.exe CDPath = none [Section.0407] @@ -20,7 +20,7 @@ Description = Un editor de text. [Section.040c] Description = Un éditeur de texte. -Size = 7,55 Mo +Size = 7,58 Mo URLSite = http://notepad-plus-plus.org/fr/ [Section.0410] @@ -34,7 +34,7 @@ Description = Edytor tekstu. [Section.0418] Description = Un editor de text. -Size = 7,55 Mo +Size = 7,58 Mo [Section.0419] Description = Текстовый редактор. @@ -44,7 +44,7 @@ Description = Textový editor. [Section.041f] Description = Bir metin düzenleyicisi. -Size = 7,55 MB +Size = 7,58 MB [Section.0422] Description = Текстовый редактор. diff --git a/base/applications/rapps/rapps/offbyone.txt b/base/applications/rapps/rapps/offbyone.txt index 5154ff79884..ca4acda950a 100644 --- a/base/applications/rapps/rapps/offbyone.txt +++ b/base/applications/rapps/rapps/offbyone.txt @@ -4,7 +4,7 @@ [Section] Name = Off By One Browser Version = 3.5d -Licence = Freeware +License = Freeware Description = The Off By One Browser is a very small and fast web browser with full HTML 3.2 support. Size = 1010.89 kB Category = 5 @@ -35,13 +35,13 @@ Description = Off By One Browser is een uiterst kleine en snelle web browser met Description = Bardzo mała i szybka przeglądarka internetowa z pełną obsługą HTML 3.2. [Section.0418] -Licence = Gratuită +License = Gratuită Description = Un navigator web foarte mic și rapid compatibil cu HTML 3.2. Size = 1010,89 ko [Section.041f] Name = Off By One Tarayıcı -Licence = Ücretsiz +License = Ücretsiz Description = Off By One Tarayıcı, eksiksiz HTML 3.2 desteğiyle çok küçük ve hızlı bir Umûmî Ağ tarayıcısıdır. Size = 1010,89 KB diff --git a/base/applications/rapps/rapps/openoffice.txt b/base/applications/rapps/rapps/openoffice.txt index 7a8b9661a0f..5eb9685711d 100644 --- a/base/applications/rapps/rapps/openoffice.txt +++ b/base/applications/rapps/rapps/openoffice.txt @@ -3,69 +3,68 @@ [Section] Name = OpenOffice 4.1 -Version = 4.1.0 -Licence = LGPL +Version = 4.1.1 +License = LGPL Description = The open source office suite. -Size = 136.79 MB +Size = 140.9 MB Category = 6 URLSite = http://www.openoffice.org/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/en-US/Apache_OpenOffice_4.1.0_Win_x86_install_en-US.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.1/binaries/en-US/Apache_OpenOffice_4.1.1_Win_x86_install_en-US.exe CDPath = none [Section.0407] Description = DIE Open Source Office Suite. -Size = 154.88 MB +Size = 164.9 MB URLSite = http://www.openoffice.org/de/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/de/Apache_OpenOffice_4.1.0_Win_x86_install_de.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.1/binaries/de/Apache_OpenOffice_4.1.1_Win_x86_install_de.exe [Section.040a] Description = La suite de ofimática de código abierto. -Size = 126.29 MB +Size = 130.4 MB URLSite = http://www.openoffice.org/es/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/es/Apache_OpenOffice_4.1.0_Win_x86_install_es.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.1/binaries/es/Apache_OpenOffice_4.1.1_Win_x86_install_es.exe [Section.040c] Description = LA suite bureautique open source. -Size = 127,22 Mo +Size = 132,5 Mo URLSite = http://www.openoffice.org/fr/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/fr/Apache_OpenOffice_4.1.0_Win_x86_install_fr.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.1/binaries/fr/Apache_OpenOffice_4.1.1_Win_x86_install_fr.exe [Section.0410] Description = La suite di office Open Source. -Size = 132.39 MB +Size = 136.3 MB URLSite = http://www.openoffice.org/it/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/it/Apache_OpenOffice_4.1.0_Win_x86_install_it.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.1/binaries/it/Apache_OpenOffice_4.1.1_Win_x86_install_it.exe [Section.0413] Description = Open-bron Office Pakket. -Size = 132.11 MB +Size = 138.9 MB URLSite = http://www.openoffice.org/nl/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/nl/Apache_OpenOffice_4.1.0_Win_x86_install_nl.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.1/binaries/nl/Apache_OpenOffice_4.1.1_Win_x86_install_nl.exe [Section.0415] Description = Otwarty pakiet biurowy. -Size = 127.47 MB +Size = 131.6 MB URLSite = http://www.openoffice.org/pl/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/pl/Apache_OpenOffice_4.1.0_Win_x86_install_pl.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.1/binaries/pl/Apache_OpenOffice_4.1.1_Win_x86_install_pl.exe [Section.0418] Description = Suita de aplicații de birotică cu surse deschise. -Size = 136,79 Mo +Size = 140,9 Mo URLSite = http://www.openoffice.org/ro/ [Section.041f] Description = Bir açık kaynak ofis paketi. -Size = 124,36 MB +Size = 128,3 MB URLSite = http://www.openoffice.org/tr/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/tr/Apache_OpenOffice_4.1.0_Win_x86_install_tr.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.1/binaries/tr/Apache_OpenOffice_4.1.1_Win_x86_install_tr.exe [Section.0422] Description = Відкритий офісний пакет. -Size = 136.79 MB URLSite = http://www.openoffice.org/ua/ [Section.0813] Description = Open-bron Office Pakket. -Size = 132.11 MB +Size = 138.9 MB URLSite = http://www.openoffice.org/nl/ -URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.0/binaries/nl/Apache_OpenOffice_4.1.0_Win_x86_install_nl.exe +URLDownload = http://download.sourceforge.net/project/openofficeorg.mirror/4.1.1/binaries/nl/Apache_OpenOffice_4.1.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 a84fd1ae4aa..0ce0f347730 100644 --- a/base/applications/rapps/rapps/openoffice2.4.txt +++ b/base/applications/rapps/rapps/openoffice2.4.txt @@ -4,7 +4,7 @@ [Section] Name = OpenOffice 2.4 Version = 2.4.3 -Licence = LGPL +License = LGPL Description = The open source office suite. Size = 113 MB Category = 6 diff --git a/base/applications/rapps/rapps/openttd.txt b/base/applications/rapps/rapps/openttd.txt index d2ea313d237..01e8f0b74cb 100644 --- a/base/applications/rapps/rapps/openttd.txt +++ b/base/applications/rapps/rapps/openttd.txt @@ -3,13 +3,13 @@ [Section] Name = OpenTTD -Version = 1.4.1 -Licence = GPL v2 +Version = 1.4.4 +License = GPL v2 Description = Open Source clone of the "Transport Tycoon Deluxe" game engine. You need a copy of Transport Tycoon. Size = 7.0 MB Category = 4 URLSite = http://www.openttd.org/ -URLDownload = http://binaries.openttd.org/releases/1.4.1/openttd-1.4.1-windows-win32.exe +URLDownload = http://binaries.openttd.org/releases/1.4.4/openttd-1.4.4-windows-win32.exe CDPath = none [Section.0407] @@ -36,7 +36,7 @@ Description = Clona (cu surse deschise a) motorului de joc "Transport Tycoon Del Size = 7,0 Mo [Section.041f] -Licence = GPL 2. sürüm +License = GPL 2. sürüm Description = "Transport Tycoon Deluxe" oyun motorunun açık kaynak taklidi. Transport Tycoon'un bir kopyası gerekir. Size = 7,0 MB diff --git a/base/applications/rapps/rapps/opera.txt b/base/applications/rapps/rapps/opera.txt index f27bf72fa2e..67806735f8d 100644 --- a/base/applications/rapps/rapps/opera.txt +++ b/base/applications/rapps/rapps/opera.txt @@ -4,7 +4,7 @@ [Section] Name = Opera Version = 12.17 -Licence = Freeware +License = Freeware Description = The popular Opera Browser with many advanced features and including a Mail and BitTorrent client. Size = 12.57 MB Category = 5 @@ -35,7 +35,7 @@ Description = De populaire Opera Browser met vele gevorderde mogelijkheden, incl Description = Popularna przeglądarka internetowa z wieloma zaawansowanymi funkcjami, zawierająca klientów: poczty oraz BitTorrent. [Section.0418] -Licence = Gratuită +License = Gratuită Description = Navigatorul popular Opera cu multe funcționalități avansate incluzând poștă electronică și un client de BitTorrent. Size = 12,57 Mo @@ -43,7 +43,7 @@ Size = 12,57 Mo Description = Популярный браузер со многими дополнительными возможностями, включающий клиентов почты и BitTorrent. [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = Bir posta ve BitTorrent istemcisini kapsayan birçok gelişmiş husûsiyetle, tutulan Opera Tarayıcı. Size = 12,57 MB diff --git a/base/applications/rapps/rapps/opera9.txt b/base/applications/rapps/rapps/opera9.txt index 74e8511130f..00c9c92c103 100644 --- a/base/applications/rapps/rapps/opera9.txt +++ b/base/applications/rapps/rapps/opera9.txt @@ -4,7 +4,7 @@ [Section] Name = Opera Version = 9.64 -Licence = Freeware +License = Freeware Description = The popular Opera Browser with many advanced features and including a Mail and BitTorrent client. Size = 7.21 MB Category = 5 @@ -35,7 +35,7 @@ Description = De populaire Opera Browser met vele gevorderde mogelijkheden, incl Description = Popularna przeglądarka internetowa z wieloma zaawansowanymi funkcjami, zawierająca klientów: poczty oraz BitTorrent. [Section.0418] -Licence = Gratuită +License = Gratuită Description = Navigatorul popular Opera cu multe funcționalități avansate incluzând poștă electronică și un client de BitTorrent. Size = 7,21 Mo @@ -43,7 +43,7 @@ Size = 7,21 Mo Description = Популярный браузер со многими дополнительными возможностями, включающий клиентов почты и BitTorrent. [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = Bir posta ve BitTorrent istemcisini kapsayan birçok gelişmiş husûsiyetle, tutulan Opera Tarayıcı. Size = 7,21 MB diff --git a/base/applications/rapps/rapps/peazip.txt b/base/applications/rapps/rapps/peazip.txt index f52aa0f50f6..87be8423bd3 100644 --- a/base/applications/rapps/rapps/peazip.txt +++ b/base/applications/rapps/rapps/peazip.txt @@ -3,13 +3,13 @@ [Section] Name = PeaZip -Version = 5.4.0 -Licence = LGPL v3, OpenCandy EULA +Version = 5.5.0 +License = LGPL v3, OpenCandy EULA Description = PeaZip is a free, cross-platform, open source file and archive manager. It supports over 150 archive formats. -Size = 5.8 MB +Size = 5.9 MB Category = 12 URLSite = http://peazip.sourceforge.net/ -URLDownload = http://download.sourceforge.net/project/peazip/5.4.0/peazip-5.4.0.WINDOWS.exe +URLDownload = http://download.sourceforge.net/project/peazip/5.5.0/peazip-5.5.0.WINDOWS.exe CDPath = none [Section.0407] @@ -23,9 +23,9 @@ PeaZip to darmowy, wieloplatformowy menedżer plików i archiwów, o otwartym ź [Section.0418] Description = PeaZip este un gestionar de fișiere și arhive gratuit, multi-platformă, cu sursă deschisă. Recunoaște peste 150 tipuri de arhive. -Size = 5,8 Mo +Size = 5,9 Mo [Section.041f] -Licence = LGPL 3. sürüm, OpenCandy EULA +License = LGPL 3. sürüm, OpenCandy EULA Description = PeaZip; ücretsiz, çapraz platform, açık kaynak kütük ve belgelik yöneticisidir. 150'den çok belgelikleme biçimini destekler. -Size = 5,8 MB +Size = 5,9 MB diff --git a/base/applications/rapps/rapps/pengupop.txt b/base/applications/rapps/rapps/pengupop.txt index ac058a0bfd6..17b24474673 100644 --- a/base/applications/rapps/rapps/pengupop.txt +++ b/base/applications/rapps/rapps/pengupop.txt @@ -5,7 +5,7 @@ [Section] Name = Pengupop Version = 2.2.3 -Licence = GPL +License = GPL Description = The purpose of this game is to shoot colored orbs into your playfield, so they form groups of three or more. Size = 384 kB Category = 4 diff --git a/base/applications/rapps/rapps/photofiltre.txt b/base/applications/rapps/rapps/photofiltre.txt index 2d5a348ca1c..2976ff6665d 100644 --- a/base/applications/rapps/rapps/photofiltre.txt +++ b/base/applications/rapps/rapps/photofiltre.txt @@ -5,7 +5,7 @@ [Section] Name = PhotoFiltre 7 Version = 7.1.2 -Licence = Freeware +License = 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 Category = 3 @@ -23,11 +23,11 @@ Description = Ta wersja obsługuje warstwy, ale ma większe ograniczenia od Stud Description = Questa versione con pannelli ma più limitata della versione Studio X. PhotoFiltre Studio è un programma di fotoritocco completo. [Section.0418] -Licence = Gratuită +License = Gratuită Description = PhotoFiltre Studio este o aplicație completă de retușare a imaginilor. Size = 4,99 Mo [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = Bu sürüm, katmanlarla gelmektedir ancak Studio X sürümünden daha kısıtlıdır. PhotoFiltre Studio eksiksiz bir resim düzeltme yazılımıdır. Size = 4,99 MB diff --git a/base/applications/rapps/rapps/pingus.txt b/base/applications/rapps/rapps/pingus.txt index 661ced3b738..cb1d4cf5d56 100644 --- a/base/applications/rapps/rapps/pingus.txt +++ b/base/applications/rapps/rapps/pingus.txt @@ -5,7 +5,7 @@ [Section] Name = Pingus Version = 0.7.6 -Licence = GPL +License = GPL Description = Pingus is a free Lemmings-like puzzle game. Size = 16.0 MB Category = 4 diff --git a/base/applications/rapps/rapps/pptview.txt b/base/applications/rapps/rapps/pptview.txt index 378207f5719..34fa7f25075 100644 --- a/base/applications/rapps/rapps/pptview.txt +++ b/base/applications/rapps/rapps/pptview.txt @@ -4,7 +4,7 @@ [Section] Name = Microsoft Powerpoint Viewer Version = 2010 -Licence = Unknown +License = Unknown Description = Microsoft Powerpoint Viewer Size = 60.28 MB Category = 6 @@ -13,55 +13,55 @@ URLDownload = http://download.microsoft.com/download/E/6/7/E675FFFC-2A6D-4AB0-B3 CDPath = none [Section.0407] -Licence = Unbekannt +License = Unbekannt Size = 60.43 MB URLDownload = http://download.microsoft.com/download/9/F/7/9F742C8F-8C70-4498-B4D1-539BE36A1077/PowerPointViewer.exe [Section.040a] -Licence = Desconocida +License = Desconocida Size = 60.48 MB URLDownload = http://download.microsoft.com/download/C/1/A/C1AAD042-4407-4470-97CB-863B869F9EDF/PowerPointViewer.exe [Section.040c] -Licence = Inconnue +License = Inconnue Size = 60,41 Mo URLDownload = http://download.microsoft.com/download/6/B/4/6B4CA627-C0CD-4B27-BE31-0B87AE10F46B/PowerPointViewer.exe [Section.0410] -Licence = Sconosciuta +License = Sconosciuta Size = 60.38 MB URLDownload = http://download.microsoft.com/download/3/F/A/3FA9171A-B310-4F0D-A33A-B16827536FAE/PowerPointViewer.exe [Section.0413] -Licence = Ongekend +License = Ongekend Size = 60.33 MB URLDownload = http://download.microsoft.com/download/9/A/8/9A89B545-E4F4-498C-B265-D74CBB89F4D9/PowerPointViewer.exe [Section.0415] -Licence = Nieznana +License = Nieznana Size = 60.43 MB URLDownload = http://download.microsoft.com/download/9/E/4/9E4A5F9A-210D-44B7-ADA2-F47CE00541ED/PowerPointViewer.exe [Section.0418] Name = Lector Microsoft Powerpoint -Licence = Necunoscută +License = Necunoscută Description = Lector Microsoft Powerpoint Size = 60,4 Mo URLDownload = http://download.microsoft.com/download/5/6/E/56E4DBA3-D725-43EA-B1E5-DC148022999C/PowerPointViewer.exe [Section.041f] Name = Microsoft Powerpoint Görüntüleyici -Licence = Bilinmiyor +License = Bilinmiyor Description = Microsoft Powerpoint Görüntüleyici Size = 60,4 MB URLDownload = http://download.microsoft.com/download/4/6/4/4641DACB-5DE8-4E3A-B8F4-39A1C73889D3/PowerPointViewer.exe [Section.0422] -Licence = Невідома +License = Невідома Size = 60.52 MB URLDownload = http://download.microsoft.com/download/C/E/8/CE879E6E-D3F3-4234-A968-9651A3A85D98/PowerPointViewer.exe [Section.0813] -Licence = Ongekend +License = Ongekend Size = 60.33 MB URLDownload = http://download.microsoft.com/download/9/A/8/9A89B545-E4F4-498C-B265-D74CBB89F4D9/PowerPointViewer.exe diff --git a/base/applications/rapps/rapps/precisecalc.txt b/base/applications/rapps/rapps/precisecalc.txt new file mode 100644 index 00000000000..fbfad92b4a3 --- /dev/null +++ b/base/applications/rapps/rapps/precisecalc.txt @@ -0,0 +1,18 @@ +; UTF-8 +; Turkish translation by Erdem Ersoy (eersoy93) (erdemersoy@live.com) + +[Section] +Name = Precise Calculator +Version = 2.5 +License = GPLv3 +Description = Precise Calculator is a free and open source scientific calculator for Windows. You need a ZIP decompression program to install it. +Size = 151 kB +Category = 11 +URLSite = http://preccalc.sourceforge.net +URLDownload = http://download.sourceforge.net/preccalc/preccalc-32bit.zip +CDPath = none + +[Section.041f] +License = GPL 3. sürüm +Description = Precise Hesap Makinesi, Windows için özgür ve açık kaynak bir bilimlik hesap makinesidir. Kurmak için bir ZIP çıkartma izlencesi gerekir. +Size = 151 KB diff --git a/base/applications/rapps/rapps/pspad.txt b/base/applications/rapps/rapps/pspad.txt index 07a048e8fcf..18f8af9f9a5 100644 --- a/base/applications/rapps/rapps/pspad.txt +++ b/base/applications/rapps/rapps/pspad.txt @@ -4,13 +4,13 @@ [Section] Name = PSPad -Version = 4.5.7 -Licence = Freeware +Version = 4.5.8 +License = Freeware Description = A text editor. Size = 4.46 MB Category = 6 URLSite = http://www.pspad.com -URLDownload = http://31.31.78.126/pspad/pspad457inst_en.exe +URLDownload = http://pspad.poradna.net/release/pspad458insti_en.exe CDPath = none [Section.0407] @@ -37,7 +37,7 @@ Description = Een teksteditor. Description = Edytor tekstu. [Section.0418] -Licence = Gratuită +License = Gratuită Description = Un editor de text. Size = 4,46 Mo @@ -50,7 +50,7 @@ Description = Textový editor. URLSite = http://www.pspad.com/sk/ [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = Bir metin düzenleyicisi. Size = 4,46 MB diff --git a/base/applications/rapps/rapps/ptanks.txt b/base/applications/rapps/rapps/ptanks.txt index 271b6991836..52db7c66ecf 100644 --- a/base/applications/rapps/rapps/ptanks.txt +++ b/base/applications/rapps/rapps/ptanks.txt @@ -5,7 +5,7 @@ [Section] Name = Pocket Tanks Version = 1.6 -Licence = Shareware +License = Shareware Description = The fastest game of artillery you'll ever play. Size = 2.86 MB Category = 4 @@ -23,11 +23,11 @@ Description = Il gioco d'artiglieria più veloce a cui potrai giocare. Description = Szybka gra artyleryjska [Section.0418] -Licence = Versiune de evaluare +License = Versiune de evaluare Description = Cel mai rapid joc de artilerie pe care-l veți juca vreodată. Size = 2,86 Mo [Section.041f] -Licence = Paylaşımlı +License = Paylaşımlı Description = Şimdiye dek oynayacağınız en hızlı topçuluk oyunu. Size = 2,86 MB diff --git a/base/applications/rapps/rapps/putty.txt b/base/applications/rapps/rapps/putty.txt index 84c56761457..3c87fd98003 100644 --- a/base/applications/rapps/rapps/putty.txt +++ b/base/applications/rapps/rapps/putty.txt @@ -4,7 +4,7 @@ [Section] Name = PuTTY Version = 0.63 -Licence = MIT +License = MIT Description = A free SSH, Telnet, rlogin, and raw TCP client. Size = 1.78 MB Category = 5 diff --git a/base/applications/rapps/rapps/python.txt b/base/applications/rapps/rapps/python.txt index d60fd11133d..1e4bfcc41a5 100644 --- a/base/applications/rapps/rapps/python.txt +++ b/base/applications/rapps/rapps/python.txt @@ -3,13 +3,13 @@ [Section] Name = Python 3 -Version = 3.4.1 -Licence = GPL/LGPL +Version = 3.4.2 +License = GPL/LGPL Description = A remarkably powerful dynamic programming language. -Size = 23.3 MB +Size = 23.39 MB Category = 7 URLSite = http://www.python.org/ -URLDownload = http://www.python.org/ftp/python/3.4.1/python-3.4.1.msi +URLDownload = http://www.python.org/ftp/python/3.4.2/python-3.4.2.msi CDPath = none [Section.0407] @@ -20,7 +20,7 @@ Description = Un lenguaje de programación dinámico sumamente potente. [Section.040c] Description = Un langage de programmation dynamique remarquablement puissant. -Size = 23,3 Mo +Size = 23,39 Mo [Section.0410] Description = Un Linguaggio di programmazione dinamico e potente. @@ -33,11 +33,11 @@ Description = Potęży i dynamiczny język programowania. [Section.0418] Description = Un limbaj de programare dinamic și puternic. -Size = 23,3 Mo +Size = 23,39 Mo [Section.041f] Description = Dikkat çekici, güçlü ve devingen bir izlenceleme dili. -Size = 23,3 MB +Size = 23,39 MB [Section.0422] Description = Дуже потужна динамічна мова програмування. diff --git a/base/applications/rapps/rapps/python2.txt b/base/applications/rapps/rapps/python2.txt index 23b90742890..b30b7762f8a 100644 --- a/base/applications/rapps/rapps/python2.txt +++ b/base/applications/rapps/rapps/python2.txt @@ -3,13 +3,13 @@ [Section] Name = Python 2 -Version = 2.7.6 -Licence = GPL/LGPL +Version = 2.7.8 +License = GPL/LGPL Description = A remarkably powerful dynamic programming language. -Size = 15.48 MB +Size = 15.93 MB Category = 7 URLSite = http://www.python.org/ -URLDownload = http://www.python.org/ftp/python/2.7.6/python-2.7.6.msi +URLDownload = http://www.python.org/ftp/python/2.7.8/python-2.7.8.msi CDPath = none [Section.0407] @@ -20,7 +20,7 @@ Description = Un lenguaje de programación dinámico sumamente potente. [Section.040c] Description = Un langage de programmation dynamique remarquablement puissant. -Size = 15,48 Mo +Size = 15,93 Mo [Section.0410] Description = Un Linguaggio di programmazione dinamico e potente. @@ -33,11 +33,11 @@ Description = Potęży i dynamiczny język programowania. [Section.0418] Description = Un limbaj de programare dinamic și puternic. -Size = 15,48 Mo +Size = 15,93 Mo [Section.041f] Description = Dikkat çekici, güçlü ve devingen bir izlenceleme dili. -Size = 15,48 MB +Size = 15,93 MB [Section.0422] Description = Дуже потужна динамічна мова програмування. diff --git a/base/applications/rapps/rapps/qb64sdl.txt b/base/applications/rapps/rapps/qb64sdl.txt index ae334963d4b..98dee7aa862 100644 --- a/base/applications/rapps/rapps/qb64sdl.txt +++ b/base/applications/rapps/rapps/qb64sdl.txt @@ -5,7 +5,7 @@ [Section] Name = QB64 (SDL version) Version = 0.980 -Licence = Freeware +License = Freeware Description = QB64 is a self-hosting BASIC compiler for Microsoft Windows, Linux and Mac OS X, designed to be compatible with Microsoft QBasic and Microsoft QuickBASIC. You need 7-Zip or a similar utility to extract it. Size = 39.0 MB Category = 7 @@ -23,12 +23,12 @@ Description = QB64 è un compilatore auto ospitante per Microsoft Windows, Linux Description = QB64 to kompilator BASIC zdolny do kompilacji własnego kodu źródłowego. Działa w systemach Windows, Linux i Mac OS X. Jest kompatybilny z Microsoft QBasic i QuickBASIC. Wymaga programu archiwizującego do wypakowania. [Section.0418] -Licence = Gratuită +License = 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 = 39,0 Mo [Section.041f] Name = QB64 (SDL sürümü) -Licence = Ücretsiz +License = Ücretsiz Description = QB64; Microsoft Windows, Linux ve Mac OS X için, Microsoft QBasic ve Microsoft QuickBASIC ile uyumlu olacak biçimde tasarlanmış, kendi kendini derleyen bir BASIC derleyicisidir. Çıkartmak için 7-Zip ya da benzeri bir yazılım kullanmanız gerekir. Size = 39,0 MB diff --git a/base/applications/rapps/rapps/qmmp.txt b/base/applications/rapps/rapps/qmmp.txt index e0eddbf0da0..a1e7de346be 100644 --- a/base/applications/rapps/rapps/qmmp.txt +++ b/base/applications/rapps/rapps/qmmp.txt @@ -4,13 +4,13 @@ [Section] Name = Qmmp (Qt-based Multimedia Player) -Version = 0.8.0 -Licence = GPL +Version = 0.8.2 +License = 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 = 12.49 MB +Size = 12.66 MB Category = 1 URLSite = http://qmmp.ylsoftware.com/ -URLDownload = http://qmmp.ylsoftware.com/files/windows/qmmp-0.8.0-win32.exe +URLDownload = http://qmmp.ylsoftware.com/files/windows/qmmp-0.8.2-win32.exe CDPath = none [Section.0407] @@ -25,7 +25,7 @@ Description = Gmmp to odtwarzacz audio, napisany z pomocą biblioteki Qt. Interf [Section.0418] Name = Qmmp (Lector Multimedia bazat pe Qt) 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 = 12,49 Mo +Size = 12,66 Mo [Section.0419] Description = Аудиоплеер Qmmp (Qt-based Multimedia Player). @@ -33,4 +33,4 @@ Description = Аудиоплеер Qmmp (Qt-based Multimedia Player). [Section.041f] Name = Qmmp (Qt Tabanlı Çoklu Ortam Oynatıcısı) Description = Qmmp, Qt kitaplığının yardımıyla yazılmış bir ses oynatıcısıdır. Kullanıcı arayüzü WinAMP'a ve XMMS'ye benzer. Başka kullanıcı arayüzleri de vardır. -Size = 12,49 MB +Size = 12,66 MB diff --git a/base/applications/rapps/rapps/remood.txt b/base/applications/rapps/rapps/remood.txt index 8d5aad16c01..920ad4f068f 100644 --- a/base/applications/rapps/rapps/remood.txt +++ b/base/applications/rapps/rapps/remood.txt @@ -4,7 +4,7 @@ [Section] Name = ReMooD Version = 0.8a -Licence = GPL +License = 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.15 MB Category = 4 diff --git a/base/applications/rapps/rapps/reshack.txt b/base/applications/rapps/rapps/reshack.txt index c461c41d3fd..17462bba0a3 100644 --- a/base/applications/rapps/rapps/reshack.txt +++ b/base/applications/rapps/rapps/reshack.txt @@ -5,7 +5,7 @@ [Section] Name = Resource Hacker Version = 3.6.0 -Licence = Freeware +License = 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 Category = 7 @@ -23,11 +23,11 @@ Description = Resource Hacker, è uno strumento freewere per vedere, modificare, Description = Resource Hacker to darmowe narzędzie do podglądu, modyfikacji, zmiany nazw, dodawania, kasowania i wypakowywania zasobów w plikach wykonywalnych 32bit i 64bit, oraz w plikach zasobów (*.res). [Section.0418] -Licence = Gratuită +License = 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] -Licence = Ücretsiz +License = Ücretsiz Description = Resoure Hacker, 32 ve 64 bitlik Windows çaılştırılabilirlerindeki ve kaynak kütüklerindeki (*.res) kaynakları görüntülemek, değiştirmek, yeniden adlandırmak, eklemek, silmek ve çıkartmak için ücretsiz bir araçtır. Size = 730 KB diff --git a/base/applications/rapps/rapps/rocks.txt b/base/applications/rapps/rapps/rocks.txt index e2f09273001..ab52561e77f 100644 --- a/base/applications/rapps/rapps/rocks.txt +++ b/base/applications/rapps/rapps/rocks.txt @@ -5,7 +5,7 @@ [Section] Name = Rocks'n'Diamonds Version = 3.3.1.2 -Licence = GPL v2 +License = GPL v2 Description = Arcade style game for UNIX, Mac OS X, Windows and DOS in the tradition of: "Boulder Dash" (C64), "Emerald Mine" (Amiga), "Supaplex" (Amiga/PC), "Sokoban" (PC). You need a ZIP decompression program to install it. Size = 2.42 MB Category = 4 @@ -27,6 +27,6 @@ Description = Un joc de tip arcadă pentru UNIX, Mac OS X, Windows și DOS; resp Size = 2,42 Mo [Section.041f] -Licence = GPL 2. sürüm +License = GPL 2. sürüm Description = "Boulder Dash" (C64), "Emerald Mine" (Amiga), "Supaplex" (Amiga/PC), "Sokoban" (PC) gelenekleri içinde; UNIX, Mac OS X, Windows ve DOS için atari oyun salonu türünde oyun. Kurmak için bir ZIP çıkartma izlencesi gerekir. Size = 2,42 MB diff --git a/base/applications/rapps/rapps/rosbe.txt b/base/applications/rapps/rapps/rosbe.txt index 1488f648ccc..5221a3d5110 100644 --- a/base/applications/rapps/rapps/rosbe.txt +++ b/base/applications/rapps/rapps/rosbe.txt @@ -4,7 +4,7 @@ [Section] Name = ReactOS Build Environment Version = 2.1.1 -Licence = GPL +License = GPL Description = Allows you to build the ReactOS Source. For more instructions see ReactOS wiki. Size = 28.3 MB Category = 7 diff --git a/base/applications/rapps/rapps/rosbeamd64.txt b/base/applications/rapps/rapps/rosbeamd64.txt index 5b0ee4559d3..63b8ee08f98 100644 --- a/base/applications/rapps/rapps/rosbeamd64.txt +++ b/base/applications/rapps/rapps/rosbeamd64.txt @@ -4,7 +4,7 @@ [Section] Name = ReactOS Build Environment AMD64 Addon Version = 1.3 -Licence = GPL +License = GPL Description = Allows you to build the ReactOS AMD64 Source. For more instructions see ReactOS wiki. Size = 15.83 MB Category = 7 diff --git a/base/applications/rapps/rapps/rosbearm.txt b/base/applications/rapps/rapps/rosbearm.txt index ca14ebac609..4281c9d6521 100644 --- a/base/applications/rapps/rapps/rosbearm.txt +++ b/base/applications/rapps/rapps/rosbearm.txt @@ -4,7 +4,7 @@ [Section] Name = ReactOS Build Environment ARM Addon Version = 1.0 -Licence = GPL +License = GPL Description = Allows you to build the ReactOS ARM Source. For more instructions see ReactOS wiki. Size = 11.15 MB Category = 7 diff --git a/base/applications/rapps/rapps/sambatng.txt b/base/applications/rapps/rapps/sambatng.txt index ae30ccaad22..f7862d5d584 100644 --- a/base/applications/rapps/rapps/sambatng.txt +++ b/base/applications/rapps/rapps/sambatng.txt @@ -4,7 +4,7 @@ [Section] Name = Samba TNG Version = 0.5-RC1 -Licence = GPL +License = GPL Description = This tool allows you to access your Windows shared folders/printers with ReactOS. Size = 2.13 MB Category = 5 diff --git a/base/applications/rapps/rapps/sbforvmware.txt b/base/applications/rapps/rapps/sbforvmware.txt index 91cff0030fa..4af10a915f3 100644 --- a/base/applications/rapps/rapps/sbforvmware.txt +++ b/base/applications/rapps/rapps/sbforvmware.txt @@ -4,7 +4,7 @@ [Section] Name = SoundBlaster Driver for VMWare Version = 5.12.1.5017 -Licence = Unknown +License = Unknown Description = Unzip in the ReactOS's folder then restart ReactOS twice. Size = 2.22 MB Category = 13 @@ -13,63 +13,63 @@ CDPath = none [Section.0405] Name = Ovladač SoundBlaster pro VMWare -Licence = Neznámá +License = Neznámá Description = Rozbalte do složky "ReactOS" a pak ReactOS dvakrát restartujte. [Section.0407] Name = SoundBlaster Treiber für VMWare -Licence = Unbekannt +License = Unbekannt Description = Entpacken in das "ReactOS"-Verzeichnis und ReactOS zweimal neustarten. [Section.040a] Name = Driver SoundBlaster para VMWare -Licence = Desconocida +License = Desconocida Description = Descomprimir en la carpeta "Reactos" y reiniciar Reactos dos veces. [Section.040c] Name = Pilote SoundBlaster pour VMWare -Licence = Inconnue +License = Inconnue Description = Dézippez dans le répertoire "ReactOS" puis redémarrez deux fois. Size = 2,22 Mo [Section.0410] Name = Driver SoundBlaster per VMWare -Licence = Sconosciuta +License = Sconosciuta Description = Estrarre nella cartella "ReactOS" e riavviare ReactOS due volte. [Section.0413] Name = SoundBlaster Driver voor VMWare -Licence = Ongekend +License = Ongekend Description = Pak uit in de "ReactOS" folder en start ReactOS tweemaal opnieuw op. [Section.0415] Name = Sterownik SoundBlaster dla VMWare -Licence = Nieznana +License = Nieznana Description = Rozpakuj zawartość w folderze "ReactOS" i dwukrotnie zrestartuj system. [Section.0418] Name = Modul pilot SoundBlaster pentru VMWare -Licence = Nespecificată +License = Nespecificată Description = Dezarhivați în dosarul ReactOS apoi reporniți ReactOS de două ori. Size = 2,22 Mo [Section.0419] Name = Драйвер SoundBlaster для VMWare -Licence = Не указано +License = Не указано Description = Pазархивируйте содержимое в папку "ReactOS", затем дважды перезагрузите систему. [Section.041f] Name = VMWare için SoundBlaster Sürücüsü -Licence = Bilinmiyor +License = Bilinmiyor Description = ReactOS'un dizinine çıkartınız, sonra bilgisayarı iki kez yeniden başlatınız. Size = 2,22 MB [Section.0422] Name = Драйвер SoundBlaster для VMWare -Licence = Невідома +License = Невідома Description = Pозархівуйте вміст в теку "ReactOS" після чого двічі перезавантажте систему. [Section.0813] Name = SoundBlaster Driver voor VMWare -Licence = Ongekend +License = 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 54a5e1db32f..f95454ee27f 100644 --- a/base/applications/rapps/rapps/scite.txt +++ b/base/applications/rapps/rapps/scite.txt @@ -3,13 +3,13 @@ [Section] Name = SciTE -Version = 3.4.4 -Licence = Freeware +Version = 3.5.1 +License = 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 = 736 kB +Size = 744 kB Category = 7 URLSite = http://www.scintilla.org/ -URLDownload = http://download.sourceforge.net/project/scintilla/SciTE/3.4.4/Sc344.exe +URLDownload = http://download.sourceforge.net/project/scintilla/SciTE/3.5.1/Sc351.exe CDPath = none [Section.0407] @@ -20,7 +20,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 = 736 ko +Size = 744 ko [Section.0410] Description = SciTE è un editor di testo basato su scintilla. Originariamente costruito per dimostrare Scintilla, è cresciuto fino a essere un editor generalmente utile con strutture per la creazione e l'esecuzione di programmi. @@ -32,14 +32,14 @@ Description = SciTE is een tekstbewerker gebaseerd op SCIntilla. Origineel bedoe Description = SciTE to edytor tekstu bazowany na SCIntilla. Oryginalnie stworzony aby pokazać Scintille, stał sie ogólnie przydatnym edytorem z infrastrukturą potrzebną do tworzenia i uruchamiania programów. [Section.0418] -Licence = Gratuită +License = 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 = 736 ko +Size = 744 ko [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = SciTE, bir Scintilla tabanlı metin düzenleyicisidir. İlk başta Scintilla'yı göstermek için yapıldı; izlenceleri yapmak ve çalıştırmak yetenekleriyle, umûmiyetle kullanışlı bir düzenleyici olmak için gelişti. -Size = 736 KB +Size = 744 KB [Section.0422] Description = Текстовий редактор на основі SCIntilla. Був зібраний як презентація Scintilla, але виріс до редактора загального користування з засобами збирання та запуску програм. diff --git a/base/applications/rapps/rapps/scummvm.txt b/base/applications/rapps/rapps/scummvm.txt index b3c3c710d2f..ac3eccd3479 100644 --- a/base/applications/rapps/rapps/scummvm.txt +++ b/base/applications/rapps/rapps/scummvm.txt @@ -4,7 +4,7 @@ [Section] Name = ScummVM Version = 1.7.0 -Licence = GPL +License = GPL Description = Software that reproduce the working of graphical engine for videogames (Sam and Max, Day of the Tentacle, etc.) on ReactOS. Size = 6.9 MB Category = 4 diff --git a/base/applications/rapps/rapps/sdl_mixer.txt b/base/applications/rapps/rapps/sdl_mixer.txt index 46647c2621b..70960795f17 100644 --- a/base/applications/rapps/rapps/sdl_mixer.txt +++ b/base/applications/rapps/rapps/sdl_mixer.txt @@ -4,7 +4,7 @@ [Section] Name = Simple Direct Media Layer (SDL) Mixer Version = 1.2.12 -Licence = LGPL +License = LGPL Description = Needed for some open source games to run. You need 7-Zip or a similar utility to extract it. Size = 548.02 kB Category = 14 diff --git a/base/applications/rapps/rapps/sdl_runtime.txt b/base/applications/rapps/rapps/sdl_runtime.txt index b14b37c6971..31bfbcb201f 100644 --- a/base/applications/rapps/rapps/sdl_runtime.txt +++ b/base/applications/rapps/rapps/sdl_runtime.txt @@ -4,7 +4,7 @@ [Section] Name = Simple Direct Media Layer (SDL) Runtime Version = 1.2.15 -Licence = LGPL +License = LGPL Description = Needed for many open source games to run. You need 7-Zip or a similar utility to extract it. Size = 136.67 kB Category = 14 diff --git a/base/applications/rapps/rapps/seamonkey.txt b/base/applications/rapps/rapps/seamonkey.txt index 67f398860b0..20a6a070f78 100644 --- a/base/applications/rapps/rapps/seamonkey.txt +++ b/base/applications/rapps/rapps/seamonkey.txt @@ -3,60 +3,55 @@ [Section] Name = Mozilla SeaMonkey -Version = 2.26 -Licence = MPL/GPL/LGPL +Version = 2.30 +License = 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 = 23.90 MB +Size = 30.05 MB Category = 5 URLSite = http://www.seamonkey-project.org/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/en-US/SeaMonkey%20Setup%202.26.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.30/win32/en-US/SeaMonkey%20Setup%202.30.exe CDPath = none [Section.0407] Description = Mozilla Suite lebt. Dies ist das einzige Browser-, Mail-, Chat- and Composerwerkzeug-Bundle welches Sie benötigen. -Size = 23.80 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/de/SeaMonkey%20Setup%202.26.exe +Size = 29.92 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.30/win32/de/SeaMonkey%20Setup%202.30.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 = 23.79 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/es-ES/SeaMonkey%20Setup%202.26.exe +Size = 29.91 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.30/win32/es-ES/SeaMonkey%20Setup%202.30.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 = 24,06 Mo -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/fr/SeaMonkey%20Setup%202.26.exe +Size = 30,18 Mo +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.30/win32/fr/SeaMonkey%20Setup%202.30.exe [Section.0410] Description = Mozilla Suite è vivo. Questo è l'unico pachetto che include Browser, Mail, Chat, e Composer di cui avrete mai bisogno... -Size = 23.71 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/it/SeaMonkey%20Setup%202.26.exe +Size = 29.84 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.30/win32/it/SeaMonkey%20Setup%202.30.exe [Section.0413] Description = Mozilla Suite bundelt alle applicaties voor het Web: Browser, Mail, Chat, Composer. -Size = 24.40 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/nl/SeaMonkey%20Setup%202.26.exe +Size = 30.52 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.30/win32/nl/SeaMonkey%20Setup%202.30.exe [Section.0415] Description = Pakiet Mozilla żyje. W zestawie: przeglądarka, klient poczty, IRC oraz Edytor HTML - wszystko, czego potrzebujesz. -Size = 24.72 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/pl/SeaMonkey%20Setup%202.26.exe +Size = 30.83 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.30/win32/pl/SeaMonkey%20Setup%202.30.exe [Section.0418] Description = Suita Mozilla. Acest pachet încorporează navigator, poștă electronică, client IRC și editor HTML, acoperind astfel o arie largă de necesități. -Size = 24,7 Mo +Size = 30,17 Mo [Section.0419] Description = Продолжение Mozilla Suite. Включает браузер, почтовый клиент, IRC-клиент и HTML-редактор. -Size = 24.27 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/ru/SeaMonkey%20Setup%202.26.exe +Size = 30.39 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.30/win32/ru/SeaMonkey%20Setup%202.30.exe [Section.041f] Description = Mozilla Bohçası sağ. Bu, hiç gereksinim duymayacağınız, yalnızca Tarayıcı, Posta, Söyleşi ve Yazar bohçasıdır. -Size = 23,83 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/tr/SeaMonkey%20Setup%202.26.exe - -[Section.0422] -Description = Продовження Mozilla Suite. Включає в себе браузер, поштовий клієнт, IRC-клієнт та HTML-редактор. -Size = 24.27 MB -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.26/win32/ru/SeaMonkey%20Setup%202.26.exe +Size = 29,89 MB +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/2.30/win32/tr/SeaMonkey%20Setup%202.30.exe diff --git a/base/applications/rapps/rapps/smplayer.txt b/base/applications/rapps/rapps/smplayer.txt index a4d68c1d668..dd780426b14 100644 --- a/base/applications/rapps/rapps/smplayer.txt +++ b/base/applications/rapps/rapps/smplayer.txt @@ -3,13 +3,13 @@ [Section] Name = SMPlayer -Version = 14.3.0 -Licence = GPL +Version = 14.9.0 +License = GPL Description = Graphical Frontend for MPlayer. Size = 20.7 MB Category = 2 URLSite = http://smplayer.sourceforge.net/en/ -URLDownload = http://download.sourceforge.net/project/smplayer/SMPlayer/14.3.0/smplayer-14.3.0-oc2-win32.exe +URLDownload = http://download.sourceforge.net/project/smplayer/SMPlayer/14.9.0/smplayer-14.9.0-win32.exe CDPath = none [Section.0407] diff --git a/base/applications/rapps/rapps/snoopy.txt b/base/applications/rapps/rapps/snoopy.txt index ce477e6378e..9bb20072f87 100644 --- a/base/applications/rapps/rapps/snoopy.txt +++ b/base/applications/rapps/rapps/snoopy.txt @@ -4,7 +4,7 @@ [Section] Name = Snoopy Version = 1.0 -Licence = Freeware +License = Freeware Description = The original C64 Snoopy remake. Size = 704 kB Category = 4 @@ -20,11 +20,11 @@ URLSite = http://www.blueskied.com/spiele-spielen/snoopy.htm Description = Il remake del gioco Snoopy per Commodore 64. [Section.0418] -Licence = Gratuită +License = Gratuită Description = Recrearea jocului Snoppy (original pe C64). Size = 704 ko [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = Özgün C64 Snoopy'in yeniden yapılmışı. Size = 704 KB diff --git a/base/applications/rapps/rapps/steam.txt b/base/applications/rapps/rapps/steam.txt index 82d13f58ff3..31163133f5b 100644 --- a/base/applications/rapps/rapps/steam.txt +++ b/base/applications/rapps/rapps/steam.txt @@ -3,7 +3,7 @@ [Section] Name = Steam -Licence = Freeware +License = Freeware Description = The Steam gaming platform used by many games these days. Size = 1.59 MB Category = 4 @@ -37,13 +37,13 @@ Description = Steam - platforma, którą używa obecnie wiele gier. URLSite = http://store.steampowered.com/?l=polish [Section.0418] -Licence = Gratuită +License = Gratuită Description = Platforma de joc Steam, utilizată de multe jocuri în zilele de astăzi. Size = 1,59 Mo URLSite = http://store.steampowered.com/?l=romanian [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = Bugünlerde Steam oyun platformu birçok oyun eliyle kullanılmaktadır. Size = 1,59 MB URLSite = http://store.steampowered.com/?l=turkish diff --git a/base/applications/rapps/rapps/sumatrapdf.txt b/base/applications/rapps/rapps/sumatrapdf.txt index ca3b4f641d1..ee1b474bfcf 100644 --- a/base/applications/rapps/rapps/sumatrapdf.txt +++ b/base/applications/rapps/rapps/sumatrapdf.txt @@ -4,12 +4,12 @@ [Section] Name = SumatraPDF Version = 2.5.2 -Licence = GPLv3 +License = GPLv3 Description = Sumatra PDF is a slim, free, open-source PDF reader. Portable out of the box. 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.5.2-install.exe +URLDownload = http://kjkpub.s3.amazonaws.com/sumatrapdf/rel/SumatraPDF-2.5.2-install.exe CDPath = none [Section.0407] @@ -40,7 +40,7 @@ Size = 4,0 Mo URLSite = http://blog.kowalczyk.info/software/sumatrapdf/free-pdf-reader-ro.html [Section.041f] -Licence = GPL 3. sürüm +License = GPL 3. sürüm Description = SumatraPDF; yeğni, ücretsiz ve açık kaynak bir PDF okuyucusudur. Kutunun dışında taşınabilirdir. Size = 4,0 MB diff --git a/base/applications/rapps/rapps/summerbound.txt b/base/applications/rapps/rapps/summerbound.txt index 82c884450d3..5df5d172929 100644 --- a/base/applications/rapps/rapps/summerbound.txt +++ b/base/applications/rapps/rapps/summerbound.txt @@ -4,7 +4,7 @@ [Section] Name = Summer Bound Version = 1.4 -Licence = Freeware +License = Freeware Description = A game similar Frozen Fruits. Size = 764 kB Category = 4 @@ -20,11 +20,11 @@ URLSite = http://www.blueskied.com/freeware-spiele/runterladen.htm Description = Un gioco simile a Frozen Fuits [Section.0418] -Licence = Gratuită +License = Gratuită Description = Un joc similar jocului Frozen Fruits. Size = 764 ko [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = Frozen Fruits'e benzeyen bir oyun. Size = 764 KB diff --git a/base/applications/rapps/rapps/superdxb.txt b/base/applications/rapps/rapps/superdxb.txt index 2213f3bc5a4..6d4f21a3cc5 100644 --- a/base/applications/rapps/rapps/superdxb.txt +++ b/base/applications/rapps/rapps/superdxb.txt @@ -5,7 +5,7 @@ [Section] Name = Super DX-Ball Version = 1.1 -Licence = Shareware +License = Shareware Description = Super DX-Ball is a vibrant and colorful brick-breaking game. Size = 3.8 MB Category = 4 @@ -23,11 +23,11 @@ Description = Super DX-Ball è un gioco spacca blocchi vibrante e colorato Description = Super DX-Ball - pełna koloru i animacji gra polegająca na zbijaniu klocków. [Section.0418] -Licence = Versiune de evaluare +License = Versiune de evaluare Description = Un joc ce implică spargerea de cărămizi. Size = 3,8 Mo [Section.041f] -Licence = Paylaşımlı +License = Paylaşımlı Description = Super DX-Ball canlı ve renkli bir tuğla kırma oyunudur. Size = 3,8 MB diff --git a/base/applications/rapps/rapps/superfinder.txt b/base/applications/rapps/rapps/superfinder.txt index c08ee2ab990..2825eb383c7 100644 --- a/base/applications/rapps/rapps/superfinder.txt +++ b/base/applications/rapps/rapps/superfinder.txt @@ -4,7 +4,7 @@ [Section] Name = Super Finder XT Version = 1.6.3.2 -Licence = Freeware +License = Freeware Description = A fast and feature rich search application. Size = 4.94 MB Category = 12 @@ -32,12 +32,12 @@ Description = Een snelle zoekapplicatie rijk aan mogelijkheden. Description = Szybka i bogata w opcje aplikacja szukająca. [Section.0418] -Licence = Gratuită +License = Gratuită Description = Aplicație rapidă de căutări complexe de text. Size = 4,94 Mo [Section.041f] -Licence = Ücretsiz +License = Ücretsiz Description = Hızlı ve husûsiyet zengini bir arama uygulaması. Size = 4,94 MB diff --git a/base/applications/rapps/rapps/supertux.txt b/base/applications/rapps/rapps/supertux.txt index 6f8881f2a0d..9aa739ac745 100644 --- a/base/applications/rapps/rapps/supertux.txt +++ b/base/applications/rapps/rapps/supertux.txt @@ -5,7 +5,7 @@ [Section] Name = SuperTux Version = 0.1.3 -Licence = GPL +License = GPL Description = SuperTux is a free, open-source two-dimensional platform game. Size = 7.3 MB Category = 4 diff --git a/base/applications/rapps/rapps/tahoma.txt b/base/applications/rapps/rapps/tahoma.txt index ae23090eb89..bc478c2aab4 100644 --- a/base/applications/rapps/rapps/tahoma.txt +++ b/base/applications/rapps/rapps/tahoma.txt @@ -4,7 +4,7 @@ [Section] Name = Microsoft Tahoma Font Version = 1.0 -Licence = Unknown +License = Unknown Description = Tahoma Font pack needed by some apps (Steam). Contains: Tahoma.ttf, Tahomabd.ttf. Size = 305.12 kB Category = 14 @@ -13,15 +13,15 @@ URLDownload = http://download.microsoft.com/download/office97pro/fonts/1/w95/en- CDPath = none [Section.0407] -Licence = Unbekannt +License = Unbekannt Description = Tahoma Font Pack, der von einigen Anwendungen benötigt wird (Steam). Beinhaltet: Tahoma.ttf, Tahomabd.ttf. [Section.040a] -Licence = Desconocida +License = Desconocida Description = Paquete de fuente Tahoma, necesaria para ciertas aplicaciones (Steam). Incluye: Tahoma.ttf, Tahomabd.ttf. [Section.040c] -Licence = Inconnue +License = Inconnue Description = Package pour la police Tahoma, nécessaire pour certaines applications (Steam). Contient: Tahoma.ttf, Tahomabd.ttf. Size = 305,12 ko @@ -29,27 +29,27 @@ Size = 305,12 ko Description = Il font pack Tahoma è richiesto da alcune applicazioni (Steam). Contiene: Tahoma.ttf, Tahomabd.ttf. [Section.0413] -Licence = Ongekend +License = Ongekend Description = Tahoma lettertypes gebruikt door een aantal programma's (Steam). Bevat: Tahoma.ttf, Tahomabt.ttf. [Section.0415] Description = Pakiet Czcionki Tahoma wymagany przez niektóre programy (np. Steam). Zawiera: Tahoma.ttf, Tahomabd.ttf. [Section.0418] -Licence = Necunoscută +License = Necunoscută Description = Pachetul Tahoma Font, necesar unor aplicații (Steam). Conține: Tahoma.ttf, Tahomabd.ttf. Size = 305,12 ko [Section.041f] Name = Microsoft Tahoma Yazı Tipi -Licence = Bilinmiyor +License = Bilinmiyor Description = Tahoma Yazı Tipi paketi, Steam gibi birtakım uygulamalar için gereklidir. Şunları içerir: Tahoma.ttf, Tahomabd.ttf. Size = 305,12 KB [Section.0422] -Licence = Невідома +License = Невідома Description = Пакет шрифтів Tahoma, що необхідні деяким програмам (Steam). включає: Tahoma.ttf, Tahomabd.ttf. [Section.0813] -Licence = Ongekend +License = Ongekend Description = Tahoma lettertypes gebruikt door een aantal programma's (Steam). Bevat: Tahoma.ttf, Tahomabt.ttf. diff --git a/base/applications/rapps/rapps/thunderbird.txt b/base/applications/rapps/rapps/thunderbird.txt index a7a5aab6e71..8c4b351df48 100644 --- a/base/applications/rapps/rapps/thunderbird.txt +++ b/base/applications/rapps/rapps/thunderbird.txt @@ -3,77 +3,77 @@ [Section] Name = Mozilla Thunderbird 31 -Version = 31.0 -Licence = MPL/GPL/LGPL +Version = 31.2.0 +License = MPL/GPL/LGPL Description = The most popular and one of the best free Mail Clients out there. Size = 25.25 MB Category = 5 URLSite = https://www.mozilla.org/en-US/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.0/win32/en-US/Thunderbird%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.2.0/win32/en-US/Thunderbird%20Setup%2031.2.0.exe CDPath = none [Section.0407] Description = Der populärste und einer der besten freien Mail-Clients. -Size = 25.09 MB +Size = 25.1 MB URLSite = https://www.mozilla.org/de/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.0/win32/de/Thunderbird%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.2.0/win32/de/Thunderbird%20Setup%2031.2.0.exe [Section.040a] Description = El más popular y uno de los mejores clientes mail que hay. Size = 25.04 MB URLSite = https://www.mozilla.org/es-ES/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.0/win32/es-ES/Thunderbird%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.2.0/win32/es-ES/Thunderbird%20Setup%2031.2.0.exe [Section.040c] Description = Le plus populaire et l'un des meilleurs clients mail gratuits disponible. -Size = 25,39 Mo +Size = 25,4 Mo URLSite = https://www.mozilla.org/fr/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.0/win32/fr/Thunderbird%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.2.0/win32/fr/Thunderbird%20Setup%2031.2.0.exe [Section.0410] Description = Il più popolare e il migliore Client mail gratuito. Size = 25.04 MB URLSite = https://www.mozilla.org/it/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.0/win32/it/Thunderbird%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.2.0/win32/it/Thunderbird%20Setup%2031.2.0.exe [Section.0413] Description = De meest populaire en een van de beste gratis e-mail-programma's. -Size = 25.73 MB +Size = 25.74 MB URLSite = https://www.mozilla.org/nl/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.0/win32/nl/Thunderbird%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.2.0/win32/nl/Thunderbird%20Setup%2031.2.0.exe [Section.0415] Description = Najpopularniejszy i jeden z najlepszych darmowych klientów poczty. -Size = 25.95 MB +Size = 25.96 MB URLSite = https://www.mozilla.org/pl/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.0/win32/pl/Thunderbird%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.2.0/win32/pl/Thunderbird%20Setup%2031.2.0.exe [Section.0418] Description = Cel mai popular și unul dintre cele mai bune clientele gratuite de poștă electronică. Size = 25,61 Mo URLSite = https://www.mozilla.org/ro/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.0/win32/ro/Thunderbird%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.2.0/win32/ro/Thunderbird%20Setup%2031.2.0.exe [Section.0419] Description = Один из самых популярных и лучших бесплатных почтовых клиентов. -Size = 25.5 MB +Size = 25.51 MB URLSite = https://www.mozilla.org/ru/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.0/win32/ru/Thunderbird%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.2.0/win32/ru/Thunderbird%20Setup%2031.2.0.exe [Section.041f] Description = Özgür posta istemcileri arasında en tutulanı ve en iyilerinden biri. -Size = 25,12 MB +Size = 25,13 MB URLSite = https://www.mozilla.org/tr/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.0/win32/tr/Thunderbird%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.2.0/win32/tr/Thunderbird%20Setup%2031.2.0.exe [Section.0422] Description = Найпопулярніший та один з кращих поштових клієнтів. Size = 25.54 MB URLSite = https://www.mozilla.org/uk/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.0/win32/uk/Thunderbird%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.2.0/win32/uk/Thunderbird%20Setup%2031.2.0.exe [Section.0813] Description = De meest populaire en een van de beste gratis e-mail-programma's. -Size = 25.73 MB +Size = 25.74 MB URLSite = https://www.mozilla.org/nl/thunderbird/ -URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.0/win32/nl/Thunderbird%20Setup%2031.0.exe +URLDownload = http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/31.2.0/win32/nl/Thunderbird%20Setup%2031.2.0.exe diff --git a/base/applications/rapps/rapps/thunderbird3.txt b/base/applications/rapps/rapps/thunderbird3.txt index e013e28645d..6f14c49434d 100644 --- a/base/applications/rapps/rapps/thunderbird3.txt +++ b/base/applications/rapps/rapps/thunderbird3.txt @@ -4,7 +4,7 @@ [Section] Name = Mozilla Thunderbird Version = 3.1.20 -Licence = MPL/GPL/LGPL +License = MPL/GPL/LGPL Description = The most popular and one of the best free Mail Clients out there. Size = 9.06 MB Category = 5 diff --git a/base/applications/rapps/rapps/tileworld.txt b/base/applications/rapps/rapps/tileworld.txt index 70b2ce163c9..9fa44d21ba4 100644 --- a/base/applications/rapps/rapps/tileworld.txt +++ b/base/applications/rapps/rapps/tileworld.txt @@ -4,7 +4,7 @@ [Section] Name = Tile World Version = 1.3.0 -Licence = GPL +License = 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.16 MB Category = 4 diff --git a/base/applications/rapps/rapps/totalcommander.txt b/base/applications/rapps/rapps/totalcommander.txt index 415fb579db2..fe940d917fb 100644 --- a/base/applications/rapps/rapps/totalcommander.txt +++ b/base/applications/rapps/rapps/totalcommander.txt @@ -4,7 +4,7 @@ [Section] Name = Total Commander Version = 8.51a -Licence = Shareware +License = Shareware Description = Total Commander is a file manager with two panels side by side. Size = 3.55 MB Category = 12 @@ -26,12 +26,12 @@ 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 +License = Versiune de evaluare Description = Total Commander este un gestionar de fișiere după modelul «două paneluri alăturate». Size = 3,55 Mo [Section.041f] -Licence = Paylaşımlı +License = Paylaşımlı Description = Total Commander, yan yana iki bölmeli bir kütük yöneticisidir. Size = 3,55 MB diff --git a/base/applications/rapps/rapps/tuxpaint.txt b/base/applications/rapps/rapps/tuxpaint.txt index 49209fd4d3a..bf547676fcf 100644 --- a/base/applications/rapps/rapps/tuxpaint.txt +++ b/base/applications/rapps/rapps/tuxpaint.txt @@ -3,13 +3,13 @@ [Section] Name = TuxPaint -Version = 0.9.21c -Licence = GPL +Version = 0.9.22 +License = GPL Description = An open source bitmap graphics editor geared towards young children. -Size = 10.42 MB +Size = 13.5 MB Category = 3 URLSite = http://tuxpaint.org/ -URLDownload = http://download.sourceforge.net/project/tuxpaint/tuxpaint/0.9.21c/tuxpaint-0.9.21c-win32-installer.exe +URLDownload = http://download.sourceforge.net/project/tuxpaint/tuxpaint/0.9.22/tuxpaint-0.9.22-win32-installer.exe CDPath = none [Section.0405] @@ -23,7 +23,7 @@ Description = Editor gráfico de imágenes pensado para niños de código abiert [Section.040c] Description = Un éditeur graphic bitmap open source orienté pour les jeunes enfants. -Size = 10,42 Mo +Size = 13,5 Mo [Section.0410] Description = Un editore grafico per bitmap open source creato per i bambini. @@ -36,11 +36,11 @@ Description = Otwarty program graficzny przeznaczony głównie dla dzieci. [Section.0418] Description = Un editor grafic bitmap, adresat copiilor. -Size = 10,42 Mo +Size = 13,5 Mo [Section.041f] Description = Küçük çocuklar için yapılmış bir açık kaynak bit eşlem çizge düzenleyicisi. -Size = 10,42 MB +Size = 13,5 MB [Section.0422] Description = Відкритий графічний редактор для малих дітей. diff --git a/base/applications/rapps/rapps/ultravnc.txt b/base/applications/rapps/rapps/ultravnc.txt index e18e1094f89..d89f31b9276 100644 --- a/base/applications/rapps/rapps/ultravnc.txt +++ b/base/applications/rapps/rapps/ultravnc.txt @@ -3,13 +3,13 @@ [Section] Name = UltraVNC -Version = 1.1.9.0 -Licence = GPL +Version = 1.2.0.3 +License = GPL Description = Open source VNC client/server. -Size = 3.27 MB +Size = 3.22 MB Category = 5 URLSite = http://www.uvnc.com/ -URLDownload = http://support1.uvnc.com/download/1190/UltraVNC_1_1_9_X86_Setup.exe +URLDownload = http://www.uvnc.eu/download/1203/UltraVNC_1_2_03_X86_Setup.exe CDPath = none [Section.0407] @@ -20,7 +20,7 @@ Description = Cliente/Servidor VNC de código abierto. [Section.040c] Description = Client/serveur VNC open source. -Size = 3,27 Mo +Size = 3,22 Mo [Section.0410] Description = Client/server VNC open source. @@ -33,11 +33,11 @@ Description = Otwarty klient/serwer VNC. [Section.0418] Description = Client/server VNC (cu surse deschise). -Size = 3,27 Mo +Size = 3,22 Mo [Section.041f] Description = Açık kaynak VNC istemcisi ve sunucusu. -Size = 3,27 MB +Size = 3,22 MB [Section.0422] Description = Відкритий VNC клієнт/сервер. diff --git a/base/applications/rapps/rapps/utorrent.txt b/base/applications/rapps/rapps/utorrent.txt index b465ecaca74..3c03b7e47ea 100644 --- a/base/applications/rapps/rapps/utorrent.txt +++ b/base/applications/rapps/rapps/utorrent.txt @@ -4,61 +4,61 @@ [Section] Name = µTorrent Version = 3.4.2 -Licence = Freeware for non-commercial uses +License = Freeware for non-commercial uses Description = Small and fast BitTorrent Client. -Size = 1.6 MB +Size = 1.61 MB Category = 5 URLSite = http://www.utorrent.com/ URLDownload = http://download-new.utorrent.com/endpoint/utorrent/os/windows/track/stable/utorrent.exe CDPath = none [Section.0407] -Licence = Freeware für nichtkommerzielle Nutzung +License = Freeware für nichtkommerzielle Nutzung Description = Kleiner und schneller BitTorrent Client. [Section.040a] -Licence = Gratuito para uso no comercial +License = Gratuito para uso no comercial Description = Pequeño y rápido cliente BitTorrent. [Section.040c] -Licence = Gratuit pour une utilisation non-commerciale +License = Gratuit pour une utilisation non-commerciale Description = Client BitTorrent petit et rapide. -Size = 1,6 Mo +Size = 1,61 Mo [Section.040c] -Licence = Gratita per un uso non-commerciale +License = Gratita per un uso non-commerciale Description = Piccolo e rapido Client BitTorrent. [Section.0410] -Licence = Gratuita per un uso non-commerciale +License = Gratuita per un uso non-commerciale Description = Piccolo e rapido Client BitTorrent. [Section.0413] -Licence = Freeware voor niet-commerciëel gebruik +License = Freeware voor niet-commerciëel gebruik Description = Kleine en snelle BitTorrent afnemer. [Section.0415] -Licence = Freeware (do użytku domowego) +License = Freeware (do użytku domowego) Description = Mały i szybki klient BitTorrent. [Section.0418] -Licence = Gratuită pentru uz necomercial +License = Gratuită pentru uz necomercial Description = Client BitTorrent, mic și rapid. -Size = 1,6 Mo +Size = 1,61 Mo [Section.0419] -Licence = Бесплатная для некоммерческого использования +License = Бесплатная для некоммерческого использования Description = Маленький и быстрый клиент BitTorrent. [Section.041f] -Licence = Tecimlik olmayan kullanımlar için ücretsiz. +License = Tecimlik olmayan kullanımlar için ücretsiz. Description = Küçük ve hızlı BitTorrent istemcisi. -Size = 1,6 MB +Size = 1,61 MB [Section.0422] -Licence = Безплатна для некомерційного використання +License = Безплатна для некомерційного використання Description = Маленький і швидкий клієнт BitTorrent. [Section.0813] -Licence = Freeware voor niet-commerciëel gebruik +License = Freeware voor niet-commerciëel gebruik Description = Kleine en snelle BitTorrent afnemer. diff --git a/base/applications/rapps/rapps/vb5run.txt b/base/applications/rapps/rapps/vb5run.txt index a588264dbc1..4f1f2e49c10 100644 --- a/base/applications/rapps/rapps/vb5run.txt +++ b/base/applications/rapps/rapps/vb5run.txt @@ -4,7 +4,7 @@ [Section] Name = Microsoft Visual Basic 5 Runtime Version = 5.0 -Licence = Unknown +License = Unknown Description = Microsoft Visual Basic 5 Runtime. Contains: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. Size = 969.59 kB Category = 14 @@ -13,45 +13,45 @@ URLDownload = http://download.microsoft.com/download/vb50pro/utility/1/win98/en- CDPath = none [Section.0407] -Licence = Unbekannt +License = Unbekannt Description = Microsoft Visual Basic 5 Laufzeitsystem. Beinhaltet: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. [Section.040a] -Licence = Desconocida +License = Desconocida Description = Librerias Microsoft Visual Basic 5. Incluye: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. [Section.040c] -Licence = Inconnue +License = Inconnue Description = Bibliothèque Microsoft Visual Basic 5. Contient: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. Size = 969,59 ko [Section.0410] -Licence = Sconosciuta +License = Sconosciuta Description = Libreria Microsoft Visual Basic 5. Contiene: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. [Section.0413] -Licence = Ongekend +License = Ongekend Description = Microsoft Visual Basic 5 Runtime. Bevat: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. [Section.0415] -Licence = Nieznana +License = Nieznana Description = Biblioteki uruchomieniowe Microsoft Visual Basic 5. Zawiera: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. [Section.0418] -Licence = Necunoscută +License = Necunoscută Description = Microsoft Visual Basic 5 Runtime. Conține: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. Size = 969,59 ko [Section.041f] Name = Microsoft Visual Basic 5 Yürütücü -Licence = Bilinmiyor +License = Bilinmiyor Description = Microsoft Visual Basic 5 Yürütücü. Şunları içerir: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. Size = 969,59 KB [Section.0422] -Licence = Невідома +License = Невідома Description = Бібліотеки Microsoft Visual Basic 5. включає: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. [Section.0813] -Licence = Ongekend +License = Ongekend Description = Microsoft Visual Basic 5 Runtime. Bevat: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. diff --git a/base/applications/rapps/rapps/vb6run.txt b/base/applications/rapps/rapps/vb6run.txt index ac1efdf9a65..1290c75a60f 100644 --- a/base/applications/rapps/rapps/vb6run.txt +++ b/base/applications/rapps/rapps/vb6run.txt @@ -4,7 +4,7 @@ [Section] Name = Microsoft Visual Basic 6 Runtime Version = 6.0 -Licence = Unknown +License = Unknown Description = Microsoft Visual Basic 6 Runtime. Contains: advpack.dll, asycfilt.dll, comcat.dll, msvbvm60.dll, oleaut32.dll, olepro32.dll. Size = 1.02 MB Category = 14 @@ -13,45 +13,45 @@ URLDownload = http://download.microsoft.com/download/5/a/d/5ad868a0-8ecd-4bb0-a8 CDPath = none [Section.0407] -Licence = Unbekannt +License = Unbekannt Description = Microsoft Visual Basic 6 Laufzeitsystem. Beinhaltet: advpack.dll, asycfilt.dll, comcat.dll, msvbvm60.dll, oleaut32.dll, olepro32.dll. [Section.040a] -Licence = Desconocida +License = Desconocida Description = Librerias Microsoft Visual Basic 6. Incluye: advpack.dll, asycfilt.dll, comcat.dll, msvbvm60.dll, oleaut32.dll, olepro32.dll. [Section.040c] -Licence = Inconnue +License = Inconnue Description = Bibliothèque Microsoft Visual Basic 6. Contient: advpack.dll, asycfilt.dll, comcat.dll, msvbvm60.dll, oleaut32.dll, olepro32.dll. Size = 1,02 Mo [Section.0410] -Licence = Sconosciuta +License = Sconosciuta Description = Libreria Microsoft Visual Basic 6.Contiene: advpack.dll, asycfilt.dll, comcat.dll, msvbvm50.dll, oleaut32.dll, olepro32.dll. [Section.0413] -Licence = Ongekend +License = Ongekend Description = Microsoft Visual Basic 6 Runtime. Bevat: advpack.dll, asycfilt.dll, comcat.dll, msvbvm60.dll, oleaut32.dll, olepro32.dll. [Section.0415] -Licence = Nieznana +License = Nieznana Description = Biblioteki uruchomieniowe Microsoft Visual Basic 6. Zawiera: advpack.dll, asycfilt.dll, comcat.dll, msvbvm60.dll, oleaut32.dll, olepro32.dll. [Section.0418] -Licence = Necunoscută +License = Necunoscută Description = Microsoft Visual Basic 6 Runtime. Conține: advpack.dll, asycfilt.dll, comcat.dll, msvbvm60.dll, oleaut32.dll, olepro32.dll. Size = 1,02 Mo [Section.041f] Name = Microsoft Visual Basic 6 Yürütücü -Licence = Bilinmiyor +License = Bilinmiyor Description = Microsoft Visual Basic 6 Yürütücü. Şunları içerir: advpack.dll, asycfilt.dll, comcat.dll, msvbvm60.dll, oleaut32.dll, olepro32.dll. Size = 1,02 MB [Section.0422] -Licence = Невідома +License = Невідома Description = Бібліотеки Microsoft Visual Basic 6. включає: advpack.dll, asycfilt.dll, comcat.dll, msvbvm60.dll, oleaut32.dll, olepro32.dll. [Section.0813] -Licence = Ongekend +License = Ongekend Description = Microsoft Visual Basic 6 Runtime. Bevat: advpack.dll, asycfilt.dll, comcat.dll, msvbvm60.dll, oleaut32.dll, olepro32.dll. diff --git a/base/applications/rapps/rapps/vc2005sp1run.txt b/base/applications/rapps/rapps/vc2005sp1run.txt index 278fd96e011..b3f03a8c91c 100644 --- a/base/applications/rapps/rapps/vc2005sp1run.txt +++ b/base/applications/rapps/rapps/vc2005sp1run.txt @@ -4,7 +4,7 @@ [Section] Name = Microsoft Visual C++ 2005 SP1 Redistributable Package Version = 7.1 -Licence = Unknown +License = Unknown Description = Microsoft 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.6 MB Category = 14 @@ -13,45 +13,45 @@ URLDownload = http://download.microsoft.com/download/e/1/c/e1c773de-73ba-494a-a5 CDPath = none [Section.0407] -Licence = Unbekannt +License = Unbekannt Description = Microsoft Visual Studio 2005 Laufzeitsystem SP1. Beinhaltet: atl80.dll, mfc80.dll, mfcm80.dll, mfcm80u.dll, msdia80.dll, msvcm80.dll, msvcp80.dll, msvcr80.dll, vcomp.dll. [Section.040a] -Licence = Desconocida +License = Desconocida Description = Librerias Microsoft Visual Studio 2005 SP1. Incluye: atl80.dll, mfc80.dll, mfcm80.dll, mfcm80u.dll, msdia80.dll, msvcm80.dll, msvcp80.dll, msvcr80.dll, vcomp.dll. [Section.040c] -Licence = Inconnue +License = Inconnue Description = Bibliothèque Microsoft Visual Studio 2005 SP1. Contient: atl80.dll, mfc80.dll, mfcm80.dll, mfcm80u.dll, msdia80.dll, msvcm80.dll, msvcp80.dll, msvcr80.dll, vcomp.dll. Size = 2,6 Mo [Section.0410] -Licence = Sconosciuta +License = Sconosciuta Description = Microsoft Visual Studio 2005 Runtime SP1. Contiene: atl80.dll, mfc80.dll, mfcm80.dll, mfcm80u.dll, msdia80.dll, msvcm80.dll, msvcp80.dll, msvcr80.dll, vcomp.dll. [Section.0413] -Licence = Ongekend +License = Ongekend Description = Microsoft Visual Studio 2005 Runtime SP1. Bevat: atl80.dll, mfc80.dll, mfcm80.dll, mfcm80u.dll, msdia80.dll, msvcm80.dll, msvcp80.dll, msvcr80.dll, vcomp.dll. [Section.0415] -Licence = Nieznana +License = Nieznana Description = Biblioteki uruchomieniowe Microsoft Visual Studio 2005 SP1. Zawiera: atl80.dll, mfc80.dll, mfcm80.dll, mfcm80u.dll, msdia80.dll, msvcm80.dll, msvcp80.dll, msvcr80.dll, vcomp.dll. [Section.0418] -Licence = Necunoscută +License = Necunoscută Description = Microsoft Visual Studio 2005 Runtime SP1. Conține: atl80.dll, mfc80.dll, mfcm80.dll, mfcm80u.dll, msdia80.dll, msvcm80.dll, msvcp80.dll, msvcr80.dll, vcomp.dll. Size = 2,6 Mo [Section.041f] Name = Microsoft Visual C++ 2005 SP1 Yeniden Dağıtılabilir Paket -Licence = Bilinmiyor +License = Bilinmiyor Description = Microsoft Visual Studio 2005 Yürütücü SP1. Şunları içerir: atl80.dll, mfc80.dll, mfcm80.dll, mfcm80u.dll, msdia80.dll, msvcm80.dll, msvcp80.dll, msvcr80.dll, vcomp.dll. Size = 2,6 MB [Section.0422] -Licence = Невідома +License = Невідома Description = Бібліотеки Microsoft Visual Studio 2005 SP1. включає: atl80.dll, mfc80.dll, mfcm80.dll, mfcm80u.dll, msdia80.dll, msvcm80.dll, msvcp80.dll, msvcr80.dll, vcomp.dll. [Section.0813] -Licence = Ongekend +License = Ongekend Description = Microsoft Visual Studio 2005 Runtime SP1. Bevat: atl80.dll, mfc80.dll, mfcm80.dll, mfcm80u.dll, msdia80.dll, msvcm80.dll, msvcp80.dll, msvcr80.dll, vcomp.dll. diff --git a/base/applications/rapps/rapps/vc2008sp1run.txt b/base/applications/rapps/rapps/vc2008sp1run.txt index 48f9ef730ed..b4d6f767f39 100644 --- a/base/applications/rapps/rapps/vc2008sp1run.txt +++ b/base/applications/rapps/rapps/vc2008sp1run.txt @@ -4,7 +4,7 @@ [Section] Name = Microsoft Visual C++ 2008 SP1 Redistributable Package Version = 8.0 -Licence = Unknown +License = Unknown Description = Microsoft 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.02 MB Category = 14 @@ -13,45 +13,45 @@ URLDownload = http://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8d CDPath = none [Section.0407] -Licence = Unbekannt +License = Unbekannt Description = Microsoft Visual Studio 2008 SP1 Laufzeitsystem. Enthält: atl90.dll, mfc90.dll, mfc90u.dll, mfcm90.dll, mfcm90u.dll, msdia90.dll, msvcm90.dll, msvcp90.dll, msvcr90.dll, vcomp90.dll. [Section.040a] -Licence = Desconocida +License = Desconocida Description = Librerias Microsoft Visual Studio 2008 SP1. Incluye: atl90.dll, mfc90.dll, mfc90u.dll, mfcm90.dll, mfcm90u.dll, msdia90.dll, msvcm90.dll, msvcp90.dll, msvcr90.dll, vcomp90.dll. [Section.040c] -Licence = Inconnue +License = Inconnue Description = Bibliothèque Microsoft Visual Studio 2008 SP1. Contient: atl90.dll, mfc90.dll, mfc90u.dll, mfcm90.dll, mfcm90u.dll, msdia90.dll, msvcm90.dll, msvcp90.dll, msvcr90.dll, vcomp90.dll. Size = 4,02 Mo [Section.0410] -Licence = Sconosciuta +License = Sconosciuta Description = Microsoft Visual Studio 2008 Runtime SP1. Contiene: atl90.dll, mfc90.dll, mfc90u.dll, mfcm90.dll, mfcm90u.dll, msdia90.dll, msvcm90.dll, msvcp90.dll, msvcr90.dll, vcomp90.dll. [Section.0413] -Licence = Ongekend +License = Ongekend Description = Microsoft Visual Studio 2008 SP1 Runtime. Bevat: atl90.dll, mfc90.dll, mfc90u.dll, mfcm90.dll, mfcm90u.dll, msdia90.dll, msvcm90.dll, msvcp90.dll, msvcr90.dll, vcomp90.dll. [Section.0415] -Licence = Nieznana +License = Nieznana Description = Biblioteki uruchomieniowe Microsoft Visual Studio 2008 SP1. Zawiera: atl90.dll, mfc90.dll, mfc90u.dll, mfcm90.dll, mfcm90u.dll, msdia90.dll, msvcm90.dll, msvcp90.dll, msvcr90.dll, vcomp90.dll. [Section.0418] -Licence = Necunoscută +License = Necunoscută Description = Microsoft Visual Studio 2008 SP1 Runtime. Conține: atl90.dll, mfc90.dll, mfc90u.dll, mfcm90.dll, mfcm90u.dll, msdia90.dll, msvcm90.dll, msvcp90.dll, msvcr90.dll, vcomp90.dll. Size = 4,02 Mo [Section.041f] Name = Microsoft Visual C++ 2008 SP1 Yeniden Dağıtılabilir Paket -Licence = Bilinmiyor +License = Bilinmiyor Description = Microsoft Visual Studio 2008 SP1 Yürütücü. Şunları içerir: atl90.dll, mfc90.dll, mfc90u.dll, mfcm90.dll, mfcm90u.dll, msdia90.dll, msvcm90.dll, msvcp90.dll, msvcr90.dll, vcomp90.dll. Size = 4,02 MB [Section.0422] -Licence = Невідома +License = Невідома Description = Бібліотеки Microsoft Visual Studio 2008 SP1. включає: atl90.dll, mfc90.dll, mfc90u.dll, mfcm90.dll, mfcm90u.dll, msdia90.dll, msvcm90.dll, msvcp90.dll, msvcr90.dll, vcomp90.dll. [Section.0813] -Licence = Ongekend +License = Ongekend Description = Microsoft Visual Studio 2008 SP1 Runtime. Bevat: atl90.dll, mfc90.dll, mfc90u.dll, mfcm90.dll, mfcm90u.dll, msdia90.dll, msvcm90.dll, msvcp90.dll, msvcr90.dll, vcomp90.dll. diff --git a/base/applications/rapps/rapps/vc2010run.txt b/base/applications/rapps/rapps/vc2010run.txt index 180fc739e1f..243c4d8e9cf 100644 --- a/base/applications/rapps/rapps/vc2010run.txt +++ b/base/applications/rapps/rapps/vc2010run.txt @@ -4,7 +4,7 @@ [Section] Name = Microsoft Visual C++ 2010 Redistributable Package Version = 8.0 -Licence = Unknown +License = Unknown Description = Microsoft 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.8 MB Category = 14 @@ -13,45 +13,45 @@ URLDownload = http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B1 CDPath = none [Section.0407] -Licence = Unbekannt +License = Unbekannt Description = Microsoft Visual Studio 2010 Laufzeitsystem. Beinhaltet: atl100.dll, mfc100.dll, mfc100u.dll, mfcm100.dll, mfcm100u.dll, msdia100.dll, msvcm100.dll, msvcp100.dll, msvcr100.dll, vcomp100.dll. [Section.040a] -Licence = Desconocida +License = Desconocida Description = Librerias Microsoft Visual Studio 2010. Incluye: atl100.dll, mfc100.dll, mfc100u.dll, mfcm100.dll, mfcm100u.dll, msdia100.dll, msvcm100.dll, msvcp100.dll, msvcr100.dll, vcomp100.dll. [Section.040c] -Licence = Inconnue +License = Inconnue Description = Bibliothèque Microsoft 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.8 Mo [Section.0410] -Licence = Sconosciuta +License = Sconosciuta Description = Libreria Microsoft Visual Studio 2010. Include: atl100.dll, mfc100.dll, mfc100u.dll, mfcm100.dll, mfcm100u.dll, msdia100.dll, msvcm100.dll, msvcp100.dll, msvcr100.dll, vcomp100.dll. [Section.0413] -Licence = Ongekend +License = Ongekend Description = Microsoft Visual Studio 2010 Runtime. Bevat: atl100.dll, mfc100.dll, mfc90u.dll, mfcm100.dll, mfcm90u.dll, msdia100.dll, msvcm100.dll, msvcp100.dll, msvcr100.dll, vcomp100.dll. [Section.0415] -Licence = Nieznana +License = Nieznana Description = Biblioteki uruchomieniowe Microsoft Visual Studio 2010. Zawiera: atl100.dll, mfc100.dll, mfc90u.dll, mfcm100.dll, mfcm90u.dll, msdia100.dll, msvcm100.dll, msvcp100.dll, msvcr100.dll, vcomp100.dll. [Section.0418] -Licence = Necunoscută +License = Necunoscută Description = Microsoft 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,8 Mo [Section.041f] Name = Microsoft Visual C++ 2010 Yeniden Dağıtılabilir Paket -Licence = Bilinmiyor +License = Bilinmiyor Description = Microsoft Visual Studio 2010 Yürütücü. Şunları içerir: atl100.dll, mfc100.dll, mfc100u.dll, mfcm100.dll, mfcm100u.dll, msdia100.dll, msvcm100.dll, msvcp100.dll, msvcr100.dll, vcomp100.dll. Size = 4,8 MB [Section.0422] -Licence = Невідома +License = Невідома Description = Бібліотеки Microsoft Visual Studio 2010. включає: atl100.dll, mfc100.dll, mfc90u.dll, mfcm100.dll, mfcm90u.dll, msdia100.dll, msvcm100.dll, msvcp100.dll, msvcr100.dll, vcomp100.dll. [Section.0813] -Licence = Ongekend +License = Ongekend Description = Microsoft Visual Studio 2010 Runtime. Bevat: atl100.dll, mfc100.dll, mfc90u.dll, mfcm100.dll, mfcm90u.dll, msdia100.dll, msvcm100.dll, msvcp100.dll, msvcr100.dll, vcomp100.dll. diff --git a/base/applications/rapps/rapps/vc6run.txt b/base/applications/rapps/rapps/vc6run.txt index 831205b60bd..0ead58152a5 100644 --- a/base/applications/rapps/rapps/vc6run.txt +++ b/base/applications/rapps/rapps/vc6run.txt @@ -4,7 +4,7 @@ [Section] Name = Microsoft Visual C++ 6 Redistributable Package Version = 6.0 -Licence = Unknown +License = Unknown Description = Microsoft 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.75 MB Category = 14 @@ -13,45 +13,45 @@ URLDownload = http://download.microsoft.com/download/vc60pro/Update/2/W9XNT4/EN- CDPath = none [Section.0407] -Licence = Unbekannt +License = Unbekannt Description = Microsoft Visual Studio 6 Laufzeitsystem. Beinhaltet: advpack.dll, asycfilt.dll, atla.dll, atlu.dll, comcat.dll, mfc42.dll, mfc42u.dll, msvcirt.dll, msvcp60.dll, msvcrt.dll, oleaut32.dll, olepro32.dll. [Section.040a] -Licence = Desconocida +License = Desconocida Description = Librerias Microsoft Visual Studio 6. Incluye: advpack.dll, asycfilt.dll, atla.dll, atlu.dll, comcat.dll, mfc42.dll, mfc42u.dll, msvcirt.dll, msvcp60.dll, msvcrt.dll, oleaut32.dll, olepro32.dll. [Section.040c] -Licence = Inconnue +License = Inconnue Description = Bibliothèque Microsoft Visual Studio 6. Contient: 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,75 Mo [Section.0410] -Licence = Sconosciuta +License = Sconosciuta Description = Microsoft Visual Studio 6 Runtime. Contiene: advpack.dll, asycfilt.dll, atla.dll, atlu.dll, comcat.dll, mfc42.dll, mfc42u.dll, msvcirt.dll, msvcp60.dll, msvcrt.dll, oleaut32.dll, olepro32.dll. [Section.0413] -Licence = Ongekend +License = Ongekend Description = Microsoft Visual Studio 6 Runtime. Bevat: advpack.dll, asycfilt.dll, atla.dll, atlu.dll, comcat.dll, mfc42.dll, mfc42u.dll, msvcirt.dll, msvcp60.dll, msvcrt.dll, oleaut32.dll, olepro32.dll. [Section.0415] -Licence = Nieznana +License = Nieznana Description = Biblioteki uruchomieniowe Microsoft Visual Studio 6. Zawiera: advpack.dll, asycfilt.dll, atla.dll, atlu.dll, comcat.dll, mfc42.dll, mfc42u.dll, msvcirt.dll, msvcp60.dll, msvcrt.dll, oleaut32.dll, olepro32.dll. [Section.0418] -Licence = Necunoscută +License = Necunoscută Description = Microsoft Visual Studio 6 Runtime. Conține: 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,75 Mo [Section.041f] Name = Microsoft Visual C++ 6 Yeniden Dağıtılabilir Paket -Licence = Bilinmiyor +License = Bilinmiyor Description = Microsoft Visual Studio 6 Yürütücü. Şunları içerir: 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,75 MB [Section.0422] -Licence = Невідома +License = Невідома Description = Бібліотеки Microsoft Visual Studio 6. включає: advpack.dll, asycfilt.dll, atla.dll, atlu.dll, comcat.dll, mfc42.dll, mfc42u.dll, msvcirt.dll, msvcp60.dll, msvcrt.dll, oleaut32.dll, olepro32.dll. [Section.0813] -Licence = Ongekend +License = Ongekend Description = Microsoft Visual Studio 6 Runtime. Bevat: advpack.dll, asycfilt.dll, atla.dll, atlu.dll, comcat.dll, mfc42.dll, mfc42u.dll, msvcirt.dll, msvcp60.dll, msvcrt.dll, oleaut32.dll, olepro32.dll. diff --git a/base/applications/rapps/rapps/vlc.txt b/base/applications/rapps/rapps/vlc.txt index 772bb84186e..afb003ff7b6 100644 --- a/base/applications/rapps/rapps/vlc.txt +++ b/base/applications/rapps/rapps/vlc.txt @@ -4,7 +4,7 @@ [Section] Name = VLC media player Version = 2.1.5 -Licence = GPL +License = GPL Description = A media player. Size = 23.6 MB Category = 2 diff --git a/base/applications/rapps/rapps/winboard.txt b/base/applications/rapps/rapps/winboard.txt index 001c3b05908..3c8abb0fb66 100644 --- a/base/applications/rapps/rapps/winboard.txt +++ b/base/applications/rapps/rapps/winboard.txt @@ -4,7 +4,7 @@ [Section] Name = WinBoard Version = 4.2.7b -Licence = GPLv3 +License = GPLv3 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.93 MB Category = 4 @@ -36,7 +36,7 @@ Description = WinBoard este o tablă de șah grafică pentru Windows/ReactOS ce Size = 5,93 Mo [Section.041f] -Licence = GPL 3. sürüm +License = GPL 3. sürüm Description = WinBoard, Umûmî Ağ satranç sunucularına ve postayla yazışmalı satranca GNU Chess, Crafty ve başka satranç motorlarını bir kullanıcı arayüzü olarak sunabilen, Windows/ReactOS için bir çizgelik satranç tahtasıdır. Size = 5,93 MB diff --git a/base/applications/rapps/rapps/wme9.txt b/base/applications/rapps/rapps/wme9.txt index 23d57556cd4..f4900962786 100644 --- a/base/applications/rapps/rapps/wme9.txt +++ b/base/applications/rapps/rapps/wme9.txt @@ -4,7 +4,7 @@ [Section] Name = Windows Media Encoder 9 Version = 9.0 -Licence = Unknown +License = Unknown Description = Windows Media Encoder 9 Size = 9.46 MB Category = 14 @@ -13,26 +13,26 @@ URLDownload = http://download.microsoft.com/download/8/1/f/81f9402f-efdd-439d-b2 CDPath = none [Section.0407] -Licence = Unbekannt +License = Unbekannt [Section.040a] -Licence = Desconocida +License = Desconocida [Section.040c] -Licence = Inconnue +License = Inconnue Size = 9,46 Mo [Section.0410] -Licence = Sconosciuta +License = Sconosciuta [Section.0413] License = Ongekend [Section.0415] -Licence = Nieznana +License = Nieznana [Section.0418] -Licence = Necunoscută +License = Necunoscută Size = 9,46 Mo [Section.041b] @@ -40,12 +40,12 @@ Description = Neznáma [Section.041f] Name = Windows Ortam Kodlayıcısı 9 -Licence = Bilinmiyor +License = Bilinmiyor Description = Windows Ortam Kodlayıcısı 9 Size = 9,46 MB [Section.0422] -Licence = Невідома +License = Невідома [Section.0813] License = Ongekend diff --git a/base/applications/rapps/rapps/wordview.txt b/base/applications/rapps/rapps/wordview.txt index 1c95d061cac..346b7f7bb34 100644 --- a/base/applications/rapps/rapps/wordview.txt +++ b/base/applications/rapps/rapps/wordview.txt @@ -3,8 +3,8 @@ [Section] Name = Microsoft Word Viewer -Version = 2010 -Licence = Unknown +Version = 2003 +License = Unknown Description = Microsoft Word Viewer Size = 24.5 MB Category = 6 @@ -13,53 +13,53 @@ URLDownload = http://download.microsoft.com/download/6/a/6/6a689355-b155-4fa7-ad CDPath = none [Section.0407] -Licence = Unbekannt +License = Unbekannt Size = 24.56 MB URLDownload = http://download.microsoft.com/download/d/4/b/d4b23f0e-c8b6-4383-878d-1a8184b7db56/wordview_de-de.exe [Section.040a] -Licence = Desconocida +License = Desconocida Size = 24.53 MB URLDownload = http://download.microsoft.com/download/4/4/c/44c2d552-8b40-464f-8470-b4976d7ba60b/wordview_es-es.exe [Section.040c] -Licence = Inconnue +License = Inconnue Size = 24,55 Mo URLDownload = http://download.microsoft.com/download/b/f/3/bf36c75d-2e93-4db1-ace2-1425e5219260/wordview_fr-fr.exe [Section.0410] -Licence = Sconosciuta +License = Sconosciuta Size = 24.52 MB URLDownload = http://download.microsoft.com/download/f/8/e/f8e9dadd-70bd-4317-a7fe-25d7bfb54b71/wordview_it-it.exe [Section.0413] -Licence = Ongekend +License = Ongekend Size = 24.54 MB URLDownload = http://download.microsoft.com/download/c/1/0/c10e009e-61e2-4b54-8d21-aff378679527/wordview_nl-nl.exe [Section.0415] -Licence = Nieznana +License = Nieznana Size = 24.58 MB URLDownload = http://download.microsoft.com/download/c/e/1/ce1e1286-67a2-4069-a8c4-b3552f18dfa8/wordview_pl-pl.exe [Section.0418] -Licence = Necunoscută +License = Necunoscută Size = 24,56 Mo URLDownload = http://download.microsoft.com/download/1/2/3/123d3dc8-6f3f-473f-ac1d-3e38969605e8/wordview_ro-ro.exe [Section.041f] Name = Microsoft Word Görüntüleyici -Licence = Bilinmiyor +License = Bilinmiyor Description = Microsoft Word Görüntüleyici Size = 24,55 MB URLDownload = http://download.microsoft.com/download/7/6/e/76efefb4-9575-4903-ac2a-180c280ab6c7/wordview_tr-tr.exe [Section.0422] -Licence = Невідома +License = Невідома Size = 24.56 MB URLDownload = http://download.microsoft.com/download/2/b/d/2bd08f27-822b-4c20-936a-0f1d91cb9e69/wordview_uk-ua.exe [Section.0813] -Licence = Ongekend +License = Ongekend Size = 24.54 MB URLDownload = http://download.microsoft.com/download/c/1/0/c10e009e-61e2-4b54-8d21-aff378679527/wordview_nl-nl.exe diff --git a/base/applications/rapps/rapps/zaz.txt b/base/applications/rapps/rapps/zaz.txt index ab8ebf375fe..29972bba1a4 100644 --- a/base/applications/rapps/rapps/zaz.txt +++ b/base/applications/rapps/rapps/zaz.txt @@ -5,7 +5,7 @@ [Section] Name = Zaz Version = 1.0.0 -Licence = GPL +License = GPL Description = Zaz is a free arcade action puzzle computer game, a little bit like Frozen Bubble. Size = 21.0 MB Category = 4 diff --git a/base/applications/rapps/resource.h b/base/applications/rapps/resource.h index 96f3c2121d6..96720ca8f3c 100644 --- a/base/applications/rapps/resource.h +++ b/base/applications/rapps/resource.h @@ -128,7 +128,7 @@ #define IDS_AINFO_DESCRIPTION 351 #define IDS_AINFO_SIZE 352 #define IDS_AINFO_URLSITE 353 -#define IDS_AINFO_LICENCE 354 +#define IDS_AINFO_LICENSE 354 /* Names of categories */ #define IDS_CAT_AUDIO 700 diff --git a/base/applications/rapps/winmain.c b/base/applications/rapps/winmain.c index f7b3dbd8d42..92d3ed3d74a 100644 --- a/base/applications/rapps/winmain.c +++ b/base/applications/rapps/winmain.c @@ -545,11 +545,14 @@ MainWndOnSize(HWND hwnd, WPARAM wParam, LPARAM lParam) HIWORD(lParam) - GetWindowHeight(hToolBar) - GetWindowHeight(hStatusBar), SWP_NOZORDER|SWP_NOACTIVATE); - while (NewPos < SPLIT_WIDTH + GetWindowHeight(hToolBar)) + if(wParam != SIZE_MINIMIZED) { - RichPos--; - NewPos = HIWORD(lParam) - (RichPos + - SPLIT_WIDTH + GetWindowHeight(hStatusBar)); + while (NewPos < SPLIT_WIDTH + GetWindowHeight(hToolBar)) + { + RichPos--; + NewPos = HIWORD(lParam) - (RichPos + + SPLIT_WIDTH + GetWindowHeight(hStatusBar)); + } } SetHSplitterPos(NewPos); diff --git a/base/applications/regedit/childwnd.c b/base/applications/regedit/childwnd.c index 3b9e93e677b..6a3b41dba79 100644 --- a/base/applications/regedit/childwnd.c +++ b/base/applications/regedit/childwnd.c @@ -286,7 +286,7 @@ LRESULT CALLBACK AddressBarProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPar { WNDPROC oldwndproc; static WCHAR s_szNode[256]; - oldwndproc = (WNDPROC)(LONG_PTR)GetWindowLongPtr(hwnd, GWLP_USERDATA); + oldwndproc = (WNDPROC)GetWindowLongPtr(hwnd, GWLP_USERDATA); switch (uMsg) { @@ -385,7 +385,7 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa g_pChildWnd->hAddressBarWnd = CreateWindowExW(WS_EX_CLIENTEDGE, L"Edit", NULL, WS_CHILD | WS_VISIBLE | WS_CHILDWINDOW | WS_TABSTOP, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hWnd, (HMENU)0, hInst, 0); - g_pChildWnd->hAddressBtnWnd = CreateWindowExW(0, L"Button", L"»", WS_CHILD | WS_VISIBLE | WS_CHILDWINDOW | WS_TABSTOP | BS_TEXT | BS_CENTER | BS_VCENTER | BS_FLAT | BS_DEFPUSHBUTTON, + g_pChildWnd->hAddressBtnWnd = CreateWindowExW(0, L"Button", L"\x00BB", WS_CHILD | WS_VISIBLE | WS_CHILDWINDOW | WS_TABSTOP | BS_TEXT | BS_CENTER | BS_VCENTER | BS_FLAT | BS_DEFPUSHBUTTON, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hWnd, (HMENU)0, hInst, 0); g_pChildWnd->hTreeWnd = CreateTreeView(hWnd, g_pChildWnd->szPath, (HMENU) TREE_WINDOW); @@ -406,7 +406,7 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa 0); } /* Subclass the AddressBar */ - oldproc = (WNDPROC)(LONG_PTR)GetWindowLongPtr(g_pChildWnd->hAddressBarWnd, GWLP_WNDPROC); + oldproc = (WNDPROC)GetWindowLongPtr(g_pChildWnd->hAddressBarWnd, GWLP_WNDPROC); SetWindowLongPtr(g_pChildWnd->hAddressBarWnd, GWLP_USERDATA, (DWORD_PTR)oldproc); SetWindowLongPtr(g_pChildWnd->hAddressBarWnd, GWLP_WNDPROC, (DWORD_PTR)AddressBarProc); break; diff --git a/base/applications/regedit/clb/lang/tr-TR.rc b/base/applications/regedit/clb/lang/tr-TR.rc index d2fdd97b8f1..89ae8ece682 100644 --- a/base/applications/regedit/clb/lang/tr-TR.rc +++ b/base/applications/regedit/clb/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/applications/regedit/edit.c b/base/applications/regedit/edit.c index 3dc134c3c65..deff3fd9889 100644 --- a/base/applications/regedit/edit.c +++ b/base/applications/regedit/edit.c @@ -233,7 +233,7 @@ LRESULT CALLBACK DwordEditSubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPAR { WNDPROC oldwndproc; - oldwndproc = (WNDPROC)(LONG_PTR)GetWindowLongPtr(hwnd, GWLP_USERDATA); + oldwndproc = (WNDPROC)GetWindowLongPtr(hwnd, GWLP_USERDATA); switch (uMsg) { @@ -288,7 +288,7 @@ INT_PTR CALLBACK modify_dword_dlgproc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LP /* subclass the edit control */ hwndValue = GetDlgItem(hwndDlg, IDC_VALUE_DATA); - oldproc = (WNDPROC)(LONG_PTR)GetWindowLongPtr(hwndValue, GWLP_WNDPROC); + oldproc = (WNDPROC)GetWindowLongPtr(hwndValue, GWLP_WNDPROC); SetWindowLongPtr(hwndValue, GWLP_USERDATA, (DWORD_PTR)oldproc); SetWindowLongPtr(hwndValue, GWLP_WNDPROC, (DWORD_PTR)DwordEditSubclassProc); diff --git a/base/applications/regedit/framewnd.c b/base/applications/regedit/framewnd.c index 38186736b1e..8f7d4882bde 100644 --- a/base/applications/regedit/framewnd.c +++ b/base/applications/regedit/framewnd.c @@ -587,7 +587,7 @@ BOOL ExportRegistryFile(HWND hWnd) { BOOL bRet = FALSE; OPENFILENAME ofn; - WCHAR ExportKeyPath[_MAX_PATH]; + WCHAR ExportKeyPath[_MAX_PATH] = {0}; WCHAR Caption[128], szTitle[512], szText[512]; HKEY hKeyRoot; LPCWSTR pszKeyPath; diff --git a/base/applications/regedit/hexedit.c b/base/applications/regedit/hexedit.c index a713d02e63a..8c63ff71a95 100644 --- a/base/applications/regedit/hexedit.c +++ b/base/applications/regedit/hexedit.c @@ -62,7 +62,7 @@ static UINT ClipboardFormatID = 0; #define HEHT_ASCIIDUMP (0x6) #define HEHT_RIGHTMARGIN (0x7) -INT_PTR CALLBACK HexEditWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); +LRESULT CALLBACK HexEditWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); ATOM WINAPI @@ -75,7 +75,7 @@ RegisterHexEditorClass(HINSTANCE hInstance) ZeroMemory(&WndClass, sizeof(WNDCLASSEXW)); WndClass.cbSize = sizeof(WNDCLASSEXW); WndClass.style = CS_DBLCLKS; - WndClass.lpfnWndProc = (WNDPROC)HexEditWndProc; + WndClass.lpfnWndProc = HexEditWndProc; WndClass.cbWndExtra = sizeof(PHEXEDIT_DATA); WndClass.hInstance = hInstance; WndClass.hCursor = LoadCursorW(NULL, IDC_IBEAM); @@ -1415,13 +1415,13 @@ HEXEDIT_WM_CONTEXTMENU(PHEXEDIT_DATA hed, INT x, INT y) PostMessageW(hed->hWndSelf, WM_NULL, 0, 0); } -INT_PTR CALLBACK +LRESULT CALLBACK HexEditWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { PHEXEDIT_DATA hed; POINTS p; - hed = (PHEXEDIT_DATA)(LONG_PTR)GetWindowLongPtr(hWnd, (DWORD_PTR)0); + hed = (PHEXEDIT_DATA)GetWindowLongPtr(hWnd, (DWORD_PTR)0); switch(uMsg) { case WM_ERASEBKGND: diff --git a/base/applications/regedit/lang/es-ES.rc b/base/applications/regedit/lang/es-ES.rc index 6e473230e39..8de2b2d6f21 100644 --- a/base/applications/regedit/lang/es-ES.rc +++ b/base/applications/regedit/lang/es-ES.rc @@ -1,3 +1,6 @@ +/* Spanish Language resource file. + * Translated by: ?? and Ismael Ferreras Morezuelas <2014-11-07> */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL ID_ACCEL ACCELERATORS @@ -18,7 +21,7 @@ BEGIN BEGIN MENUITEM "&Salir", ID_REGISTRY_EXIT END - POPUP "A&yuda" + POPUP "Ay&uda" BEGIN MENUITEM "&Acerca de...", ID_HELP_ABOUT END @@ -28,11 +31,11 @@ IDR_REGEDIT_MENU MENU BEGIN POPUP "&Registro" BEGIN - MENUITEM "&Importar archivo de registro...", ID_REGISTRY_IMPORTREGISTRYFILE - MENUITEM "&Exportar archivo de registro...", ID_REGISTRY_EXPORTREGISTRYFILE + MENUITEM "&Importar archivo...", ID_REGISTRY_IMPORTREGISTRYFILE + MENUITEM "&Exportar archivo...", ID_REGISTRY_EXPORTREGISTRYFILE MENUITEM SEPARATOR - MENUITEM "Cargar archivo de registro...", ID_REGISTRY_LOADHIVE, GRAYED - MENUITEM "Descargar archivo de registro...", ID_REGISTRY_UNLOADHIVE, GRAYED + MENUITEM "Cargar subárbol...", ID_REGISTRY_LOADHIVE, GRAYED + MENUITEM "Descargar subárbol...", ID_REGISTRY_UNLOADHIVE, GRAYED MENUITEM SEPARATOR MENUITEM "&Conectar al Registro de red...", ID_REGISTRY_CONNECTNETWORKREGISTRY MENUITEM "&Desconectar del Registro de red...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED @@ -41,7 +44,7 @@ BEGIN MENUITEM SEPARATOR MENUITEM "S&alir", ID_REGISTRY_EXIT END - POPUP "&Editar" + POPUP "&Edición" BEGIN MENUITEM "&Modificar", ID_EDIT_MODIFY MENUITEM SEPARATOR @@ -52,16 +55,16 @@ BEGIN MENUITEM "Valor de c&adena", ID_EDIT_NEW_STRINGVALUE MENUITEM "Valor &binario", ID_EDIT_NEW_BINARYVALUE MENUITEM "Valor &DWORD", ID_EDIT_NEW_DWORDVALUE - MENUITEM "&Valor de varias lineas", ID_EDIT_NEW_MULTISTRINGVALUE - MENUITEM "&Valor de una linea expandibles", ID_EDIT_NEW_EXPANDABLESTRINGVALUE + MENUITEM "Valor de cadena &múltiple", ID_EDIT_NEW_MULTISTRINGVALUE + MENUITEM "Valor de cadena e&xpandible", ID_EDIT_NEW_EXPANDABLESTRINGVALUE END MENUITEM SEPARATOR MENUITEM "&Permisos...", ID_EDIT_PERMISSIONS MENUITEM SEPARATOR - MENUITEM "&Eliminar\tDel", ID_EDIT_DELETE + MENUITEM "&Eliminar\tSupr", ID_EDIT_DELETE MENUITEM "&Renombrar", ID_EDIT_RENAME MENUITEM SEPARATOR - MENUITEM "&Copiar valor de la clave", ID_EDIT_COPYKEYNAME + MENUITEM "&Copiar nombre de clave", ID_EDIT_COPYKEYNAME MENUITEM SEPARATOR MENUITEM "&Buscar\tCtrl+F", ID_EDIT_FIND MENUITEM "Buscar &siguiente\tF3", ID_EDIT_FINDNEXT @@ -76,14 +79,14 @@ BEGIN END POPUP "&Favoritos" BEGIN - MENUITEM "&Añadir a Favoritos", ID_FAVOURITES_ADDTOFAVOURITES, GRAYED - MENUITEM "&Eliminar Favorito", ID_FAVOURITES_REMOVEFAVOURITE, GRAYED + MENUITEM "&Añadir a favoritos", ID_FAVOURITES_ADDTOFAVOURITES, GRAYED + MENUITEM "&Quitar favorito", ID_FAVOURITES_REMOVEFAVOURITE, GRAYED END - POPUP "&Ayuda" + POPUP "Ay&uda" BEGIN MENUITEM "Temas de Ayuda", ID_HELP_HELPTOPICS MENUITEM SEPARATOR - MENUITEM "&Acerca de Editor de registro", ID_HELP_ABOUT + MENUITEM "&Acerca de Editor del Registro", ID_HELP_ABOUT END END @@ -92,9 +95,9 @@ BEGIN POPUP "" BEGIN MENUITEM "&Modificar", ID_EDIT_MODIFY - MENUITEM "Modificar Dato Binario", ID_EDIT_MODIFY_BIN + MENUITEM "Modificar dato binario", ID_EDIT_MODIFY_BIN MENUITEM SEPARATOR - MENUITEM "&Borrar\tDel", ID_EDIT_DELETE + MENUITEM "&Eliminar\tSupr", ID_EDIT_DELETE MENUITEM "&Renombrar", ID_EDIT_RENAME END POPUP "" @@ -103,29 +106,29 @@ BEGIN BEGIN MENUITEM "&Clave", ID_EDIT_NEW_KEY MENUITEM SEPARATOR - MENUITEM "Valor &Alfanumérico", ID_EDIT_NEW_STRINGVALUE - MENUITEM "Valor &Binario", ID_EDIT_NEW_BINARYVALUE + MENUITEM "Valor de &cadena", ID_EDIT_NEW_STRINGVALUE + MENUITEM "Valor &binario", ID_EDIT_NEW_BINARYVALUE MENUITEM "Valor &DWORD", ID_EDIT_NEW_DWORDVALUE - MENUITEM "Valor de cadena-&múltiple", ID_EDIT_NEW_MULTISTRINGVALUE + MENUITEM "Valor de cadena &múltiple", ID_EDIT_NEW_MULTISTRINGVALUE MENUITEM "Valor de cadena e&xpandible", ID_EDIT_NEW_EXPANDABLESTRINGVALUE END END POPUP "" BEGIN - MENUITEM "Expandir/Colapsar", ID_TREE_EXPANDBRANCH + MENUITEM "Expandir/Contraer", ID_TREE_EXPANDBRANCH POPUP "&Nuevo" BEGIN MENUITEM "&Clave", ID_EDIT_NEW_KEY MENUITEM SEPARATOR - MENUITEM "Valor &Alfanumérico", ID_EDIT_NEW_STRINGVALUE - MENUITEM "Valor &Binario", ID_EDIT_NEW_BINARYVALUE + MENUITEM "Valor de &cadena", ID_EDIT_NEW_STRINGVALUE + MENUITEM "Valor &binario", ID_EDIT_NEW_BINARYVALUE MENUITEM "Valor &DWORD", ID_EDIT_NEW_DWORDVALUE - MENUITEM "Valor de cadena-&múltiple", ID_EDIT_NEW_MULTISTRINGVALUE + MENUITEM "Valor de cadena &múltiple", ID_EDIT_NEW_MULTISTRINGVALUE MENUITEM "Valor de cadena e&xpandible", ID_EDIT_NEW_EXPANDABLESTRINGVALUE END MENUITEM "&Buscar", ID_EDIT_FIND MENUITEM SEPARATOR - MENUITEM "&Borrar", ID_TREE_DELETE + MENUITEM "&Eliminar", ID_TREE_DELETE MENUITEM "&Renombrar", ID_TREE_RENAME MENUITEM SEPARATOR MENUITEM "&Exportar", ID_TREE_EXPORT @@ -135,12 +138,12 @@ BEGIN END POPUP "" BEGIN - MENUITEM "C&ut", ID_HEXEDIT_CUT - MENUITEM "&Copy", ID_HEXEDIT_COPY - MENUITEM "&Paste", ID_HEXEDIT_PASTE - MENUITEM "&Delete", ID_HEXEDIT_DELETE + MENUITEM "&Cortar", ID_HEXEDIT_CUT + MENUITEM "Cop&iar", ID_HEXEDIT_COPY + MENUITEM "&Pegar", ID_HEXEDIT_PASTE + MENUITEM "&Eliminar", ID_HEXEDIT_DELETE MENUITEM SEPARATOR - MENUITEM "Select &All", ID_HEXEDIT_SELECT_ALL + MENUITEM "Seleccionar &todo", ID_HEXEDIT_SELECT_ALL END END @@ -148,10 +151,10 @@ END IDD_EDIT_STRING DIALOGEX 32, 24, 252, 84 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Editar Cadena" +CAPTION "Editar cadena" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Nombre de Valor:", IDC_STATIC, 6, 6, 134, 8 + LTEXT "&Nombre del valor:", IDC_STATIC, 6, 6, 134, 8 EDITTEXT IDC_VALUE_NAME, 6, 17, 240, 12, ES_AUTOHSCROLL | ES_READONLY LTEXT "&Información del valor:", IDC_STATIC, 6, 35, 161, 8 EDITTEXT IDC_VALUE_DATA, 6, 46, 240, 12, ES_AUTOHSCROLL @@ -161,10 +164,10 @@ END IDD_EDIT_MULTI_STRING DIALOGEX 32, 24, 252, 174 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Editar Multi-Cadena" +CAPTION "Editar cadena múltiple" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Nombre de Valor:", IDC_STATIC, 6, 6, 134, 8 + LTEXT "&Nombre del valor:", IDC_STATIC, 6, 6, 134, 8 EDITTEXT IDC_VALUE_NAME, 6, 17, 240, 12, ES_AUTOHSCROLL | ES_READONLY LTEXT "&Información del valor:", IDC_STATIC, 6, 35, 161, 8 EDITTEXT IDC_VALUE_DATA, 6, 46, 240, 102, ES_AUTOHSCROLL | ES_MULTILINE | @@ -175,10 +178,10 @@ END IDD_EDIT_BIN_DATA DIALOGEX 32, 24, 252, 174 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Editar valor Binario" +CAPTION "Editar valor binario" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Nombre de Valor:", IDC_STATIC, 6, 6, 134, 8 + LTEXT "&Nombre del valor:", IDC_STATIC, 6, 6, 134, 8 EDITTEXT IDC_VALUE_NAME, 6, 17, 240, 12, ES_AUTOHSCROLL | ES_READONLY LTEXT "&Información del valor:", IDC_STATIC, 6, 35, 161, 8 CONTROL "", IDC_VALUE_DATA, "HexEdit32", WS_VSCROLL | WS_BORDER | WS_TABSTOP, 6, 46, 240, 102 @@ -191,7 +194,7 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | CAPTION "Editar valor DWORD" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "&Nombre de Valor:", IDC_STATIC, 6, 6, 134, 8 + LTEXT "&Nombre del valor:", IDC_STATIC, 6, 6, 134, 8 EDITTEXT IDC_VALUE_NAME, 6, 17, 240, 12, ES_AUTOHSCROLL | ES_READONLY LTEXT "&Información del valor:", IDC_STATIC, 6, 35, 161, 8 EDITTEXT IDC_VALUE_DATA, 6, 46, 116, 12, ES_AUTOHSCROLL @@ -204,18 +207,18 @@ END IDD_EDIT_RESOURCE_LIST DIALOGEX 32, 24, 170, 120 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Resource List" +CAPTION "Lista de recursos" FONT 8, "MS Shell Dlg" BEGIN CONTROL "", IDC_RESOURCE_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 10, 150, 75 - DEFPUSHBUTTON "OK", IDOK, 27, 100, 50, 14 - PUSHBUTTON "Show...", IDC_SHOW_RESOURCE, 93, 100, 50, 14, WS_DISABLED + DEFPUSHBUTTON "Aceptar", IDOK, 27, 100, 50, 14 + PUSHBUTTON "Mostrar...", IDC_SHOW_RESOURCE, 93, 100, 50, 14, WS_DISABLED END IDD_EDIT_RESOURCE DIALOGEX 6, 18, 281, 283 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Resources" +CAPTION "Recursos" FONT 8, "MS Shell Dlg" BEGIN LTEXT "DMA:", IDC_STATIC, 10, 5, 20, 8 @@ -224,30 +227,30 @@ BEGIN LTEXT "Interrupt:", IDC_STATIC, 10, 48, 35, 8 CONTROL "", IDC_IRQ_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 58, 261, 31 - LTEXT "Memory:", IDC_STATIC, 10, 91, 32, 8 + LTEXT "Memoria:", IDC_STATIC, 10, 91, 32, 8 CONTROL "", IDC_MEMORY_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 101, 261, 31 - LTEXT "Port:", IDC_STATIC, 10, 134, 38, 8 + LTEXT "Puerto:", IDC_STATIC, 10, 134, 38, 8 CONTROL "", IDC_PORT_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 144, 261, 31 - LTEXT "Device specific data:", IDC_STATIC, 10, 177, 80, 8 + LTEXT "Datos específicos del dispositivo:", IDC_STATIC, 10, 177, 80, 8 CONTROL "", IDC_DEVICE_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 188, 261, 31 - GROUPBOX "Usage", IDC_STATIC, 10, 219, 125, 39 - LTEXT "Undetermined", IDC_UNDETERMINED, 18, 230, 46, 8, WS_DISABLED - LTEXT "Shared", IDC_SHARED, 18, 240, 48, 8, WS_DISABLED - LTEXT "Device exclusive", IDC_DEVICE_EXCLUSIVE, 72, 230, 58, 8, WS_DISABLED - LTEXT "Driver exclusive", IDC_DRIVER_EXCLUSIVE, 72, 240, 54, 8, WS_DISABLED - RTEXT "Interface Type:", IDC_STATIC, 144, 220, 58, 8 + GROUPBOX "Uso", IDC_STATIC, 10, 219, 125, 39 + LTEXT "Sin determinar", IDC_UNDETERMINED, 18, 230, 46, 8, WS_DISABLED + LTEXT "Compartido", IDC_SHARED, 18, 240, 48, 8, WS_DISABLED + LTEXT "Exclusivo del dispositivo", IDC_DEVICE_EXCLUSIVE, 72, 230, 58, 8, WS_DISABLED + LTEXT "Exclusivo del controlador", IDC_DRIVER_EXCLUSIVE, 72, 240, 54, 8, WS_DISABLED + RTEXT "Tipo de interfaz:", IDC_STATIC, 144, 220, 58, 8 LTEXT "", IDC_INTERFACETYPE, 205, 220, 66, 8 - RTEXT "Bus Nummer:", IDC_STATIC, 151, 230, 51, 8 + RTEXT "Número de bus:", IDC_STATIC, 151, 230, 51, 8 LTEXT "", IDC_BUSNUMBER, 205, 230, 66, 8 - RTEXT "Version:", IDC_STATIC, 151, 240, 51, 8 + RTEXT "Versión:", IDC_STATIC, 151, 240, 51, 8 LTEXT "", IDC_VERSION, 205, 240, 66, 8 - RTEXT "Revision:", IDC_STATIC, 151, 250, 51, 8 + RTEXT "Revisión:", IDC_STATIC, 151, 250, 51, 8 LTEXT "", IDC_REVISION, 205, 250, 66, 8 - DEFPUSHBUTTON "OK", IDOK, 92, 263, 40, 14 - PUSHBUTTON "&Data...", IDC_SHOW_RESOURCE_DATA, 148, 263, 40, 14, WS_DISABLED + DEFPUSHBUTTON "Aceptar", IDOK, 92, 263, 40, 14 + PUSHBUTTON "&Datos...", IDC_SHOW_RESOURCE_DATA, 148, 263, 40, 14, WS_DISABLED END /* String Tables */ @@ -261,18 +264,18 @@ END STRINGTABLE BEGIN - IDS_APP_TITLE "Editor de registro" + IDS_APP_TITLE "Editor del Registro" IDC_REGEDIT "REGEDIT" IDC_REGEDIT_FRAME "REGEDIT_FRAME" END STRINGTABLE BEGIN - ID_REGISTRY_MENU "Contiene comandos para trabajar con el registro completo" + ID_REGISTRY_MENU "Contiene comandos para trabajar con el Registro completo" ID_EDIT_MENU "Contiene comandos para editar valores o claves" - ID_VIEW_MENU "Contiene comandos para personalizar la ventana de registro" + ID_VIEW_MENU "Contiene comandos para personalizar la ventana de Registro" ID_FAVOURITES_MENU "Contiene comandos para acceder a claves usadas frecuentemente" - ID_HELP_MENU "Contiene comandos para mostrar ayuda e información sobre el editor de registro" + ID_HELP_MENU "Contiene comandos para mostrar ayuda e información sobre el Editor del Registro" ID_EDIT_NEW_MENU "Contiene comandos para crear nuevas claves o valores" END @@ -283,20 +286,20 @@ BEGIN ID_EDIT_NEW_STRINGVALUE "Añade un nuevo valor de cadena" ID_EDIT_NEW_BINARYVALUE "Añade un nuevo valor binario" ID_EDIT_NEW_DWORDVALUE "Añade un nuevo valor de doble palabra" - ID_REGISTRY_IMPORTREGISTRYFILE "Importa un archivo de texto al registro" - ID_REGISTRY_EXPORTREGISTRYFILE "Exporta todo o parte del registro a un archivo de texto" - ID_REGISTRY_LOADHIVE "Loads a hive file into the registry" - ID_REGISTRY_UNLOADHIVE "Unloads a hive from the registry" - ID_REGISTRY_CONNECTNETWORKREGISTRY "Se conecta al registro de un ordenador remoto" - ID_REGISTRY_DISCONNECTNETWORKREGISTRY "Se desconecta del registro de un ordenador remoto" - ID_REGISTRY_PRINT "Imprime todo o parte del registro" + ID_REGISTRY_IMPORTREGISTRYFILE "Importa un archivo de texto al Registro" + ID_REGISTRY_EXPORTREGISTRYFILE "Exporta todo o parte del Registro a un archivo de texto" + ID_REGISTRY_LOADHIVE "Carga un subárbol en el Registro" + ID_REGISTRY_UNLOADHIVE "Descarga un subárbol del Registro" + ID_REGISTRY_CONNECTNETWORKREGISTRY "Se conecta al Registro de un ordenador remoto" + ID_REGISTRY_DISCONNECTNETWORKREGISTRY "Se desconecta del Registro de un ordenador remoto" + ID_REGISTRY_PRINT "Imprime todo o parte del Registro" /* ID_HELP_HELPTOPICS "Opens registry editor help" */ ID_HELP_ABOUT "Muestra información del programa, número de versión y derechos de autor" END STRINGTABLE BEGIN - ID_REGISTRY_EXIT "Sale del editor de registro" + ID_REGISTRY_EXIT "Sale del Editor de Registro" ID_FAVOURITES_ADDTOFAVOURITES "Añade claves a la lista de favoritos" ID_FAVOURITES_REMOVEFAVOURITE "Elimina claves de la lista de favoritos" ID_VIEW_STATUSBAR "Muestra u oculta la barra de estado" @@ -304,7 +307,7 @@ BEGIN ID_VIEW_REFRESH "Actualiza la ventana" ID_EDIT_DELETE "Elimina la selección" ID_EDIT_RENAME "Renombra la selección" - ID_EDIT_COPYKEYNAME "Copia el nombre de la clave seleccionada al portapapeles" + ID_EDIT_COPYKEYNAME "Copia el nombre de la clave seleccionada al Portapapeles" ID_EDIT_FIND "Busca una cadena de texto en una clave, valor o datos" ID_EDIT_FINDNEXT "Busca la siguiente ocurrencia del texto especificado en la búsqueda anterior" END @@ -313,49 +316,49 @@ STRINGTABLE BEGIN IDS_ERROR "Error" IDS_WARNING "Aviso" - IDS_BAD_KEY "No puede averiguar valor clave '%s'" - IDS_BAD_VALUE "No puede averiguar valor '%s'" - IDS_UNSUPPORTED_TYPE "No puede editar claves de este tipo (%ld)" - IDS_TOO_BIG_VALUE "Valor es muy grande (%ld)" - IDS_MULTI_SZ_EMPTY_STRING "Datos del tipo REG_MULTI_SZ no pueden contener lineas vacias.\nLas lineas vacias han sido eliminadas." - IDS_QUERY_DELETE_KEY_ONE "¿Esta seguro que quiere borrar esta clave?" - IDS_QUERY_DELETE_KEY_MORE "¿Esta seguro que quiere borrar estas claves?" - IDS_QUERY_DELETE_KEY_CONFIRM "Confirme borrar clave" - IDS_QUERY_DELETE_ONE "¿Esta seguro que quiere borrar este valor?" - IDS_QUERY_DELETE_MORE "¿Esta seguro que quiere borrar estos valores?" - IDS_QUERY_DELETE_CONFIRM "Confirme borrar valor" - IDS_ERR_DELVAL_CAPTION "Error borrando valores" - IDS_ERR_DELETEVALUE "¡Incapaz de borrar todos los valores especificados!" - IDS_ERR_RENVAL_CAPTION "Error Renombrando Valor" - IDS_ERR_RENVAL_TOEMPTY "No puede renombrar %s. El nombre de valor especificado esta vacio. Trate otro nombre y comienze otra vez." - IDS_QUERY_IMPORT_HIVE_CAPTION "Confirm Key Restoration" - IDS_QUERY_IMPORT_HIVE_MSG "A key will be restored on top of the currently selected key.\nAll values and subkeys of this key will be deleted.\nDo you want to continue the operation?" - IDS_NEW_KEY "Nueva Clave #%d" - IDS_NEW_VALUE "Nuevo Valor #%d" + IDS_BAD_KEY "No puede averiguar el valor de la clave '%s'" + IDS_BAD_VALUE "No se puede averiguar el valor de '%s'" + IDS_UNSUPPORTED_TYPE "No se pueden editar claves de este tipo (%ld)" + IDS_TOO_BIG_VALUE "El valor es demasiado grande (%ld)" + IDS_MULTI_SZ_EMPTY_STRING "Los datos de tipo REG_MULTI_SZ no pueden contener líneas vacías.\nLas líneas vacías han sido eliminadas." + IDS_QUERY_DELETE_KEY_ONE "¿Seguro que quiere borrar esta clave?" + IDS_QUERY_DELETE_KEY_MORE "¿Seguro que quiere borrar estas claves?" + IDS_QUERY_DELETE_KEY_CONFIRM "Confirmar la eliminación de la clave" + IDS_QUERY_DELETE_ONE "¿Seguro que quiere borrar este valor?" + IDS_QUERY_DELETE_MORE "¿Seguro que quiere borrar estos valores?" + IDS_QUERY_DELETE_CONFIRM "Confirmar la eliminación del valor" + IDS_ERR_DELVAL_CAPTION "Hubo un eror al borrar los valores" + IDS_ERR_DELETEVALUE "No se pudieron borrar todos los valores seleccionados." + IDS_ERR_RENVAL_CAPTION "Hubo un error al renombrar el valor" + IDS_ERR_RENVAL_TOEMPTY "No se pudo renombrar %s. El nombre de valor especificado está en blanco. Escriba otro nombre y pruebe de nuevo." + IDS_QUERY_IMPORT_HIVE_CAPTION "Confirmar la restauración de claves" + IDS_QUERY_IMPORT_HIVE_MSG "Una clave va a ser restaurada sobre la clave seleccionada.\nTodos los valores y subclaves de esta clave se borrarán.\n¿Desea continuar con la operación?" + IDS_NEW_KEY "Clave nueva #%d" + IDS_NEW_VALUE "Nuevo valor #%d" END STRINGTABLE BEGIN IDS_BINARY_EMPTY "(valor binario de longitud cero)" - IDS_DEFAULT_VALUE_NAME "(Por Defecto)" - IDS_VALUE_NOT_SET "(valor no introducido)" + IDS_DEFAULT_VALUE_NAME "(Predeterminado)" + IDS_VALUE_NOT_SET "(valor no establecido)" IDS_UNKNOWN_TYPE "Tipo desconocido: (0x%lx)" IDS_MY_COMPUTER "Mi PC" - IDS_IMPORT_REG_FILE "Importa Fichero de Registro" - IDS_EXPORT_REG_FILE "Exporta Fichero de Registro" - IDS_LOAD_HIVE "Load Hive" - IDS_UNLOAD_HIVE "Unload Hive" - IDS_INVALID_DWORD "(valor DWORD invalido)" + IDS_IMPORT_REG_FILE "Importar archivo del Registro" + IDS_EXPORT_REG_FILE "Exportar archivo del Registro" + IDS_LOAD_HIVE "Cargar subárbol" + IDS_UNLOAD_HIVE "Descargar subárbol" + IDS_INVALID_DWORD "(valor DWORD no válido)" END STRINGTABLE BEGIN - IDS_FLT_REGFILE "Fichero de Registro" - IDS_FLT_REGFILES "Fichero de Registro (*.reg)" + IDS_FLT_REGFILE "Archivo del registro" + IDS_FLT_REGFILES "Archivo del registro (*.reg)" IDS_FLT_REGFILES_FLT "*.reg" - IDS_FLT_HIVFILES "Registry Hive Files (*.*)" + IDS_FLT_HIVFILES "Archivo de subárbol del registro (*.*)" IDS_FLT_HIVFILES_FLT "*.*" - IDS_FLT_REGEDIT4 "Fichero de Registro Win9x/NT4 (REGEDIT4) (*.reg)" + IDS_FLT_REGEDIT4 "Archivo del registro de Win9x/NT4 (REGEDIT4) (*.reg)" IDS_FLT_REGEDIT4_FLT "*.reg" IDS_FLT_ALLFILES "Todos los archivos (*.*)" IDS_FLT_ALLFILES_FLT "*.*" @@ -363,79 +366,79 @@ END STRINGTABLE BEGIN - IDS_ACCESS_FULLCONTROL "Control Total" + IDS_ACCESS_FULLCONTROL "Control total" IDS_ACCESS_READ "Lectura" - IDS_ACCESS_QUERYVALUE "Consultar Valor" - IDS_ACCESS_SETVALUE "Modificar Valor" - IDS_ACCESS_CREATESUBKEY "Crear Subclave" - IDS_ACCESS_ENUMERATESUBKEYS "Enumerar Subclaves" + IDS_ACCESS_QUERYVALUE "Consultar valor" + IDS_ACCESS_SETVALUE "Modificar valor" + IDS_ACCESS_CREATESUBKEY "Crear subclave" + IDS_ACCESS_ENUMERATESUBKEYS "Enumerar subclaves" IDS_ACCESS_NOTIFY "Notificar" IDS_ACCESS_CREATELINK "Crear vínculo" IDS_ACCESS_DELETE "Borrar" IDS_ACCESS_WRITEDAC "Escribir DAC" IDS_ACCESS_WRITEOWNER "Escribir propietario" - IDS_ACCESS_READCONTROL "Controles de Lectura" + IDS_ACCESS_READCONTROL "Control de lectura" END STRINGTABLE BEGIN - IDS_INHERIT_THISKEYONLY "Esta clave solamente" + IDS_INHERIT_THISKEYONLY "Sólo esta clave" IDS_INHERIT_THISKEYANDSUBKEYS "Esta clave y sus subclaves" - IDS_INHERIT_SUBKEYSONLY "Subclaves solamente" + IDS_INHERIT_SUBKEYSONLY "Sólo sus subclabes" END STRINGTABLE BEGIN IDS_EXPAND "&Expandir" - IDS_COLLAPSE "&Colapsar" + IDS_COLLAPSE "&Contraer" IDS_GOTO_SUGGESTED_KEY "&Ir a '%s'" - IDS_FINISHEDFIND "Finalizado la busqueda del registro." + IDS_FINISHEDFIND "Ha terminado la búsqueda en el Registro." 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 "Al añadir información puede borrar o alterar valores de forma involuntaria y hacer que algunos componentes dejen de funcionar.\nSi no confía del origen de la información contenida en '%s', no la añada al Registro.\n\n¿Seguro que quiere continuar?" + IDS_IMPORT_OK "Las claves y valores contenidos en '%s' se han añadido correctamente al Registro." + IDS_IMPORT_ERROR "No se pudo importar '%s': Hubo un error al abrir el archivo. Puede deberse a fallos en el disco o en el sistema de archivos, o puede que el archivo no exista." + IDS_EXPORT_ERROR "No se pudo exportar '%s': Hubo un error al crear o escribir el archivo. Puede deberse a fallos en el disco o en el sistema de archivos." END STRINGTABLE BEGIN - IDS_BUSNUMBER "Bus Number" - IDS_INTERFACE "Interface" - IDS_DMA_CHANNEL "Channel" - IDS_DMA_PORT "Port" + IDS_BUSNUMBER "Número de bus" + IDS_INTERFACE "Interfaz" + IDS_DMA_CHANNEL "Canal" + IDS_DMA_PORT "Puerto" IDS_INTERRUPT_VECTOR "Vector" - IDS_INTERRUPT_LEVEL "Level" - IDS_INTERRUPT_AFFINITY "Affinity" - IDS_INTERRUPT_TYPE "Type" - IDS_MEMORY_ADDRESS "Physical Address" - IDS_MEMORY_LENGTH "Length" - IDS_MEMORY_ACCESS "Access" - IDS_PORT_ADDRESS "Physical Address" - IDS_PORT_LENGTH "Length" - IDS_PORT_ACCESS "Access" - IDS_SPECIFIC_RESERVED1 "Reserved 1" - IDS_SPECIFIC_RESERVED2 "Reserved 2" - IDS_SPECIFIC_DATASIZE "Data Size" + IDS_INTERRUPT_LEVEL "Nivel" + IDS_INTERRUPT_AFFINITY "Afinidad" + IDS_INTERRUPT_TYPE "Tipo" + IDS_MEMORY_ADDRESS "Direción física" + IDS_MEMORY_LENGTH "Longitud" + IDS_MEMORY_ACCESS "Aceso" + IDS_PORT_ADDRESS "Direción física" + IDS_PORT_LENGTH "Longitud" + IDS_PORT_ACCESS "Aceso" + IDS_SPECIFIC_RESERVED1 "Reservada 1" + IDS_SPECIFIC_RESERVED2 "Reservada 2" + IDS_SPECIFIC_DATASIZE "Tamaño de datos" END STRINGTABLE BEGIN - IDS_PORT_PORT_IO "Port" - IDS_PORT_MEMORY_IO "Memory" + IDS_PORT_PORT_IO "Puerto" + IDS_PORT_MEMORY_IO "Memoria" IDS_INTERRUPT_EDGE_SENSITIVE "Edge Sensitive" IDS_INTERRUPT_LEVEL_SENSITIVE "Level Sensitive" - IDS_MEMORY_READ_ONLY "Read Only" - IDS_MEMORY_WRITE_ONLY "Write Only" - IDS_MEMORY_READ_WRITE "Read / Write" + IDS_MEMORY_READ_ONLY "Sólo lectura" + IDS_MEMORY_WRITE_ONLY "Sólo escritura" + IDS_MEMORY_READ_WRITE "Lectura / Escritura" END STRINGTABLE BEGIN - IDS_BUS_UNDEFINED "Undefined" - IDS_BUS_INTERNAL "Internal" + IDS_BUS_UNDEFINED "Sin definir" + IDS_BUS_INTERNAL "Interno" IDS_BUS_ISA "ISA" IDS_BUS_EISA "EISA" IDS_BUS_MICROCHANNEL "MicroChannel" @@ -447,11 +450,11 @@ BEGIN IDS_BUS_CBUS "C-Bus" IDS_BUS_MPIBUS "MPI-Bus" IDS_BUS_MPSABUS "MPSA-Bus" - IDS_BUS_PROCESSORINTERNAL "Processor Internal" - IDS_BUS_INTERNALPOWERBUS "Internal Power Bus" - IDS_BUS_PNPISABUS "PnP-ISA Bus" - IDS_BUS_PNPBUS "PnP Bus" - IDS_BUS_UNKNOWNTYPE "Unknown Interface Type" + IDS_BUS_PROCESSORINTERNAL "Interno del procesador" + IDS_BUS_INTERNALPOWERBUS "Bus de alimentación interno" + IDS_BUS_PNPISABUS "Bus PnP-ISA" + IDS_BUS_PNPBUS "Bus PnP" + IDS_BUS_UNKNOWNTYPE "Tipo de interfaz desconocido" END /*****************************************************************/ @@ -470,36 +473,36 @@ END IDD_LOADHIVE DIALOGEX 0, 0, 193, 34 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Load Hive" +CAPTION "Cargar subárbol" FONT 8, "Ms Shell Dlg" BEGIN - LTEXT "&Key:", IDC_STATIC, 4, 4, 15, 8, SS_LEFT + LTEXT "&Clave:", IDC_STATIC, 4, 4, 15, 8, SS_LEFT EDITTEXT IDC_EDIT_KEY, 23, 2, 167, 13 - DEFPUSHBUTTON "OK", IDOK, 140, 17, 50, 14 - PUSHBUTTON "Cancel", IDCANCEL, 89, 17, 50, 14 + DEFPUSHBUTTON "Aceptar", IDOK, 140, 17, 50, 14 + PUSHBUTTON "Cancelar", IDCANCEL, 89, 17, 50, 14 END IDD_ADDFAVORITES DIALOGEX 0, 0, 186, 46 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Añadir a Favoritos" +CAPTION "Añadir a favoritos" FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "Aceptar", IDOK, 129, 7, 50, 14 PUSHBUTTON "Cancelar", IDCANCEL, 129, 24, 50, 14 - LTEXT "Nombre del &Favorito:", IDC_STATIC, 7, 7, 90, 10 + LTEXT "Nombre de &favorito:", IDC_STATIC, 7, 7, 90, 10 EDITTEXT IDC_FAVORITENAME, 7, 26, 110, 13, ES_AUTOHSCROLL END IDD_REMOVEFAVORITES DIALOGEX 0, 0, 164, 135 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Quitar favoritos" +CAPTION "Quitar de favoritos" FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "Aceptar", IDOK, 107, 114, 50, 14 PUSHBUTTON "Cancelar", IDCANCEL, 7, 114, 50, 14 CONTROL "Lista1", IDC_FAVORITESLIST, "SysListView32", LVS_LIST | WS_BORDER | WS_TABSTOP, 7, 20, 150, 90 - LTEXT "Seleccionar favorito(s):", IDC_STATIC, 7, 7, 99, 12 + LTEXT "Seleccionar favoritos:", IDC_STATIC, 7, 7, 99, 12 END IDD_FIND DIALOGEX 0, 0, 254, 82 @@ -531,7 +534,7 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN ICON IDI_REGEDIT, IDC_STATIC, 7, 7, 20, 20 DEFPUSHBUTTON "&Cancelar", IDCANCEL, 93, 29, 45, 14 - LTEXT "Buscando en el registro...", IDC_STATIC, 33, 12, 83, 8 + LTEXT "Buscando en el Registro...", IDC_STATIC, 33, 12, 83, 8 END /* String Table */ diff --git a/base/applications/regedit/lang/ru-RU.rc b/base/applications/regedit/lang/ru-RU.rc index 45ef7d80833..e7d990d3f2a 100644 --- a/base/applications/regedit/lang/ru-RU.rc +++ b/base/applications/regedit/lang/ru-RU.rc @@ -37,7 +37,7 @@ BEGIN MENUITEM "&Подключить сетевой реестр...", ID_REGISTRY_CONNECTNETWORKREGISTRY MENUITEM "&Отключить сетевой реестр...", ID_REGISTRY_DISCONNECTNETWORKREGISTRY, GRAYED MENUITEM SEPARATOR - MENUITEM "&Печатаь\tCtrl+P", ID_REGISTRY_PRINT, GRAYED + MENUITEM "&Печать\tCtrl+P", ID_REGISTRY_PRINT, GRAYED MENUITEM SEPARATOR MENUITEM "В&ыход", ID_REGISTRY_EXIT END @@ -230,7 +230,7 @@ BEGIN LTEXT "Порт:", IDC_STATIC, 10, 134, 38, 8 CONTROL "", IDC_PORT_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 144, 261, 31 - LTEXT "Даннные устройства:", IDC_STATIC, 10, 177, 80, 8 + LTEXT "Данные устройства:", IDC_STATIC, 10, 177, 80, 8 CONTROL "", IDC_DEVICE_LIST, "SysListView32", LVS_REPORT | LVS_NOSORTHEADER | LVS_SINGLESEL | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 10, 188, 261, 31 GROUPBOX "Назначение", IDC_STATIC, 10, 219, 125, 39 diff --git a/base/applications/regedit/lang/tr-TR.rc b/base/applications/regedit/lang/tr-TR.rc index e8dbcd76d5f..c990a2d575a 100644 --- a/base/applications/regedit/lang/tr-TR.rc +++ b/base/applications/regedit/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -242,7 +242,7 @@ BEGIN LTEXT "Husûsî Sürücü", IDC_DRIVER_EXCLUSIVE, 72, 240, 54, 8, WS_DISABLED RTEXT "Arayüz Türü:", IDC_STATIC, 144, 220, 58, 8 LTEXT "", IDC_INTERFACETYPE, 205, 220, 66, 8 - RTEXT "Veri Yolu Numarası:", IDC_STATIC, 151, 230, 51, 8 + RTEXT "Veriyolu Numarası:", IDC_STATIC, 151, 230, 51, 8 LTEXT "", IDC_BUSNUMBER, 205, 230, 66, 8 RTEXT "Sürüm:", IDC_STATIC, 151, 240, 51, 8 LTEXT "", IDC_VERSION, 205, 240, 66, 8 @@ -404,7 +404,7 @@ END STRINGTABLE BEGIN - IDS_BUSNUMBER "Veri Yolu Numarası" + IDS_BUSNUMBER "Veriyolu Numarası" IDS_INTERFACE "Arayüz" IDS_DMA_CHANNEL "Yol" IDS_DMA_PORT "Giriş" @@ -444,15 +444,15 @@ BEGIN IDS_BUS_TURBOCHANNEL "TURBOChannel" IDS_BUS_PCIBUS "PCI" IDS_BUS_VMEBUS "VME" - IDS_BUS_NUBUS "Nu Veri Yolu" + IDS_BUS_NUBUS "Nu Veriyolu" IDS_BUS_PCMCIABUS "PCMCIA" - IDS_BUS_CBUS "C Veri Yolu" - IDS_BUS_MPIBUS "MPI Veri Yolu" - IDS_BUS_MPSABUS "MPSA Veri Yolu" + IDS_BUS_CBUS "C Veriyolu" + IDS_BUS_MPIBUS "MPI Veriyolu" + IDS_BUS_MPSABUS "MPSA Veriyolu" IDS_BUS_PROCESSORINTERNAL "İç İşlemci" - IDS_BUS_INTERNALPOWERBUS "İç Güç Veri Yolu" - IDS_BUS_PNPISABUS "PnP-ISA Veri Yolu" - IDS_BUS_PNPBUS "PnP Veri Yolu" + IDS_BUS_INTERNALPOWERBUS "İç Güç Veriyolu" + IDS_BUS_PNPISABUS "PnP-ISA Veriyolu" + IDS_BUS_PNPBUS "PnP Veriyolu" IDS_BUS_UNKNOWNTYPE "Bilinmeyen Arayüz Türü" END diff --git a/base/applications/screensavers/3dtext/lang/es-ES.rc b/base/applications/screensavers/3dtext/lang/es-ES.rc index 68cfad628ca..30ca6b862ed 100644 --- a/base/applications/screensavers/3dtext/lang/es-ES.rc +++ b/base/applications/screensavers/3dtext/lang/es-ES.rc @@ -1,8 +1,11 @@ +/* Spanish Language resource file. + * Translated by: ?? and Ismael Ferreras Morezuelas <2014-11-07> */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL DLG_SCRNSAVECONFIGURE DIALOGEX 0, 0, 273, 178 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Configuración del Salvapantallas Texto en 3D" +CAPTION "Configuración del Salvapantallas de texto en 3D" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Aceptar", IDOK, 216, 7, 50, 14 @@ -13,5 +16,5 @@ END STRINGTABLE BEGIN - IDS_DESCRIPTION "Salvapantallas Texto en 3D" + IDS_DESCRIPTION "Salvapantallas de texto en 3D" END diff --git a/base/applications/screensavers/3dtext/lang/tr-TR.rc b/base/applications/screensavers/3dtext/lang/tr-TR.rc index aab24a011c8..986b113549e 100644 --- a/base/applications/screensavers/3dtext/lang/tr-TR.rc +++ b/base/applications/screensavers/3dtext/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/applications/screensavers/logon/lang/es-ES.rc b/base/applications/screensavers/logon/lang/es-ES.rc index 62798487b44..8d1aae7051b 100644 --- a/base/applications/screensavers/logon/lang/es-ES.rc +++ b/base/applications/screensavers/logon/lang/es-ES.rc @@ -1,7 +1,10 @@ +/* Spanish Language resource file. + * Translated by: ?? and Ismael Ferreras Morezuelas <2014-11-07> */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL STRINGTABLE BEGIN - IDS_DESCRIPTION "Logotipo ReactOS" - IDS_TEXT "Ninguna opción necesita ser configurada." + IDS_DESCRIPTION "Logotipo de ReactOS" + IDS_TEXT "No se necesita configurar ninguna opción." END diff --git a/base/applications/screensavers/logon/lang/tr-TR.rc b/base/applications/screensavers/logon/lang/tr-TR.rc index a0a6c7aa171..187fc403a86 100644 --- a/base/applications/screensavers/logon/lang/tr-TR.rc +++ b/base/applications/screensavers/logon/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/applications/setup16/CMakeLists.txt b/base/applications/setup16/CMakeLists.txt index 9f1d652adee..9b8f5b9bcbe 100644 --- a/base/applications/setup16/CMakeLists.txt +++ b/base/applications/setup16/CMakeLists.txt @@ -1,5 +1,5 @@ add_executable(setup16 main.c) set_module_type(setup16 win32gui UNICODE) -add_importlibs(setup16 user32 gdi32 advapi32 msvcrt kernel32 shell32 setupapi) +add_importlibs(setup16 user32 gdi32 advapi32 shell32 setupapi msvcrt kernel32) add_cd_file(TARGET setup16 DESTINATION reactos/system32 FOR all) diff --git a/base/applications/shutdown/CMakeLists.txt b/base/applications/shutdown/CMakeLists.txt index 8d553e73c63..3d27bb64cdc 100644 --- a/base/applications/shutdown/CMakeLists.txt +++ b/base/applications/shutdown/CMakeLists.txt @@ -7,6 +7,6 @@ list(APPEND SOURCE add_executable(shutdown ${SOURCE} shutdown.rc) set_module_type(shutdown win32cui UNICODE) -add_importlibs(shutdown advapi32 user32 msvcrt powrprof kernel32) +add_importlibs(shutdown advapi32 user32 powrprof msvcrt kernel32) add_pch(shutdown precomp.h SOURCE) add_cd_file(TARGET shutdown DESTINATION reactos/system32 FOR all) diff --git a/base/applications/shutdown/lang/es-ES.rc b/base/applications/shutdown/lang/es-ES.rc index 158242f7f81..58923110677 100644 --- a/base/applications/shutdown/lang/es-ES.rc +++ b/base/applications/shutdown/lang/es-ES.rc @@ -1,103 +1,106 @@ +/* Spanish Language resource file. + * Translated by: Ismael Ferreras Morezuelas <2014-11-07> */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL /* Dialog */ IDD_GUI DIALOGEX 0, 0, 240, 255 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Remote Shutdown" +CAPTION "Apagado remoto" 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 "&Aceptar", IDC_OK, 125, 232, 50, 14 + PUSHBUTTON "&Cancelar", IDC_CANCEL, 178, 232, 50, 14 + LTEXT "&Equipos:", 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 "&Añadir...", IDC_ADD_SYSTEM, 179, 19, 50, 14 + PUSHBUTTON "&Eliminar", IDC_REMOVE_SYSTEM, 179, 36, 50, 14, WS_DISABLED + PUSHBUTTON "&Examinar...", IDC_BROWSE_SYSTEM, 179, 53, 50, 14 + LTEXT "Acción", 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 "Avisar a los usuarios", IDC_WARN_USERS, 175, 79, 55, 14, BS_AUTOCHECKBOX | WS_TABSTOP + LTEXT "Mostrar la advertencia durante", 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 "segundo(s)", IDC_SHOW_WARN_TWO, 124, 99, 32, 10 + GROUPBOX "Rastreador de sucesos de apagado", IDC_STATIC, 5, 114, 224, 114 + LTEXT "Razón:", IDC_STATIC, 16, 130, 27, 8 + CHECKBOX "Planeado", 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&mentario:", 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 "Utilidad de apagado de 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\ +Uso: shutdown [/?] [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]\n\ + [/m \\\\equipo][/t xxx][/d [p|u:]xx:yy [/c ""comentario""]]\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" + Sin argumentos o con /? Muestra esta ayuda.\n\ + /i Muestra la interfaz gráfica de usuario (GUI).\n\ + Esta opción debe ser la primera.\n\ + /l Cierrar sesión en el equipo local. No funciona con /m o /d.\n\ + /s Apaga el equipo.\n\ + /r Reinicia el equipo.\n\ + /g Reiniciar el equipo junto con todas las aplicaciones registradas.\n\ + /a Cancela un apagado retrasado. Sólo se puede utilizar durante\n\ + la cuanta atrás, pero no más tarde.\n\ + /p Apaga el equipo local sin esperas o avisos.\n\ + Se puede usar junto con /d o /f.\n\ + /h Hiberna el equipo local. Se puede usar junto con /f.\n\ + /e Documenta la razón por apagado no planeado.\n\ + /m \\\\equipo Especifica el equipo remoto de destino (dirección UNC/IP).\n\ + /t xxx Establece el tiempo de espera a xxx segundos antes de apagar.\n\ + El rango válido es de 0 a 315360000 (10 años),\n\ + con 30 siendo el valor por defecto.\n\ + /c ""comentario"" Comenta la razón de apagado o reinicio.\n\ + Sólo se permiten hasta 512 caracteres.\n\ + /f Fuerza el cierre de aplicaciones sin avisar a los usuarios.\n\ + Si no se especifica ningún otro parámetro también cerrará sesión.\n\ + /d [p|u:]xx:yy Da un código de razón para el apagado o reinicio.\n\ + p indica que el apagado o reinicio estaba planeado.\n\ + u indica que la razón está definida por el usuario.\n\ + Si no se especifica ni p ni la u, el apagado se\n\ + marca como no planeado.\n\ + Donde xx es el código de razón mayor (entero positivo menor que 256).\n\ + Donde yy es el código de razón mayor (entero positivo menor que 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 "ERROR: No se puede apagar y reiniciar a la vez.\n" + IDS_ERROR_TIMEOUT "ERROR: El valor de tiempo de espera de %u está fuera del rango permitido (0-315360000).\n" + IDS_ERROR_ABORT "ERROR: No se ha podido cancelar el apagado del equipo.\n" + IDS_ERROR_LOGOFF "ERROR: No se ha podido cerrar sesión en el equipo.\n" + IDS_ERROR_SHUTDOWN "ERROR: No se ha podido apagar el equipo.\n" + IDS_ERROR_RESTART "ERROR: No se ha podido reiniciar el equipo.\n" + IDS_ERROR_MAX_COMMENT_LENGTH "ERROR: La longitud del comentario excede el límite de palabras especificado por el equipo.\n" + IDS_ERROR_HIBERNATE "ERROR: No se ha podido poner el sistema en el modo de hibernación.\n" + IDS_ERROR_HIBERNATE_LOCAL "ERROR: No se ha podido activar de forma remota el modo de hibernación.\n" + IDS_ERROR_HIBERNATE_ENABLED "ERROR: No está activado el modo de hibernación.\n" + IDS_ERROR_DIALOG_CAPTION "Apagado remoto" + IDS_ERROR_DIALOG_INIT "No se pudo mostrar la interfaz gráfica de usuario." 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 "Apagar el equipo" + IDS_ACTION_RESTART "Reiniciar el equipo" + IDS_ACTION_UNEXPECTED_SHUTDOWN "Anotar las razones del apagado" END /* Remote shutdown reason strings */ STRINGTABLE BEGIN - IDS_REASON_OTHER "Other" - IDS_REASON_HARDWARE_MAINTENANCE "Hardware: Maintenance" + IDS_REASON_OTHER "Otra" + IDS_REASON_HARDWARE_MAINTENANCE "Hardware: Mantenimiento" 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_OS_RECOVER "Sistema operativo: Recuperación" + IDS_REASON_OS_RECONFIGURE "Sistema operativo: Reconfiguración" + IDS_REASON_APP_MAINTENANCE "Aplicación: Mantenimiento" + IDS_REASON_APP_INSTALL "Aplicación: Instalación" + IDS_REASON_APP_UNRESPONSIVE "Aplicación: No responde" + IDS_REASON_APP_UNSTABLE "Aplicación: Inestable" + IDS_REASON_SECURITY "Problema de seguridad" + IDS_REASON_NETWORK "Pérdida de conectividad de red" END diff --git a/base/applications/sndrec32/CMakeLists.txt b/base/applications/sndrec32/CMakeLists.txt index 72697a1c3c6..1319008d8ad 100644 --- a/base/applications/sndrec32/CMakeLists.txt +++ b/base/applications/sndrec32/CMakeLists.txt @@ -14,6 +14,6 @@ list(APPEND SOURCE add_executable(sndrec32 ${SOURCE} rsrc.rc) set_module_type(sndrec32 win32gui UNICODE) -add_importlibs(sndrec32 winmm user32 msacm32 comctl32 comdlg32 gdi32 msvcrt kernel32 shell32) +add_importlibs(sndrec32 winmm user32 msacm32 comctl32 comdlg32 gdi32 shell32 msvcrt kernel32) add_pch(sndrec32 stdafx.h SOURCE) add_cd_file(TARGET sndrec32 DESTINATION reactos/system32 FOR all) diff --git a/base/applications/sndrec32/lang/es-ES.rc b/base/applications/sndrec32/lang/es-ES.rc index ec6e7661082..7c8e54b345d 100644 --- a/base/applications/sndrec32/lang/es-ES.rc +++ b/base/applications/sndrec32/lang/es-ES.rc @@ -1,3 +1,6 @@ +/* Spanish Language resource file. + * Translated by: ?? and Ismael Ferreras Morezuelas <2014-11-07> */ + LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL IDC_REACTOS_SNDREC32 ACCELERATORS @@ -8,56 +11,56 @@ END IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Acerca de Grabadora de sonidos ReactOS" +CAPTION "Acerca de la Grabadora de sonidos de ReactOS" 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 "Grabadora de sonidos de ReactOS, versión 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX LTEXT "Copyright (C) 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "Aceptar", IDOK, 139, 54, 50, 14, WS_GROUP END IDR_MENU1 MENU BEGIN - POPUP "Archivo" + POPUP "&Archivo" BEGIN - 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 "&Nuevo", ID_FILE_NEW + MENUITEM "&Abrir...", ID_FILE_OPEN + MENUITEM "&Guardar", ID_FILE_SAVE, GRAYED + MENUITEM "Guardar &como...", ID_FILE_SAVEAS, GRAYED + MENUITEM "&Restaurar...", ID_FILE_RESTORE, GRAYED + MENUITEM "&Propiedades", ID_FILE_PROPERTIES MENUITEM SEPARATOR - MENUITEM "Salir", ID_FILE_EXIT + MENUITEM "&Salir", ID_FILE_EXIT END - POPUP "&Edit" + POPUP "&Edición" BEGIN - MENUITEM "&Copy", ID_EDIT_COPY - MENUITEM "&Paste Insert", ID_EDIT_PASTE, GRAYED - MENUITEM "Paste Mi&x", ID_EDIT_PASTEMIX, GRAYED + MENUITEM "&Copiar", ID_EDIT_COPY + MENUITEM "&Pegar insertando", ID_EDIT_PASTE, GRAYED + MENUITEM "Pegar me&zclando", ID_EDIT_PASTEMIX, GRAYED MENUITEM SEPARATOR - MENUITEM "&Insert File...", ID_EDIT_INSERTFILE - MENUITEM "&Mix with File...", ID_EDIT_MIXFILE + MENUITEM "&Insertar archivo...", ID_EDIT_INSERTFILE + MENUITEM "&Mezclar con archivo...", ID_EDIT_MIXFILE MENUITEM SEPARATOR - MENUITEM "Delete &Before Current Position",ID_EDIT_DELETEBEFORE, GRAYED - MENUITEM "Delete &After Current Position",ID_EDIT_DELETEAFTER, GRAYED + MENUITEM "&Borrar antes de la posición actual",ID_EDIT_DELETEBEFORE, GRAYED + MENUITEM "Borrar &tras la posición actual",ID_EDIT_DELETEAFTER, GRAYED MENUITEM SEPARATOR - MENUITEM "A&udio Properties", ID_EDIT_AUDIOPROPS + MENUITEM "Propiedades de a&udio", ID_EDIT_AUDIOPROPS END - POPUP "Effect&s" + POPUP "Efecto&s" BEGIN - MENUITEM "&Increase Volume (by 25%)", ID_EFFECTS_INCVOL - MENUITEM "&Decrease Volume", ID_EFFECTS_DECVOL + MENUITEM "&Subir volumen (un 25%)", ID_EFFECTS_INCVOL + MENUITEM "&Bajar volumen", ID_EFFECTS_DECVOL MENUITEM SEPARATOR - MENUITEM "&Increase Speed (by 100%)", ID_EFFECTS_INCSPD - MENUITEM "&Decrease Speed", ID_EFFECTS_DECSPD + MENUITEM "Subir &velocidad (un 100%)", ID_EFFECTS_INCSPD + MENUITEM "Ba&jar velocidad", ID_EFFECTS_DECSPD MENUITEM SEPARATOR - MENUITEM "&Add Echo", ID_EFFECTS_ECHO - MENUITEM "&Reverse", ID_EFFECTS_REVERSE + MENUITEM "&Añadir eco", ID_EFFECTS_ECHO + MENUITEM "&Invertir", ID_EFFECTS_REVERSE END POPUP "?" BEGIN - MENUITEM "Acerca de...", ID_ABOUT + MENUITEM "&Acerca de...", ID_ABOUT END END @@ -69,11 +72,11 @@ END STRINGTABLE BEGIN - IDS_STRPOS "Position: %.2f s" - IDS_STRDUR "Length: %.2f s" - IDS_STRBUF "Buffer: %.2f kb" + IDS_STRPOS "Posición: %.2f s" + IDS_STRDUR "Longitud: %.2f s" + IDS_STRBUF "Búfer: %.2f kb" IDS_STRFMT "%.1f kHz %u bits" IDS_STRMONO "mono" - IDS_STRSTEREO "stereo" + IDS_STRSTEREO "estéreo" IDS_STRCHAN "%s" END diff --git a/base/applications/sndrec32/lang/tr-TR.rc b/base/applications/sndrec32/lang/tr-TR.rc index 60782629234..9576624a9e6 100644 --- a/base/applications/sndrec32/lang/tr-TR.rc +++ b/base/applications/sndrec32/lang/tr-TR.rc @@ -10,11 +10,11 @@ END IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Ses Kaydedicisi Üzerine" +CAPTION "Ses Saklayıcısı Üzerine" 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 "Ses Saklayıcısı: Sürüm 1.0", IDC_STATIC, 56, 16, 114, 8, SS_NOPREFIX LTEXT "Tekif Hakkı - 2009", IDC_STATIC, 56, 25, 114, 8 DEFPUSHBUTTON "Tamam", IDOK, 139, 54, 50, 14, WS_GROUP END @@ -25,8 +25,8 @@ BEGIN BEGIN 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 "&Sakla", ID_FILE_SAVE, GRAYED + MENUITEM "Ay&rı Sakla...", ID_FILE_SAVEAS, GRAYED MENUITEM "Y&eniden Yükle...", ID_FILE_RESTORE, GRAYED MENUITEM "&Husûsiyetler", ID_FILE_PROPERTIES MENUITEM SEPARATOR @@ -44,7 +44,7 @@ BEGIN MENUITEM "&Şimdiki Konumun Öncesini Sil",ID_EDIT_DELETEBEFORE, GRAYED MENUITEM "Ş&imdiki Konumun Sonrasını Sil",ID_EDIT_DELETEAFTER, GRAYED MENUITEM SEPARATOR - MENUITEM "&Ses Husûsîyetleri", ID_EDIT_AUDIOPROPS + MENUITEM "&Ses Husûsiyetleri", ID_EDIT_AUDIOPROPS END POPUP "&Etkiler" BEGIN @@ -65,7 +65,7 @@ END STRINGTABLE BEGIN - IDS_APP_TITLE "Ses Kaydedicisi" + IDS_APP_TITLE "Ses Saklayıcısı" IDC_REACTOS_SNDREC32 "REACTOS_SNDREC32" END diff --git a/base/applications/sndvol32/lang/es-ES.rc b/base/applications/sndvol32/lang/es-ES.rc index e91b4018704..8ba4fc4efc2 100644 --- a/base/applications/sndvol32/lang/es-ES.rc +++ b/base/applications/sndvol32/lang/es-ES.rc @@ -1,4 +1,4 @@ -/* Spanish language file by Javier Remacha <2007-2008> */ +/* Spanish language file by Javier Remacha <2007-2008> and Ismael Ferreras Morezuelas <2014-11-07> */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL @@ -7,21 +7,21 @@ BEGIN POPUP "&Opciones" BEGIN MENUITEM "P&ropiedades", IDC_PROPERTIES - MENUITEM "&Controles Avanzados", IDC_ADVANCED_CONTROLS + MENUITEM "&Controles avanzados", IDC_ADVANCED_CONTROLS MENUITEM SEPARATOR MENUITEM "&Salir", IDC_EXIT END POPUP "Ay&uda" BEGIN - MENUITEM "&Temas de Ayuda", IDC_HELP_TOPICS + MENUITEM "&Temas de ayuda", IDC_HELP_TOPICS MENUITEM SEPARATOR - MENUITEM "&Acerca de Control de Volumen", IDC_ABOUT + MENUITEM "&Acerca de Control de volumen", IDC_ABOUT END END STRINGTABLE BEGIN - IDS_SNDVOL32 "Control de Volumen" + IDS_SNDVOL32 "Control de volumen" IDS_NOMIXERDEVICES "¡No hay dispositivos mezcladores activos en este momento! \n\ La aplicación se cerrará ahora." END @@ -38,7 +38,7 @@ BEGIN PUSHBUTTON "&Grabación", IDC_RECORDING, 13, 61, 47, 8, BS_AUTORADIOBUTTON PUSHBUTTON "&Otros:", IDC_OTHER, 13, 80, 42, 8, BS_AUTORADIOBUTTON | WS_DISABLED COMBOBOX IDC_LINE, 55, 80, 155, 50, CBS_DROPDOWNLIST | WS_TABSTOP | WS_DISABLED - LTEXT "Mostrar los controles de volumen siguientes:", IDC_LABELCONTROLS, 7, 109, 162, 8 + LTEXT "Mostrar los siguientes controles de volumen:", IDC_LABELCONTROLS, 7, 109, 162, 8 CONTROL "", IDC_CONTROLS, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP | WS_BORDER, 7, 122, 211, 96 PUSHBUTTON "Aceptar", IDOK, 114, 226, 50, 14 PUSHBUTTON "Cancelar", IDCANCEL, 168, 226, 50, 14 @@ -48,12 +48,12 @@ IDD_VOLUME_CTRL DIALOG 0, 0, 90, 150 STYLE WS_POPUP | WS_BORDER FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 + LTEXT "Principal", IDC_LINE_NAME, 4, 7, 100, 15 CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 LTEXT "Balance", -1, 4, 35, 80, 42 LTEXT "Volumen", -1, 4, 100, 77, 108 CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 - CHECKBOX "&Silencio", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CHECKBOX "&Silenciar", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 END diff --git a/base/applications/sndvol32/lang/tr-TR.rc b/base/applications/sndvol32/lang/tr-TR.rc index b12348b583a..f8f9a663bd1 100644 --- a/base/applications/sndvol32/lang/tr-TR.rc +++ b/base/applications/sndvol32/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -34,7 +34,7 @@ BEGIN COMBOBOX IDC_MIXERDEVICE, 55, 8, 162, 80, CBS_DROPDOWNLIST | WS_TABSTOP GROUPBOX "Ses Düzeyi Düzenlenecekler", -1, 7, 25, 211, 77 PUSHBUTTON "&Çalma", IDC_PLAYBACK, 13, 43, 47, 8, BS_AUTORADIOBUTTON - PUSHBUTTON "K&aydetme", IDC_RECORDING, 13, 61, 47, 8, BS_AUTORADIOBUTTON + PUSHBUTTON "&Saklama", IDC_RECORDING, 13, 61, 47, 8, BS_AUTORADIOBUTTON PUSHBUTTON "&Başka:", IDC_OTHER, 13, 80, 42, 8, BS_AUTORADIOBUTTON | WS_DISABLED COMBOBOX IDC_LINE, 55, 80, 155, 50, CBS_DROPDOWNLIST | WS_TABSTOP | WS_DISABLED LTEXT "Aşağıdaki ses düzeyi denetimlerini göster:", IDC_LABELCONTROLS, 7, 109, 162, 8 diff --git a/base/applications/taskmgr/CMakeLists.txt b/base/applications/taskmgr/CMakeLists.txt index 959a1aa6ed8..68bae6c0ad1 100644 --- a/base/applications/taskmgr/CMakeLists.txt +++ b/base/applications/taskmgr/CMakeLists.txt @@ -23,6 +23,6 @@ list(APPEND SOURCE add_executable(taskmgr ${SOURCE} taskmgr.rc) set_module_type(taskmgr win32gui UNICODE) -add_importlibs(taskmgr advapi32 user32 gdi32 shell32 comctl32 msvcrt kernel32 ntdll) +add_importlibs(taskmgr advapi32 user32 gdi32 shell32 shlwapi comctl32 msvcrt kernel32 ntdll) add_pch(taskmgr precomp.h SOURCE) add_cd_file(TARGET taskmgr DESTINATION reactos/system32 FOR all) diff --git a/base/applications/taskmgr/column.c b/base/applications/taskmgr/column.c index 961287b8f49..71b8db3426f 100644 --- a/base/applications/taskmgr/column.c +++ b/base/applications/taskmgr/column.c @@ -54,6 +54,7 @@ const PresetColumnEntry ColumnPresets[COLUMN_NMAX] = { DECLARE_COLUMN_PRESET(IOREADBYTES, 70, FALSE) DECLARE_COLUMN_PRESET(IOWRITEBYTES, 70, FALSE) DECLARE_COLUMN_PRESET(IOOTHERBYTES, 70, FALSE) + DECLARE_COLUMN_PRESET(COMMANDLINE, 450, FALSE) }; static int InsertColumn(int nCol, LPCWSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem); @@ -204,10 +205,13 @@ void UpdateColumnDataHints(void) HDITEM hditem; WCHAR text[260]; ULONG Index; + ULONG uItems; WCHAR szTemp[256]; - unsigned int i; + UINT i; - for (Index=0; Index<(ULONG)SendMessageW(hProcessPageHeaderCtrl, HDM_GETITEMCOUNT, 0, 0); Index++) + uItems = min(SendMessageW(hProcessPageHeaderCtrl, HDM_GETITEMCOUNT, 0, 0), COLUMN_NMAX); + + for (Index=0; Indexm_brushBack != NULL) DeleteObject(this->m_brushBack); } -BOOL GraphCtrl_Create(TGraphCtrl* this, HWND hWnd, HWND hParentWnd, UINT nID) +void GraphCtrl_Create(TGraphCtrl* this, HWND hWnd, HWND hParentWnd, UINT nID) { - BOOL result = 0; - GraphCtrl_Init(this); this->m_hParentWnd = hParentWnd; this->m_hWnd = hWnd; + GraphCtrl_Resize(this); - if (result != 0) - GraphCtrl_InvalidateCtrl(this, FALSE); - return result; + + return; } void GraphCtrl_SetRange(TGraphCtrl* this, double dLower, double dUpper, int nDecimalPlaces) @@ -636,5 +634,5 @@ GraphCtrl_WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) /* * We pass on all non-handled messages */ - return CallWindowProcW((WNDPROC)OldGraphCtrlWndProc, hWnd, message, wParam, lParam); + return CallWindowProcW(OldGraphCtrlWndProc, hWnd, message, wParam, lParam); } diff --git a/base/applications/taskmgr/graphctl.h b/base/applications/taskmgr/graphctl.h index 3a5b8388150..e9ef84f05f7 100644 --- a/base/applications/taskmgr/graphctl.h +++ b/base/applications/taskmgr/graphctl.h @@ -88,7 +88,7 @@ extern WNDPROC OldGraphCtrlWndProc; double GraphCtrl_AppendPoint(TGraphCtrl* this, double dNewPoint0, double dNewPoint1, double dNewPoint2, double dNewPoint3); -BOOL GraphCtrl_Create(TGraphCtrl* this, HWND hWnd, HWND hParentWnd, +void GraphCtrl_Create(TGraphCtrl* this, HWND hWnd, HWND hParentWnd, UINT nID); void GraphCtrl_Dispose(TGraphCtrl* this); void GraphCtrl_DrawPoint(TGraphCtrl* this); diff --git a/base/applications/taskmgr/lang/bg-BG.rc b/base/applications/taskmgr/lang/bg-BG.rc index 0c5377e4b0c..9a381020513 100644 --- a/base/applications/taskmgr/lang/bg-BG.rc +++ b/base/applications/taskmgr/lang/bg-BG.rc @@ -315,6 +315,7 @@ BEGIN CONTROL "В/И байтове за писане", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 125, 127, 65, 10 CONTROL "Други В/И", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 125, 138, 115, 10 CONTROL "Други В/И байтове", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 125, 149, 115, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 125, 160, 65, 10 END /* String Tables */ @@ -410,6 +411,7 @@ BEGIN IDS_TAB_IOREADBYTES "В/И прочетени байтове" IDS_TAB_IOWRITESBYTES "В/И записани байтове" IDS_TAB_IOOTHERBYTES "В/И други байтове" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Избор на стълбове..." IDS_MENU_16BITTASK "&Показване на 16битови задачи" IDS_MENU_WINDOWS "&Прозорци" @@ -433,7 +435,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Невъзможно намаляване на първенство" IDS_MSG_WARNINGCHANGEPRIORITY "ВНИМАНИЕ: Промяната на първенството на това действие може да\nпричини нежелани последствия, включително неустойчивост на системата. Сигурен ли сте, \nче искате да смените старшинството?" IDS_MSG_TRAYICONCPUUSAGE "Заетост на ЦПУ: %d%%" - IDS_STATUS_MEMUSAGE "Заета памет: %dK / %dK" + IDS_STATUS_MEMUSAGE "Заета памет: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "Заетост на ЦПУ: %3d%%" IDS_STATUS_PROCESSES "Действия: %d" IDS_NOT_RESPONDING "Не отговаря" diff --git a/base/applications/taskmgr/lang/cs-CZ.rc b/base/applications/taskmgr/lang/cs-CZ.rc index 518b9fe851e..ac024b8a1f0 100644 --- a/base/applications/taskmgr/lang/cs-CZ.rc +++ b/base/applications/taskmgr/lang/cs-CZ.rc @@ -315,6 +315,7 @@ BEGIN CONTROL "I/O zapsané bajty", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 72, 10 CONTROL "I/O ostatní", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 48, 10 CONTROL "I/O ostatní bajty", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -410,6 +411,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O přečtené bajty" IDS_TAB_IOWRITESBYTES "I/O zapsané bajty" IDS_TAB_IOOTHERBYTES "I/O ostatní bajty" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Vybrat sloupce..." IDS_MENU_16BITTASK "&Zobrazit 16-bitové úlohy" IDS_MENU_WINDOWS "&Okna" @@ -433,7 +435,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Není možné změnit prioritu" IDS_MSG_WARNINGCHANGEPRIORITY "Upozornění: Změna priority procesu může\nzpůsobit nestabilitu systému a jiné nepředvídatelné problémy. Jste si jisti\nse změnou priority procesu?" IDS_MSG_TRAYICONCPUUSAGE "Využití CPU: %d%%" - IDS_STATUS_MEMUSAGE "Využití paměti: %dK / %dK" + IDS_STATUS_MEMUSAGE "Využití paměti: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "Využití CPU: %3d%%" IDS_STATUS_PROCESSES "Procesy: %d" IDS_NOT_RESPONDING "Neodpovídá" diff --git a/base/applications/taskmgr/lang/da-DK.rc b/base/applications/taskmgr/lang/da-DK.rc index e3ef07a3e32..26dbe41e104 100644 --- a/base/applications/taskmgr/lang/da-DK.rc +++ b/base/applications/taskmgr/lang/da-DK.rc @@ -315,6 +315,7 @@ BEGIN CONTROL "I/O Skrevet Bytes", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 CONTROL "I/O Andet", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "I/O Andre Bytes", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -410,6 +411,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O Read Bytes" IDS_TAB_IOWRITESBYTES "I/O Write Bytes" IDS_TAB_IOOTHERBYTES "I/O Other Bytes" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Select Columns..." IDS_MENU_16BITTASK "&Show 16-bit tasks" IDS_MENU_WINDOWS "&Windows" @@ -433,7 +435,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Unable to Change Priority" IDS_MSG_WARNINGCHANGEPRIORITY "WARNING: Changing the priority class of this process may\ncause undesired results including system instability. Are you\nsure you want to change the priority class?" IDS_MSG_TRAYICONCPUUSAGE "CPU Usage: %d%%" - IDS_STATUS_MEMUSAGE "Mem Usage: %dK / %dK" + IDS_STATUS_MEMUSAGE "Mem Usage: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "CPU Usage: %3d%%" IDS_STATUS_PROCESSES "Processes: %d" IDS_NOT_RESPONDING "Not Responding" diff --git a/base/applications/taskmgr/lang/de-DE.rc b/base/applications/taskmgr/lang/de-DE.rc index 8365434242a..bc4cd00169b 100644 --- a/base/applications/taskmgr/lang/de-DE.rc +++ b/base/applications/taskmgr/lang/de-DE.rc @@ -317,6 +317,7 @@ BEGIN CONTROL "E/A-Bytes (Schreiben)", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 127, 105, 10 // 107 CONTROL "E/A (Andere)", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 138, 105, 10 // 107 CONTROL "E/A-Bytes (Andere)", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 149, 110, 10 // 107 + CONTROL "Befeh&lszeile", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 160, 65, 10 // 107 END /* String Tables */ @@ -412,6 +413,7 @@ BEGIN IDS_TAB_IOREADBYTES "E/A-Bytes (Lesen)" IDS_TAB_IOWRITESBYTES "E/A-Bytes (Schreiben)" IDS_TAB_IOOTHERBYTES "E/A-Bytes (Andere)" + IDS_TAB_COMMANDLINE "Befehlszeile" IDS_MENU_SELECTCOLUMNS "&Spalten auswählen..." IDS_MENU_16BITTASK "&16-Bit-Tasks anzeigen" IDS_MENU_WINDOWS "&Fenster" @@ -435,7 +437,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Kann die Priorität nicht ändern" IDS_MSG_WARNINGCHANGEPRIORITY "WARNUNG: Das Ändern der Prioritätsklasse dieses Prozesses\nkann zu unerwünschten Ergebnissen, einschl. Systeminstabilität, führen.\nSind Sie sicher, dass Sie sie ändern möchten?" IDS_MSG_TRAYICONCPUUSAGE "CPU-Auslastung: %d%%" - IDS_STATUS_MEMUSAGE "zugesicherter Speicher: %dK / %dK" + IDS_STATUS_MEMUSAGE "zugesicherter Speicher: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "CPU-Auslastung: %3d%%" IDS_STATUS_PROCESSES "Prozesse: %d" IDS_NOT_RESPONDING "Keine Rückmeldung" diff --git a/base/applications/taskmgr/lang/el-GR.rc b/base/applications/taskmgr/lang/el-GR.rc index 0f4d87ea3ba..7a65c88db56 100644 --- a/base/applications/taskmgr/lang/el-GR.rc +++ b/base/applications/taskmgr/lang/el-GR.rc @@ -317,6 +317,7 @@ BEGIN CONTROL "I/O Write Bytes", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 CONTROL "I/O Other", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "I/O Other Bytes", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -412,6 +413,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O Read Bytes" IDS_TAB_IOWRITESBYTES "I/O Write Bytes" IDS_TAB_IOOTHERBYTES "I/O Other Bytes" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Select Columns..." IDS_MENU_16BITTASK "&Show 16-bit tasks" IDS_MENU_WINDOWS "&Windows" @@ -435,7 +437,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Unable to Change Priority" IDS_MSG_WARNINGCHANGEPRIORITY "WARNING: Changing the priority class of this process may\ncause undesired results including system instability. Are you\nsure you want to change the priority class?" IDS_MSG_TRAYICONCPUUSAGE "CPU Usage: %d%%" - IDS_STATUS_MEMUSAGE "Mem Usage: %dK / %dK" + IDS_STATUS_MEMUSAGE "Mem Usage: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "CPU Usage: %3d%%" IDS_STATUS_PROCESSES "Processes: %d" IDS_NOT_RESPONDING "Not Responding" diff --git a/base/applications/taskmgr/lang/en-US.rc b/base/applications/taskmgr/lang/en-US.rc index 920992df94c..d25de52cf73 100644 --- a/base/applications/taskmgr/lang/en-US.rc +++ b/base/applications/taskmgr/lang/en-US.rc @@ -313,6 +313,7 @@ BEGIN CONTROL "I/O Write Bytes", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 CONTROL "I/O Other", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "I/O Other Bytes", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -408,6 +409,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O Read Bytes" IDS_TAB_IOWRITESBYTES "I/O Write Bytes" IDS_TAB_IOOTHERBYTES "I/O Other Bytes" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Select Columns..." IDS_MENU_16BITTASK "&Show 16-bit tasks" IDS_MENU_WINDOWS "&Windows" @@ -431,7 +433,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Unable to Change Priority" IDS_MSG_WARNINGCHANGEPRIORITY "WARNING: Changing the priority class of this process may\ncause undesired results including system instability. Are you\nsure you want to change the priority class?" IDS_MSG_TRAYICONCPUUSAGE "CPU Usage: %d%%" - IDS_STATUS_MEMUSAGE "Mem Usage: %dK / %dK" + IDS_STATUS_MEMUSAGE "Mem Usage: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "CPU Usage: %3d%%" IDS_STATUS_PROCESSES "Processes: %d" IDS_NOT_RESPONDING "Not Responding" diff --git a/base/applications/taskmgr/lang/es-ES.rc b/base/applications/taskmgr/lang/es-ES.rc index 06114b28f2f..768703c8f20 100644 --- a/base/applications/taskmgr/lang/es-ES.rc +++ b/base/applications/taskmgr/lang/es-ES.rc @@ -1,4 +1,4 @@ -/* Spanish (Spain) resources by Carlos Garcia Gomez, Samuel Serapión */ +/* Spanish (Spain) resources by Carlos Garcia Gomez, Samuel Serapión and Ismael Ferreras Morezuelas */ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL @@ -6,86 +6,86 @@ IDR_TASKMANAGER MENU BEGIN POPUP "&Archivo" BEGIN - MENUITEM "&Nueva Tarea (Ejecutar...)", ID_FILE_NEW + MENUITEM "&Nueva tarea (Ejecutar...)", ID_FILE_NEW MENUITEM SEPARATOR - MENUITEM "&Salir del Administrador de Tareas", ID_FILE_EXIT + MENUITEM "&Salir del Administrador de tareas", ID_FILE_EXIT END POPUP "&Opciones" BEGIN - MENUITEM "Siempre &Visible", ID_OPTIONS_ALWAYSONTOP, CHECKED - MENUITEM "&Minimizar En Uso", ID_OPTIONS_MINIMIZEONUSE, CHECKED - MENUITEM "&Ocultar al Minimizar", ID_OPTIONS_HIDEWHENMINIMIZED, CHECKED + MENUITEM "Siempre &visible", ID_OPTIONS_ALWAYSONTOP, CHECKED + MENUITEM "&Minimizar al abrir", ID_OPTIONS_MINIMIZEONUSE, CHECKED + MENUITEM "&Ocultar al estar minimizado", ID_OPTIONS_HIDEWHENMINIMIZED, CHECKED MENUITEM "Mo&strar tareas de 16-bit", ID_OPTIONS_SHOW16BITTASKS, CHECKED END POPUP "&Ver" BEGIN - MENUITEM "&Actualizar Ahora", ID_VIEW_REFRESH - POPUP "Velocidad de A&ctualización" + MENUITEM "&Actualizar ahora", ID_VIEW_REFRESH + POPUP "Velocidad de a&ctualización" BEGIN MENUITEM "A<a", ID_VIEW_UPDATESPEED_HIGH MENUITEM "&Normal", ID_VIEW_UPDATESPEED_NORMAL, CHECKED MENUITEM "&Baja", ID_VIEW_UPDATESPEED_LOW - MENUITEM "&Pausado", ID_VIEW_UPDATESPEED_PAUSED + MENUITEM "&Pausar", ID_VIEW_UPDATESPEED_PAUSED END MENUITEM SEPARATOR - MENUITEM "Iconos &Grandes", ID_VIEW_LARGE - MENUITEM "Iconos &Pequeños", ID_VIEW_SMALL + MENUITEM "Iconos &grandes", ID_VIEW_LARGE + MENUITEM "Iconos &pequeños", ID_VIEW_SMALL MENUITEM "&Detalles", ID_VIEW_DETAILS, CHECKED - MENUITEM "&Seleccionar Columnas...", ID_VIEW_SELECTCOLUMNS - POPUP "Historial de la &CPU" + MENUITEM "&Seleccionar columnas...", ID_VIEW_SELECTCOLUMNS + POPUP "Historial de &CPU" BEGIN - MENUITEM "&Una Gráfica, Todas las CPUs", ID_VIEW_CPUHISTORY_ONEGRAPHALL - MENUITEM "Una Gráfica, &Por CPU", ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, CHECKED + MENUITEM "&Un gráfico de todas las CPU", ID_VIEW_CPUHISTORY_ONEGRAPHALL + MENUITEM "Un gráfico &por cada CPU", ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, CHECKED END - MENUITEM "&Mostrar tiempos del Núcleo", ID_VIEW_SHOWKERNELTIMES + MENUITEM "&Mostrar cronología del kernel", ID_VIEW_SHOWKERNELTIMES END POPUP "&Ventanas" BEGIN - MENUITEM "Mosaico &Horizontal", ID_WINDOWS_TILEHORIZONTALLY - MENUITEM "Mosaico &Vertical", ID_WINDOWS_TILEVERTICALLY + MENUITEM "Mosaico &horizontal", ID_WINDOWS_TILEHORIZONTALLY + MENUITEM "Mosaico &vertical", ID_WINDOWS_TILEVERTICALLY MENUITEM "&Minimizar", ID_WINDOWS_MINIMIZE MENUITEM "Ma&ximizar", ID_WINDOWS_MAXIMIZE MENUITEM "&Cascada", ID_WINDOWS_CASCADE - MENUITEM "&Traer al Frente", ID_WINDOWS_BRINGTOFRONT + MENUITEM "&Traer al frente", ID_WINDOWS_BRINGTOFRONT END - POPUP "Sh&ut Down" + POPUP "Apaga&r" BEGIN - MENUITEM "Stand &By", ID_SHUTDOWN_STANDBY - MENUITEM "&Hibernate", ID_SHUTDOWN_HIBERNATE - MENUITEM "T&urn Off", ID_SHUTDOWN_POWEROFF - MENUITEM "&Restart", ID_SHUTDOWN_REBOOT - MENUITEM "&Log Off %s", ID_SHUTDOWN_LOGOFF - MENUITEM "&Switch User\tWinKey+L", ID_SHUTDOWN_SWITCHUSER, GRAYED - MENUITEM "Loc&k Computer\tWinKey+L", ID_SHUTDOWN_LOCKCOMPUTER - MENUITEM "&Disconnect", ID_SHUTDOWN_DISCONNECT, GRAYED - MENUITEM "&Eject Computer", ID_SHUTDOWN_EJECT_COMPUTER, GRAYED + MENUITEM "&Suspender", ID_SHUTDOWN_STANDBY + MENUITEM "&Hibernar", ID_SHUTDOWN_HIBERNATE + MENUITEM "&Apagar", ID_SHUTDOWN_POWEROFF + MENUITEM "&Reiniciar", ID_SHUTDOWN_REBOOT + MENUITEM "&Cerrar sesión de %s", ID_SHUTDOWN_LOGOFF + MENUITEM "&Cambiar usuario\tWin+L", ID_SHUTDOWN_SWITCHUSER, GRAYED + MENUITEM "&Bloquear equipo\tWin+L", ID_SHUTDOWN_LOCKCOMPUTER + MENUITEM "&Desconectar", ID_SHUTDOWN_DISCONNECT, GRAYED + MENUITEM "&Expulsar equipo", ID_SHUTDOWN_EJECT_COMPUTER, GRAYED END - POPUP "A&yuda" + POPUP "Ay&uda" BEGIN - MENUITEM "&Temas de Ayuda del Administrador de Tareas", ID_HELP_TOPICS + MENUITEM "&Temas de Ayuda del Administrador de tareas", ID_HELP_TOPICS MENUITEM SEPARATOR - MENUITEM "&Acerca del Administrador de Tareas", ID_HELP_ABOUT + MENUITEM "&Acerca del Administrador de tareas", ID_HELP_ABOUT END END IDR_WINDOWSMENU MENU BEGIN - MENUITEM "Mosaico &Horizontal", ID_WINDOWS_TILEHORIZONTALLY - MENUITEM "Mosaico &Vertical", ID_WINDOWS_TILEVERTICALLY + MENUITEM "Mosaico &horizontal", ID_WINDOWS_TILEHORIZONTALLY + MENUITEM "Mosaico &vertical", ID_WINDOWS_TILEVERTICALLY MENUITEM "&Minimizar", ID_WINDOWS_MINIMIZE MENUITEM "Ma&ximizar", ID_WINDOWS_MAXIMIZE MENUITEM "&Cascada", ID_WINDOWS_CASCADE - MENUITEM "&Traer al Frente", ID_WINDOWS_BRINGTOFRONT + MENUITEM "&Traer al frente", ID_WINDOWS_BRINGTOFRONT END IDR_APPLICATION_PAGE_CONTEXT1 MENU BEGIN POPUP "DUMMY" BEGIN - MENUITEM "&Nueva Tarea (Ejecutar...)", ID_FILE_NEW + MENUITEM "&Nueva tarea (Ejecutar...)", ID_FILE_NEW MENUITEM SEPARATOR - MENUITEM "Iconos &Grandes", ID_VIEW_LARGE - MENUITEM "Iconos &Pequeños", ID_VIEW_SMALL + MENUITEM "Iconos &grandes", ID_VIEW_LARGE + MENUITEM "Iconos &pequeños", ID_VIEW_SMALL MENUITEM "&Detalles", ID_VIEW_DETAILS, CHECKED END END @@ -94,17 +94,17 @@ IDR_APPLICATION_PAGE_CONTEXT2 MENU BEGIN POPUP "DUMMY" BEGIN - MENUITEM "&Cambiar A", ID_APPLICATION_PAGE_SWITCHTO - MENUITEM "&Traer al Frente", ID_WINDOWS_BRINGTOFRONT + MENUITEM "&Cambiar a", ID_APPLICATION_PAGE_SWITCHTO + MENUITEM "&Traer al frente", ID_WINDOWS_BRINGTOFRONT MENUITEM SEPARATOR - MENUITEM "Mosaico &Horizontal", ID_WINDOWS_TILEHORIZONTALLY - MENUITEM "Mosaico &Vertical", ID_WINDOWS_TILEVERTICALLY + MENUITEM "Mosaico &horizontal", ID_WINDOWS_TILEHORIZONTALLY + MENUITEM "Mosaico &vertical", ID_WINDOWS_TILEVERTICALLY MENUITEM "&Minimizar", ID_WINDOWS_MINIMIZE MENUITEM "Ma&ximizar", ID_WINDOWS_MAXIMIZE MENUITEM "Ca&scada", ID_WINDOWS_CASCADE MENUITEM SEPARATOR - MENUITEM "&Finalizar Tarea", ID_APPLICATION_PAGE_ENDTASK - MENUITEM "&Ir al Proceso", ID_APPLICATION_PAGE_GOTOPROCESS + MENUITEM "&Finalizar tarea", ID_APPLICATION_PAGE_ENDTASK + MENUITEM "&Ir al proceso", ID_APPLICATION_PAGE_GOTOPROCESS END END @@ -115,7 +115,7 @@ BEGIN MENUITEM "&Restaurar", ID_RESTORE MENUITEM "&Cerrar", ID_FILE_EXIT MENUITEM SEPARATOR - MENUITEM "&Siempre Visible", ID_OPTIONS_ALWAYSONTOP + MENUITEM "&Siempre visible", ID_OPTIONS_ALWAYSONTOP END END @@ -123,21 +123,21 @@ IDR_PROCESS_PAGE_CONTEXT MENU BEGIN POPUP "DUMMY" BEGIN - MENUITEM "&Finalizar Proceso", ID_PROCESS_PAGE_ENDPROCESS - MENUITEM "Finalizar &Árbol de Procesos", ID_PROCESS_PAGE_ENDPROCESSTREE - MENUITEM "&Depurador", ID_PROCESS_PAGE_DEBUG + MENUITEM "&Terminar proceso", ID_PROCESS_PAGE_ENDPROCESS + MENUITEM "Finalizar el ár&bol de procesos", ID_PROCESS_PAGE_ENDPROCESSTREE + MENUITEM "&Depurar", ID_PROCESS_PAGE_DEBUG MENUITEM SEPARATOR - POPUP "Establecer &Prioridad" + POPUP "Establecer &prioridad" BEGIN - MENUITEM "Tiempo-&Real", ID_PROCESS_PAGE_SETPRIORITY_REALTIME + MENUITEM "Tiempo &real", ID_PROCESS_PAGE_SETPRIORITY_REALTIME MENUITEM "&Alta", ID_PROCESS_PAGE_SETPRIORITY_HIGH - MENUITEM "Arr&iba de lo Normal", ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL + MENUITEM "Por &encima de lo normal", ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL MENUITEM "&Normal", ID_PROCESS_PAGE_SETPRIORITY_NORMAL - MENUITEM "&Debajo de lo Normal", ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL + MENUITEM "Por &debajo de lo normal", ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL MENUITEM "&Baja", ID_PROCESS_PAGE_SETPRIORITY_LOW END - MENUITEM "Establecer &Afinidad...", ID_PROCESS_PAGE_SETAFFINITY - MENUITEM "Editar &Canales de Depuración...", ID_PROCESS_PAGE_DEBUGCHANNELS + MENUITEM "Establecer &afinidad...", ID_PROCESS_PAGE_SETAFFINITY + MENUITEM "Editar &canales de depuración...", ID_PROCESS_PAGE_DEBUGCHANNELS END END @@ -148,7 +148,7 @@ END IDD_TASKMGR_DIALOG DIALOGEX 0, 0, 264, 246 STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME -CAPTION "Administrador de Tareas" +CAPTION "Administrador de tareas" MENU IDR_TASKMANAGER FONT 8, "MS Shell Dlg" BEGIN @@ -161,9 +161,9 @@ FONT 8, "MS Shell Dlg" BEGIN CONTROL "List2", IDC_APPLIST, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 233, 177 - PUSHBUTTON "&Nueva Tarea...", IDC_NEWTASK, 187, 189, 53, 14 - PUSHBUTTON "&Cambiar A", IDC_SWITCHTO, 131, 189, 53, 14, WS_DISABLED - PUSHBUTTON "&Finalizar Tarea", IDC_ENDTASK, 75, 189, 53, 14, WS_DISABLED + PUSHBUTTON "&Nueva tarea...", IDC_NEWTASK, 187, 189, 53, 14 + PUSHBUTTON "&Cambiar a", IDC_SWITCHTO, 131, 189, 53, 14, WS_DISABLED + PUSHBUTTON "&Finalizar tarea", IDC_ENDTASK, 75, 189, 53, 14, WS_DISABLED END IDD_PROCESS_PAGE DIALOGEX 0, 0, 247, 210 @@ -172,9 +172,9 @@ 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 "&Finalizar Proceso", IDC_ENDPROCESS, 171, 189, 69, 14 - CONTROL "&Mostrar Procesos de todos los usuario", IDC_SHOWALLPROCESSES, "Button", - BS_AUTOCHECKBOX | WS_TABSTOP, 7, 191, 165, 10 + PUSHBUTTON "&Finalizar proceso", IDC_ENDPROCESS, 171, 189, 69, 14 + CONTROL "&Mostrar procesos de todos los usuarios", IDC_SHOWALLPROCESSES, "Button", + BS_AUTOCHECKBOX | WS_TABSTOP, 7, 191, 160, 10 END /* IDD_PERFORMANCE_PAGE DIALOGEX 0, 0, 247, 210 */ @@ -183,12 +183,12 @@ STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN FONT 8, "MS Shell Dlg" BEGIN GROUPBOX "Uso de CPU", IDC_CPU_USAGE_FRAME, 5, 5, 60, 54, 0, WS_EX_TRANSPARENT - GROUPBOX "Uso de MEM", IDC_MEM_USAGE_FRAME, 5, 63, 60, 54, BS_LEFTTEXT, WS_EX_TRANSPARENT - GROUPBOX "Totales", IDC_TOTALS_FRAME, 5, 122, 111, 39, 0, WS_EX_TRANSPARENT + GROUPBOX "Memoria", IDC_MEM_USAGE_FRAME, 5, 63, 60, 54, BS_LEFTTEXT, WS_EX_TRANSPARENT + GROUPBOX "Sistema", IDC_TOTALS_FRAME, 5, 122, 111, 39, 0, WS_EX_TRANSPARENT GROUPBOX "Carga de transacciones (KB)", IDC_COMMIT_CHARGE_FRAME, 5, 166, 111, 39, 0, WS_EX_TRANSPARENT GROUPBOX "Memoria física (KB)", IDC_PHYSICAL_MEMORY_FRAME, 131, 122, 111, 39, 0, WS_EX_TRANSPARENT - GROUPBOX "Memoria del núcleo (KB)", IDC_KERNEL_MEMORY_FRAME, 131, 166, 111, 39, 0, WS_EX_TRANSPARENT - LTEXT "Identificadores", IDS_TOTALS_HANDLE_COUNT, 12, 131, 40, 8 + GROUPBOX "Memoria del kernel (KB)", IDC_KERNEL_MEMORY_FRAME, 131, 166, 111, 39, 0, WS_EX_TRANSPARENT + LTEXT "Identificadores", IDS_TOTALS_HANDLE_COUNT, 12, 131, 50, 8 LTEXT "Subprocesos", IDS_TOTALS_THREAD_COUNT, 12, 140, 40, 8 LTEXT "Procesos", IDS_TOTALS_PROCESS_COUNT, 12, 149, 34, 8 EDITTEXT IDC_TOTALS_HANDLE_COUNT, 65, 131, 45, 8, ES_RIGHT | ES_READONLY | @@ -208,33 +208,33 @@ BEGIN ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Total", IDS_PHYSICAL_MEMORY_TOTAL, 137, 131, 27, 8 LTEXT "Disponible", IDS_PHYSICAL_MEMORY_AVAILABLE, 137, 140, 35, 8 - LTEXT "Caché sistema", IDS_PHYSICAL_MEMORY_SYSTEM_CACHE, 137, 149, 85, 8 + LTEXT "En caché", IDS_PHYSICAL_MEMORY_SYSTEM_CACHE, 137, 149, 85, 8 EDITTEXT IDC_PHYSICAL_MEMORY_TOTAL, 185, 131, 48, 8, ES_RIGHT | ES_READONLY | ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_PHYSICAL_MEMORY_AVAILABLE, 185, 140, 48, 8, ES_RIGHT | ES_READONLY | ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_PHYSICAL_MEMORY_SYSTEM_CACHE, 185, 149, 48, 8, ES_RIGHT | ES_READONLY | ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP - LTEXT "Total", IDS_KERNEL_MEMORY_TOTAL, 137, 174, 27, 8 + LTEXT "Total", IDS_KERNEL_MEMORY_TOTAL, 137, 175, 27, 8 LTEXT "Paginado", IDS_KERNEL_MEMORY_PAGED, 137, 184, 30, 8 - LTEXT "No-paginado", IDS_KERNEL_MEMORY_NONPAGED, 137, 193, 40, 8 + LTEXT "No paginado", IDS_KERNEL_MEMORY_NONPAGED, 137, 193, 40, 8 EDITTEXT IDC_KERNEL_MEMORY_TOTAL, 185, 174, 48, 8, ES_RIGHT | ES_READONLY | ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_KERNEL_MEMORY_PAGED, 185, 184, 48, 8, ES_RIGHT | ES_READONLY | ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_KERNEL_MEMORY_NONPAGED, 185, 193, 48, 8, ES_RIGHT | ES_READONLY | ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP - GROUPBOX "Historial de uso de la CPU", IDC_CPU_USAGE_HISTORY_FRAME, 74, 5, 168, 54, 0, WS_EX_TRANSPARENT - GROUPBOX "Historial de uso de la Memoria", IDC_MEMORY_USAGE_HISTORY_FRAME, 74, 63, 168, 54, 0, WS_EX_TRANSPARENT - PUSHBUTTON "Display de uso de la CPU", IDC_CPU_USAGE_GRAPH, 12, 17, 47, 37, NOT WS_TABSTOP, WS_EX_CLIENTEDGE - PUSHBUTTON "Display de uso de la Memoria", IDC_MEM_USAGE_GRAPH, 12, 75, 47, 37, NOT WS_TABSTOP, WS_EX_CLIENTEDGE - PUSHBUTTON "Historial de uso de la CPU", IDC_CPU_USAGE_HISTORY_GRAPH, 81, 17, 153, 37, NOT WS_TABSTOP, WS_EX_CLIENTEDGE - PUSHBUTTON "Historial de uso de la Memoria", IDC_MEM_USAGE_HISTORY_GRAPH, 81, 75, 153, 37, NOT WS_TABSTOP, WS_EX_CLIENTEDGE + GROUPBOX "Historial de uso de CPU", IDC_CPU_USAGE_HISTORY_FRAME, 74, 5, 168, 54, 0, WS_EX_TRANSPARENT + GROUPBOX "Historial de uso de memoria física", IDC_MEMORY_USAGE_HISTORY_FRAME, 74, 63, 168, 54, 0, WS_EX_TRANSPARENT + PUSHBUTTON "Gráfico de uso de CPU", IDC_CPU_USAGE_GRAPH, 12, 17, 47, 37, NOT WS_TABSTOP, WS_EX_CLIENTEDGE + PUSHBUTTON "Gráfico de uso de memoria", IDC_MEM_USAGE_GRAPH, 12, 75, 47, 37, NOT WS_TABSTOP, WS_EX_CLIENTEDGE + PUSHBUTTON "Historial de uso de CPU", IDC_CPU_USAGE_HISTORY_GRAPH, 81, 17, 153, 37, NOT WS_TABSTOP, WS_EX_CLIENTEDGE + PUSHBUTTON "Historial de uso de memoria", IDC_MEM_USAGE_HISTORY_GRAPH, 81, 75, 153, 37, NOT WS_TABSTOP, WS_EX_CLIENTEDGE END IDD_DEBUG_CHANNELS_DIALOG DIALOGEX 0, 0, 247, 210 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Canales de Depuración" +CAPTION "Canales de depuración" FONT 8, "MS Shell Dlg" BEGIN CONTROL "List2", IDC_DEBUG_CHANNELS_LIST, "SysListView32", LVS_REPORT | LVS_SINGLESEL | @@ -244,22 +244,22 @@ END IDD_AFFINITY_DIALOG DIALOGEX 0, 0, 231, 154 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Afinidad del Procesador" +CAPTION "Afinidad del procesador" FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "Aceptar", IDOK, 120, 133, 50, 14 PUSHBUTTON "Cancelar", IDCANCEL, 174, 133, 50, 14 - LTEXT "La Afinidad de Procesador que pone mandos sobre los cuales permitirán a las CPUs el proceso para ejecutar.", IDC_STATIC, 5, 5, 220, 16 - CONTROL "CPU 0", IDC_CPU0, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 11, 28, 37, 10 - CONTROL "CPU 1", IDC_CPU1, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 11, 41, 37, 10 - CONTROL "CPU 2", IDC_CPU2, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 11, 54, 37, 10 - CONTROL "CPU 3", IDC_CPU3, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 11, 67, 37, 10 - CONTROL "CPU 4", IDC_CPU4, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 11, 80, 37, 10 - CONTROL "CPU 5", IDC_CPU5, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 11, 93, 37, 10 - CONTROL "CPU 6", IDC_CPU6, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 11, 106, 37, 10 - CONTROL "CPU 7", IDC_CPU7, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 11, 119, 37, 10 - CONTROL "CPU 8", IDC_CPU8, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 61, 28, 37, 10 - CONTROL "CPU 9", IDC_CPU9, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 61, 41, 37, 10 + LTEXT "El ajuste de afinidad de procesador controla las CPU en las que el proceso tendrá permiso para ejecutarse.", IDC_STATIC, 5, 5, 220, 16 + CONTROL "CPU 0", IDC_CPU0, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 11, 28, 37, 10 + CONTROL "CPU 1", IDC_CPU1, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 11, 41, 37, 10 + CONTROL "CPU 2", IDC_CPU2, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 11, 54, 37, 10 + CONTROL "CPU 3", IDC_CPU3, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 11, 67, 37, 10 + CONTROL "CPU 4", IDC_CPU4, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 11, 80, 37, 10 + CONTROL "CPU 5", IDC_CPU5, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 11, 93, 37, 10 + CONTROL "CPU 6", IDC_CPU6, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 11, 106, 37, 10 + CONTROL "CPU 7", IDC_CPU7, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 11, 119, 37, 10 + CONTROL "CPU 8", IDC_CPU8, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 61, 28, 37, 10 + CONTROL "CPU 9", IDC_CPU9, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 61, 41, 37, 10 CONTROL "CPU 10", IDC_CPU10, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 61, 54, 41, 10 CONTROL "CPU 11", IDC_CPU11, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 61, 67, 41, 10 CONTROL "CPU 12", IDC_CPU12, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 61, 80, 41, 10 @@ -286,58 +286,59 @@ END IDD_COLUMNS_DIALOG DIALOGEX 0, 0, 245, 199 // 0, 0, 195, 199 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Seleccionar Columnas" +CAPTION "Seleccionar columnas" FONT 8, "MS Shell Dlg" BEGIN DEFPUSHBUTTON "Aceptar", IDOK, 126, 178, 50, 14 // 84 PUSHBUTTON "Cancelar", IDCANCEL, 180, 178, 50, 14 // 138 - LTEXT "Selecciona las columnas que aparecerán en la página de Procesos del Administrador de Tareas.", IDC_STATIC, 7, 7, 221, 17 // 181 - CONTROL "Nombre de la &Imagen", IDC_IMAGENAME, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 7, 28, 88, 10 // 56 - CONTROL "&PID (Identificador de Proceso)", IDC_PID, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 39, 120, 10 // 88 + LTEXT "Seleccione las columnas que aparecerán en la página de Procesos del Administrador de tareas.", IDC_STATIC, 7, 7, 221, 17 // 181 + CONTROL "Nombre de ruta de la &imagen", IDC_IMAGENAME, "Button", BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP, 7, 28, 105, 10 // 56 + CONTROL "Identificador de proceso (&PID)", IDC_PID, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 39, 120, 10 // 88 CONTROL "Uso de &CPU", IDC_CPUUSAGE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 50, 53, 10 CONTROL "Ti&empo de CPU", IDC_CPUTIME, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 61, 65, 10 // 48 - CONTROL "Uso de &Memoria", IDC_MEMORYUSAGE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 72, 63, 10 + CONTROL "Uso de &memoria", IDC_MEMORYUSAGE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 72, 63, 10 CONTROL "Di&ferencia de uso de memoria", IDC_MEMORYUSAGEDELTA, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 83, 120, 10 // 82 - CONTROL "Uso má&ximo de la Memoria", IDC_PEAKMEMORYUSAGE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 94, 120, 10 // 82 - CONTROL "Err&ores de Página", IDC_PAGEFAULTS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 105, 80, 10 // 53 + CONTROL "Uso má&ximo de la memoria", IDC_PEAKMEMORYUSAGE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 94, 120, 10 // 82 + CONTROL "Err&ores de página", IDC_PAGEFAULTS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 105, 80, 10 // 53 CONTROL "O&bjetos de USUARIO", IDC_USEROBJECTS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 116, 80, 10 // 62 - CONTROL "Lecturas E/S", IDC_IOREADS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 127, 60, 10 // 49 - CONTROL "Bytes E/S Leidos", IDC_IOREADBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 138, 65, 10 - CONTROL "I&D de Sesion", IDC_SESSIONID, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 149, 65, 10 // 50 - CONTROL "&Nombre de Usuario", IDC_USERNAME, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 160, 75, 10 // 51 + CONTROL "Lecturas de E/S", IDC_IOREADS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 127, 70, 10 // 49 + CONTROL "Bytes de lectura de E/S", IDC_IOREADBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 138, 85, 10 + CONTROL "I&d. de sesión", IDC_SESSIONID, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 149, 65, 10 // 50 + CONTROL "&Nombre de usuario", IDC_USERNAME, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 160, 75, 10 // 51 CONTROL "Diferencia de erro&res de página", IDC_PAGEFAULTSDELTA, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 28, 120, 10 // 107, 60 - CONTROL "Tamaño de la Memoria &Virtual", IDC_VIRTUALMEMORYSIZE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 39, 120, 10 // 107, 60 + CONTROL "Tamaño de la memoria &virtual", IDC_VIRTUALMEMORYSIZE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 39, 120, 10 // 107, 60 CONTROL "B&loque paginado", IDC_PAGEDPOOL, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 50, 67, 10 // 107, 53 CONTROL "Blo&que no paginado", IDC_NONPAGEDPOOL, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 61, 115, 10 // 107 - CONTROL "P&rioridad Base", IDC_BASEPRIORITY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 72, 80, 10 // 107 - CONTROL "&Recuento de identificadores", IDC_HANDLECOUNT, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 83, 59, 10 // 107 - CONTROL "Nú&mero de subprocesos", IDC_THREADCOUNT, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 94, 59, 10 // 107 + CONTROL "P&rioridad base", IDC_BASEPRIORITY, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 72, 80, 10 // 107 + CONTROL "&Recuento de identificadores", IDC_HANDLECOUNT, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 83, 105, 10 // 107 + CONTROL "Nú&mero de subprocesos", IDC_THREADCOUNT, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 94, 85, 10 // 107 CONTROL "Objetos &GDI", IDC_GDIOBJECTS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 105, 55, 10 // 107 CONTROL "Escrituras de E/S", IDC_IOWRITES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 116, 90, 10 // 107 CONTROL "Bytes de escritura de E/S", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 127, 105, 10 // 107 CONTROL "Otros de E/S", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 138, 60, 10 - CONTROL "Otros Bytes de E/S", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 149, 75, 10 + CONTROL "Otros bytes de E/S", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 149, 75, 10 + CONTROL "&Línea de comandos", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 127, 160, 75, 10 END /* String Tables */ STRINGTABLE BEGIN - IDS_APP_TITLE "Administrador de Tareas" - IDC_TASKMGR "Administrador de Tareas" - IDS_IDLE_PROCESS "System Idle Process" + IDS_APP_TITLE "Administrador de tareas" + IDC_TASKMGR "Administrador de tareas" + IDS_IDLE_PROCESS "Proceso inactivo del sistema" END STRINGTABLE BEGIN - ID_FILE_NEW "Ejecutar un nuevo Programa" - ID_OPTIONS_ALWAYSONTOP "El Administrador de Tareas permanece siempre visible excepto cuando este minimizado" - ID_OPTIONS_MINIMIZEONUSE "El Administrador de Tareas sera minimizado cuando una operación 'Cambiar A' se realice" - ID_OPTIONS_HIDEWHENMINIMIZED "Ocultar el Administrador de Tareas al minimizar" - ID_VIEW_REFRESH "Forzar el Administrador de Tareas a actualizar ahora, sin tener en cuenta ajuste de Velocidad de Actualización" + ID_FILE_NEW "Ejecutar un nuevo programa" + ID_OPTIONS_ALWAYSONTOP "El Administrador de tareas permanece siempre visible excepto cuando esté minimizado" + ID_OPTIONS_MINIMIZEONUSE "El Administrador de tareas se minimiza cuando se realiza una operación Cambiar a" + ID_OPTIONS_HIDEWHENMINIMIZED "Ocultar el Administrador de tareas al minimizar" + ID_VIEW_REFRESH "Actualizar el Administrador de tareas, sea cual sea la velocidad de actualización" ID_VIEW_LARGE "Mostrar tareas usando iconos grandes" ID_VIEW_SMALL "Mostrar tareas usando iconos pequeños" - ID_VIEW_DETAILS "Mostrar informacion acerca de cada tarea" + ID_VIEW_DETAILS "Mostrar información sobre cada tarea" ID_VIEW_UPDATESPEED_HIGH "Actualizar la vista dos veces por segundo" ID_VIEW_UPDATESPEED_NORMAL "Actualizar la vista cada dos segundos" ID_VIEW_UPDATESPEED_LOW "Actualizar la vista cada cuatro segundos" @@ -345,19 +346,19 @@ END STRINGTABLE BEGIN - ID_VIEW_UPDATESPEED_PAUSED "No actualizar automaticamente" + ID_VIEW_UPDATESPEED_PAUSED "No actualizar automáticamente" ID_WINDOWS_TILEHORIZONTALLY "Mostrar las ventanas horizontalmente sobre el escritorio" ID_WINDOWS_TILEVERTICALLY "Mostrar las ventanas verticalmente sobre el escritorio" ID_WINDOWS_MINIMIZE "Minimizar las ventanas" ID_WINDOWS_MAXIMIZE "Maximizar las ventanas" ID_WINDOWS_CASCADE "Mostrar las ventanas en diagonal sobre el escritorio en forma de cascada" - ID_WINDOWS_BRINGTOFRONT "Trae el frente de ventana, pero no cambiar a ella" - ID_HELP_TOPICS "Mostrar Temas de ayuda del Administrador de Tareas" + ID_WINDOWS_BRINGTOFRONT "Trae al frente la ventana, pero no cambia a ella" + ID_HELP_TOPICS "Mostrar Temas de ayuda del Administrador de tareas" ID_HELP_ABOUT "Mostrar información del programa, número de versión y copyright" - ID_FILE_EXIT "Cerrar el Administrador de Tareas" + ID_FILE_EXIT "Cierra el Administrador de tareas" ID_OPTIONS_SHOW16BITTASKS "Mostrar tareas de 16-bit bajo el ntvdm.exe asociado" - ID_VIEW_SELECTCOLUMNS "Seleccionar que columnas seran visibles en la pagina de Procesos" - ID_VIEW_SHOWKERNELTIMES "Mostrar tiempos del núcleo en los graficos de rendimiento" + ID_VIEW_SELECTCOLUMNS "Seleccione las columnas que serán visibles en la página de procesos" + ID_VIEW_SHOWKERNELTIMES "Muestra el tiempo del kernel en los gráficos de rendimiento" ID_VIEW_CPUHISTORY_ONEGRAPHALL "Un simple histograma muestra el uso total de la CPU" ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU "Cada CPU tiene su histograma propio" ID_APPLICATION_PAGE_SWITCHTO "Trae una tarea al primer plano, enfocar esa tarea" @@ -365,12 +366,12 @@ END STRINGTABLE BEGIN - ID_ENDTASK "Finalizar las tareas seleccionadas" + ID_ENDTASK "Terminar las tareas seleccionadas" ID_GOTOPROCESS "Enfocar el proceso de la tarea seleccionada" ID_RESTORE "Restaurar el Administrador de Tareas de su estado oculto" - ID_PROCESS_PAGE_ENDPROCESS "Eliminar el proceso del sistema" - ID_PROCESS_PAGE_ENDPROCESSTREE "Eliminar este proceso y todos sus subprocesos del sistema" - ID_PROCESS_PAGE_DEBUG "Ata a la depuración a este proceso" + ID_PROCESS_PAGE_ENDPROCESS "Finaliza el proceso" + ID_PROCESS_PAGE_ENDPROCESSTREE "Finaliza este proceso y todos sus subprocesos asociados" + ID_PROCESS_PAGE_DEBUG "Vincula el depurador a este proceso" ID_PROCESS_PAGE_SETAFFINITY "Controlar en que procesadores puede ejecutarse cada proceso" ID_PROCESS_PAGE_SETPRIORITY_REALTIME "Establece el proceso en prioridad de TIEMPO REAL" ID_PROCESS_PAGE_SETPRIORITY_HIGH "Establece el proceso en ALTA prioridad" @@ -387,57 +388,58 @@ BEGIN IDS_TAB_PERFORMANCE "Rendimiento" IDS_TAB_TASK "Tareas" IDS_TAB_STATUS "Estado" - IDS_TAB_IMAGENAME "Nombre de Imagen" + IDS_TAB_IMAGENAME "Nombre de imagen" IDS_TAB_PID "PID" - IDS_TAB_USERNAME "Nombre Usuario" + IDS_TAB_USERNAME "Nombre de usuario" IDS_TAB_SESSIONID "ID de sección" IDS_TAB_CPU "CPU" - IDS_TAB_CPUTIME "Tiempo CPU" - IDS_TAB_MEMUSAGE "Uso de Memoria" - IDS_TAB_PEAKMEMUSAGE "Pico uso de Memoria" - IDS_TAB_MEMDELTA "Diferencia de Memoria" - IDS_TAB_PAGEFAULT "Faltas de Pagina" + IDS_TAB_CPUTIME "Tiempo de CPU" + IDS_TAB_MEMUSAGE "Uso de memoria" + IDS_TAB_PEAKMEMUSAGE "Pico uso de memoria" + IDS_TAB_MEMDELTA "Diferencia de memoria" + IDS_TAB_PAGEFAULT "Fallos de página" IDS_TAB_PFDELTA "Diferencia de FP" - IDS_TAB_VMSIZE "Tamaño MV(Maquina Virtual)" - IDS_TAB_PAGEDPOOL "Grupo Paginado" + IDS_TAB_VMSIZE "Tamaño MV (máquina virtual)" + IDS_TAB_PAGEDPOOL "Grupo paginado" IDS_TAB_NPPOOL "Grupo NP" IDS_TAB_BASEPRI "Base Pri" - IDS_TAB_HANDLES "Manejadores" + IDS_TAB_HANDLES "Identificadores" IDS_TAB_THREADS "Hilos" IDS_TAB_USERPBJECTS "Objetos USER" IDS_TAB_GDIOBJECTS "Objetos GDI" - IDS_TAB_IOREADS "I/O Lectura" - IDS_TAB_IOWRITES "I/O Escrito" - IDS_TAB_IOOTHER "I/O Otro" - IDS_TAB_IOREADBYTES "I/O Bytes Leidos" - IDS_TAB_IOWRITESBYTES "I/O Bytes Escritos" - IDS_TAB_IOOTHERBYTES "I/O Otros Bytes" - IDS_MENU_SELECTCOLUMNS "&Seleccione Columnas..." - IDS_MENU_16BITTASK "Mos&trar tareas 16-bit" + IDS_TAB_IOREADS "Lecturas de E/S" + IDS_TAB_IOWRITES "Escrituras de E/S" + IDS_TAB_IOOTHER "Otros de E/S" + IDS_TAB_IOREADBYTES "Bytes de lectura de E/S" + IDS_TAB_IOWRITESBYTES "Bytes de escritura de E/S" + IDS_TAB_IOOTHERBYTES "Otros bytes de E/S" + IDS_TAB_COMMANDLINE "Línea de comandos" + IDS_MENU_SELECTCOLUMNS "&Seleccionar columnas..." + IDS_MENU_16BITTASK "Mos&trar tareas de 16-bit" IDS_MENU_WINDOWS "&Ventanas" - IDS_MENU_LARGEICONS "Iconos G&randes" - IDS_MENU_SMALLICONS "Iconos &Pequeños" + IDS_MENU_LARGEICONS "Iconos g&randes" + IDS_MENU_SMALLICONS "Iconos &pequeños" IDS_MENU_DETAILS "&Detalles" - IDS_MENU_ONEGRAPHALLCPUS "&Una Grafica, Todos CPUs" - IDS_MENU_ONEGRAPHPERCPU "Una Grafica &Por CPU" - IDS_MENU_CPUHISTORY "Historial &CPU" - IDS_MENU_SHOWKERNELTIMES "Mues&tra tiempos Núcleo" - IDS_CREATENEWTASK "Crear Tarea Nueva" - IDS_CREATENEWTASK_DESC "Escriba el nombre del programa, carpeta, documento o recurso de Internet que desea que ReactOS abra." - IDS_MSG_ACCESSPROCESSAFF "Incapaz de acceder o configurar la Afinidad del Proceso" - IDS_MSG_PROCESSONEPRO "El proceso debe tener afinidad con por lo menos un procesador." - IDS_MSG_INVALIDOPTION "Opción Invalida" - IDS_MSG_UNABLEDEBUGPROCESS "Incapaz de depurar proceso" - IDS_MSG_WARNINGDEBUG "ADVERTENCIA: La depuración de este proceso puede resultar en perdidad de data.\n¿Esta seguro que quiere usar el depurador?" - IDS_MSG_TASKMGRWARNING "Advertencia de Manejador de Tareas" - IDS_MSG_WARNINGTERMINATING "ADVERTENCIA: Si temina un proceso puede obtener resultados no\ndeseados como la pérdida de datos y la inestabilidad del sistema. El\nproceso no tendrá tiempo para guardar su estado o datos\nantes de ser terminado. ¿Está seguro que quiere terminar\nel proceso?" - IDS_MSG_UNABLETERMINATEPRO "Incapaz de cerrar el Proceso" - IDS_MSG_UNABLECHANGEPRIORITY "Incapaz de cambiar la prioridad" - IDS_MSG_WARNINGCHANGEPRIORITY "Advertencia: Si cambia la clase de prioridad de este proceso, puede\nobtener resultados no deseados, incluso la inestabilidad del sistema. ¿Está seguro que\ndesea cambiar la Clase de Prioridad?" + IDS_MENU_ONEGRAPHALLCPUS "&Un gráfico de todas las CPU" + IDS_MENU_ONEGRAPHPERCPU "Un gráfico &por CPU" + IDS_MENU_CPUHISTORY "Historial de &CPU" + IDS_MENU_SHOWKERNELTIMES "Mostrar cronología del &kernel" + IDS_CREATENEWTASK "Crear nueva tarea" + IDS_CREATENEWTASK_DESC "Escriba el nombre del programa, carpeta, documento o recurso de Internet que desea abrir con ReactOS." + IDS_MSG_ACCESSPROCESSAFF "No se pudo acceder o configurar la afinidad del proceso" + IDS_MSG_PROCESSONEPRO "El proceso debe tener afinidad al menos con un procesador." + IDS_MSG_INVALIDOPTION "Opción no válida" + IDS_MSG_UNABLEDEBUGPROCESS "No se pudo depurar el proceso" + IDS_MSG_WARNINGDEBUG "ADVERTENCIA: La depuración de este proceso puede resultar en perdidad de datos.\n¿Esta seguro que quiere usar el depurador?" + IDS_MSG_TASKMGRWARNING "Advertencia del Administrador de tareas" + IDS_MSG_WARNINGTERMINATING "ADVERTENCIA: Si finaliza un proceso puede obtener resultados no\ndeseados como la pérdida de datos y la inestabilidad del sistema. El\nproceso no tendrá tiempo para guardar su estado o datos\nantes de cerrarse. ¿Está seguro que desea continuar?" + IDS_MSG_UNABLETERMINATEPRO "No se pudo finalizar el proceso" + IDS_MSG_UNABLECHANGEPRIORITY "No se pudo cambiar la prioridad" + IDS_MSG_WARNINGCHANGEPRIORITY "Advertencia: El cambio de prioridad en ciertos procesos podría provocar la inestabilidad del sistema.\n¿Seguro que desea cambiar la prioridad?" IDS_MSG_TRAYICONCPUUSAGE "Promedio CPU: %d%%" - IDS_STATUS_MEMUSAGE "Uso Memoria: %dK / %dK" - IDS_STATUS_CPUUSAGE "Uso CPU: %3d%%" + IDS_STATUS_MEMUSAGE "Uso de memoria: %s / %s (%d%%)" + IDS_STATUS_CPUUSAGE "Uso de CPU: %3d%%" IDS_STATUS_PROCESSES "Procesos: %d" - IDS_NOT_RESPONDING "No Responde" - IDS_RUNNING "Funcionando" + IDS_NOT_RESPONDING "No responde" + IDS_RUNNING "En ejecución" END diff --git a/base/applications/taskmgr/lang/fr-FR.rc b/base/applications/taskmgr/lang/fr-FR.rc index aa453bd5439..94d3c584a92 100644 --- a/base/applications/taskmgr/lang/fr-FR.rc +++ b/base/applications/taskmgr/lang/fr-FR.rc @@ -317,6 +317,7 @@ BEGIN CONTROL "Octets d'écriture E/S", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 129, 127, 108, 10 CONTROL "Autres E/S", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 129, 138, 108, 10 CONTROL "Octets d'autres E/S", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 129, 149, 108, 10 + CONTROL "&Ligne de commande", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 129, 160, 95, 10 END /* String Tables */ @@ -412,6 +413,7 @@ BEGIN IDS_TAB_IOREADBYTES "Octets de lecture E/S" IDS_TAB_IOWRITESBYTES "Octets d'écriture E/S" IDS_TAB_IOOTHERBYTES "Octets d'autres E/S" + IDS_TAB_COMMANDLINE "Ligne de commande" IDS_MENU_SELECTCOLUMNS "&Sélectionner les colonnes..." IDS_MENU_16BITTASK "&Afficher les tâches 16 bits" IDS_MENU_WINDOWS "&Fenêtres" @@ -435,7 +437,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Impossible de changer la priorité" IDS_MSG_WARNINGCHANGEPRIORITY "ATTENTION : Changer la priorité du processus peut causer des\neffets indésirables comme l'instabilité du système.\nÊtes-vous sûr de vouloir changer la priorité ?" IDS_MSG_TRAYICONCPUUSAGE "UC utilisée : %d%%" - IDS_STATUS_MEMUSAGE "Fichier d'échange utilisé : %dK / %dK" + IDS_STATUS_MEMUSAGE "Fichier d'échange utilisé : %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "UC utilisée : %3d%%" IDS_STATUS_PROCESSES "Processus : %d" IDS_NOT_RESPONDING "Ne répond pas" diff --git a/base/applications/taskmgr/lang/he-IL.rc b/base/applications/taskmgr/lang/he-IL.rc index 2a706d12a91..518e0b8f9f3 100644 --- a/base/applications/taskmgr/lang/he-IL.rc +++ b/base/applications/taskmgr/lang/he-IL.rc @@ -317,6 +317,7 @@ BEGIN CONTROL "I/O Write Bytes", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 CONTROL "I/O Other", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "I/O Other Bytes", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -412,6 +413,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O Read Bytes" IDS_TAB_IOWRITESBYTES "I/O Write Bytes" IDS_TAB_IOOTHERBYTES "I/O Other Bytes" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Select Columns..." IDS_MENU_16BITTASK "&Show 16-bit tasks" IDS_MENU_WINDOWS "&Windows" @@ -435,7 +437,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Unable to Change Priority" IDS_MSG_WARNINGCHANGEPRIORITY "WARNING: Changing the priority class of this process may\ncause undesired results including system instability. Are you\nsure you want to change the priority class?" IDS_MSG_TRAYICONCPUUSAGE "CPU Usage: %d%%" - IDS_STATUS_MEMUSAGE "Mem Usage: %dK / %dK" + IDS_STATUS_MEMUSAGE "Mem Usage: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "CPU Usage: %3d%%" IDS_STATUS_PROCESSES "Processes: %d" IDS_NOT_RESPONDING "Not Responding" diff --git a/base/applications/taskmgr/lang/hu-HU.rc b/base/applications/taskmgr/lang/hu-HU.rc index 896f2d51464..9a429414256 100644 --- a/base/applications/taskmgr/lang/hu-HU.rc +++ b/base/applications/taskmgr/lang/hu-HU.rc @@ -317,6 +317,7 @@ BEGIN CONTROL "I/O Írott bájtok", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 CONTROL "Egyéb I/O mûveletek", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "Egyéb I/O mûveletek bájtjai", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -412,6 +413,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O Olvasott bájtok" IDS_TAB_IOWRITESBYTES "I/O Írott bájtok" IDS_TAB_IOOTHERBYTES "Egyéb I/O bájtok" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Oszlopok kiválasztása..." IDS_MENU_16BITTASK "&16bites feladatok megjelenítése" IDS_MENU_WINDOWS "&Ablak" @@ -435,7 +437,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Nem lehetséges a prioritás megváltoztatása" IDS_MSG_WARNINGCHANGEPRIORITY "FIGYELEM: A prioritás megváltoztatása\nkellemetlenségeket, akár rendszer instabilitást is okozhat.\nBiztosan megakarod változtatni a prioritást?" IDS_MSG_TRAYICONCPUUSAGE "CPU használat: %d%%" - IDS_STATUS_MEMUSAGE "Mem használat: %dK / %dK" + IDS_STATUS_MEMUSAGE "Mem használat: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "CPU használat: %3d%%" IDS_STATUS_PROCESSES "Folyamatok: %d" IDS_NOT_RESPONDING "Nem válaszol" diff --git a/base/applications/taskmgr/lang/id-ID.rc b/base/applications/taskmgr/lang/id-ID.rc index 2c7f9740f6e..ff67ec3d092 100644 --- a/base/applications/taskmgr/lang/id-ID.rc +++ b/base/applications/taskmgr/lang/id-ID.rc @@ -317,6 +317,7 @@ BEGIN CONTROL "I/O Write Bytes", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 CONTROL "I/O Other", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "I/O Other Bytes", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -412,6 +413,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O Read Bytes" IDS_TAB_IOWRITESBYTES "I/O Write Bytes" IDS_TAB_IOOTHERBYTES "I/O Other Bytes" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Select Columns..." IDS_MENU_16BITTASK "&Show 16-bit tasks" IDS_MENU_WINDOWS "&Windows" @@ -435,7 +437,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Unable to Change Priority" IDS_MSG_WARNINGCHANGEPRIORITY "WARNING: Changing the priority class of this process may\ncause undesired results including system instability. Are you\nsure you want to change the priority class?" IDS_MSG_TRAYICONCPUUSAGE "Pemakaian CPU: %d%%" - IDS_STATUS_MEMUSAGE "Pemakaian Mem: %dK / %dK" + IDS_STATUS_MEMUSAGE "Pemakaian Mem: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "Pemakaian CPU: %3d%%" IDS_STATUS_PROCESSES "Proses: %d" IDS_NOT_RESPONDING "Tidak Merespon" diff --git a/base/applications/taskmgr/lang/it-IT.rc b/base/applications/taskmgr/lang/it-IT.rc index 421ac702d6b..a3197c4f0ca 100644 --- a/base/applications/taskmgr/lang/it-IT.rc +++ b/base/applications/taskmgr/lang/it-IT.rc @@ -315,6 +315,7 @@ BEGIN CONTROL "Scritture I/O Byte", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 69, 10 CONTROL "Altro I/O", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "Altro I/O Bytes", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "&Linea di comando", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -410,6 +411,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O Letture Bytes" IDS_TAB_IOWRITESBYTES "I/O Scritture Bytes" IDS_TAB_IOOTHERBYTES "I/O Altro Bytes" + IDS_TAB_COMMANDLINE "Linea di comando" IDS_MENU_SELECTCOLUMNS "&Selezione Colonne..." IDS_MENU_16BITTASK "&Mostra task 16-bit" IDS_MENU_WINDOWS "&Finestre" @@ -433,7 +435,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Impossibile cambiare la Priorità" IDS_MSG_WARNINGCHANGEPRIORITY "ATTENZIONE: La modifica della classe di priorità può provocare\n effetti indesiderati compresa la perdita di dati o l'instabilità del sistema.\nSei sicuro di voler procedere?" IDS_MSG_TRAYICONCPUUSAGE "Uso CPU: %d%%" - IDS_STATUS_MEMUSAGE "Uso Mem: %dK / %dK" + IDS_STATUS_MEMUSAGE "Uso Mem: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "Uso CPU: %3d%%" IDS_STATUS_PROCESSES "Processi: %d" IDS_NOT_RESPONDING "Non risponde" diff --git a/base/applications/taskmgr/lang/ja-JP.rc b/base/applications/taskmgr/lang/ja-JP.rc index c4ce74573a2..38be0860eab 100644 --- a/base/applications/taskmgr/lang/ja-JP.rc +++ b/base/applications/taskmgr/lang/ja-JP.rc @@ -315,6 +315,7 @@ BEGIN CONTROL "I/O 書き込みバイト数", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 CONTROL "I/O その他", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "I/O その他のバイト数", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -410,6 +411,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O 読み取りバイト数" IDS_TAB_IOWRITESBYTES "I/O 書き込みバイト数" IDS_TAB_IOOTHERBYTES "I/O その他のバイト数" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "列の選択(&S)..." IDS_MENU_16BITTASK "16 ビット タスクの表示(&S)" IDS_MENU_WINDOWS "ウィンドウ(&W)" @@ -433,7 +435,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "優先度を変更できません" IDS_MSG_WARNINGCHANGEPRIORITY "警告: このプロセスの優先度クラスを変更すると、システムが不安定に\nなるなど、予期しない結果になることがあります。\n優先度クラスを変更しますか?" IDS_MSG_TRAYICONCPUUSAGE "CPU 使用率: %d%%" - IDS_STATUS_MEMUSAGE "メモリ使用量: %dKB / %dKB" + IDS_STATUS_MEMUSAGE "メモリ使用量: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "CPU 使用率: %3d%%" IDS_STATUS_PROCESSES "プロセス: %d" IDS_NOT_RESPONDING "応答なし" diff --git a/base/applications/taskmgr/lang/ko-KR.rc b/base/applications/taskmgr/lang/ko-KR.rc index de3236b5959..b54eda8a81a 100644 --- a/base/applications/taskmgr/lang/ko-KR.rc +++ b/base/applications/taskmgr/lang/ko-KR.rc @@ -317,6 +317,7 @@ BEGIN CONTROL "I/O 쓰기 바이트", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 CONTROL "I/O 기타", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "I/O 기타 바이트", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -412,6 +413,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O 읽기 바이트" IDS_TAB_IOWRITESBYTES "I/O 쓰기 바이트" IDS_TAB_IOOTHERBYTES "I/O 기타 바이트" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "열 선택(&S)" IDS_MENU_16BITTASK "16비트 작업 보이기(&S)" IDS_MENU_WINDOWS "창(&W)" @@ -435,7 +437,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "우선 순위를 바꿀 수 없음" IDS_MSG_WARNINGCHANGEPRIORITY "경고: 이 프로세스의 우선 순위 클래스를 변경하면 시스템 불안정을 포함하여\n예기치 않은 결과를 초래할 수도 있습니다.\n우선 순위 클래스를 변경하시겠습니까?" IDS_MSG_TRAYICONCPUUSAGE "CPU 사용: %d%%" - IDS_STATUS_MEMUSAGE "메모리 사용: %dK / %dK" + IDS_STATUS_MEMUSAGE "메모리 사용: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "CPU 사용: %3d%%" IDS_STATUS_PROCESSES "프로세스: %d" IDS_NOT_RESPONDING "응답 없음" diff --git a/base/applications/taskmgr/lang/nl-NL.rc b/base/applications/taskmgr/lang/nl-NL.rc index fcc775e1b94..ddeb52a0616 100644 --- a/base/applications/taskmgr/lang/nl-NL.rc +++ b/base/applications/taskmgr/lang/nl-NL.rc @@ -315,6 +315,7 @@ BEGIN CONTROL "I/O: geschreven bytes", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 117, 127, 100, 10 CONTROL "I/O: overig", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 117, 138, 100, 10 CONTROL "I/O: overige bytes", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 117, 149, 100, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 117, 160, 65, 10 END /* String Tables */ @@ -410,6 +411,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O: gelezen bytes" IDS_TAB_IOWRITESBYTES "I/O: geschreven bytes" IDS_TAB_IOOTHERBYTES "I/O: overige bytes" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Kolommen selecteren..." IDS_MENU_16BITTASK "16-&bits taken weergeven" IDS_MENU_WINDOWS "&Vensters" @@ -433,7 +435,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Kan de prioriteit niet wijzigen" IDS_MSG_WARNINGCHANGEPRIORITY "Waarschuwing: het wijzigen van de prioriteitsklasse van dit proces\nkan ongewenste resultaten hebben, zoals een instabiel systeem. Weet u\nzeker dat u de prioriteitsklasse wilt wijzigen?" IDS_MSG_TRAYICONCPUUSAGE "CPU-gebruik: %d%%" - IDS_STATUS_MEMUSAGE "Geheugengebruik: %dK / %dK" + IDS_STATUS_MEMUSAGE "Geheugengebruik: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "CPU-gebruik: %3d%%" IDS_STATUS_PROCESSES "Processen: %d" IDS_NOT_RESPONDING "Reageert niet" diff --git a/base/applications/taskmgr/lang/no-NO.rc b/base/applications/taskmgr/lang/no-NO.rc index f5c48ec4bbe..1e538c93f6a 100644 --- a/base/applications/taskmgr/lang/no-NO.rc +++ b/base/applications/taskmgr/lang/no-NO.rc @@ -315,6 +315,7 @@ BEGIN CONTROL "I/O skrevne byte", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 70, 10 CONTROL "I/O Annet", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "I/O Andre byte", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -410,6 +411,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O Leser Byte" IDS_TAB_IOWRITESBYTES "I/O Skriver Byte" IDS_TAB_IOOTHERBYTES "I/O Annet Byte" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Velg kolonner..." IDS_MENU_16BITTASK "&Vis 16-biter oppgave" IDS_MENU_WINDOWS "&Vinduer" @@ -433,7 +435,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Ikke i stand til endre prioritet" IDS_MSG_WARNINGCHANGEPRIORITY "ADVARSEL: Endring av prioritet klasse av denne prosess kan\nforutsake uønsket resultat inkluderer systemet kan bli ustabilt. Er du\nsikker på at du vil endre prioritet klassen?" IDS_MSG_TRAYICONCPUUSAGE "Prosessorbruk: %d%%" - IDS_STATUS_MEMUSAGE "Tildelt minne: %dK / %dK" + IDS_STATUS_MEMUSAGE "Tildelt minne: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "Prosessorbruk: %3d%%" IDS_STATUS_PROCESSES "Prosesser: %d" IDS_NOT_RESPONDING "Ingen reaksjon" diff --git a/base/applications/taskmgr/lang/pl-PL.rc b/base/applications/taskmgr/lang/pl-PL.rc index 7205b00e207..a3643c8d086 100644 --- a/base/applications/taskmgr/lang/pl-PL.rc +++ b/base/applications/taskmgr/lang/pl-PL.rc @@ -323,6 +323,7 @@ BEGIN CONTROL "Zapisy We/Wy w bajtach", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 CONTROL "Inne We/Wy", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "Inne We/Wy w bajtach", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Linia poleceń", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -418,6 +419,7 @@ BEGIN IDS_TAB_IOREADBYTES "Odczyty We/Wy w bajtach" IDS_TAB_IOWRITESBYTES "Zapisy We/Wy w bajtach" IDS_TAB_IOOTHERBYTES "Inne We/Wy w bajtach" + IDS_TAB_COMMANDLINE "Linia poleceń" IDS_MENU_SELECTCOLUMNS "Wybierz &kolumny..." IDS_MENU_16BITTASK "Pokaż 16-&bitowe zadania" IDS_MENU_WINDOWS "O&kna" @@ -441,7 +443,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Nie można zmienić priorytetu" IDS_MSG_WARNINGCHANGEPRIORITY "UWAGA: Zmiana priorytetu tego procesu może przynieść\nniepożądane skutki, w tym również niestabilność systemu.\nCzy na pewno chcesz zmieni priorytet?" IDS_MSG_TRAYICONCPUUSAGE "Użycie procesora: %d%%" - IDS_STATUS_MEMUSAGE "Pam. zadeklar.: %dK / %dK" + IDS_STATUS_MEMUSAGE "Pam. zadeklar.: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "Użycie procesora: %3d%%" IDS_STATUS_PROCESSES "Procesy: %d" IDS_NOT_RESPONDING "Nie odpowiada" diff --git a/base/applications/taskmgr/lang/pt-BR.rc b/base/applications/taskmgr/lang/pt-BR.rc index 7c123d7d9d1..fe940cf563f 100644 --- a/base/applications/taskmgr/lang/pt-BR.rc +++ b/base/applications/taskmgr/lang/pt-BR.rc @@ -315,6 +315,7 @@ BEGIN CONTROL "Bytes de gravação de E/S", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 127, 97, 10 CONTROL "Outras E/S", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 138, 47, 10 CONTROL "Outros bytes de E/S", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 149, 77, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 123, 160, 95, 10 END /* String Tables */ @@ -410,6 +411,7 @@ BEGIN IDS_TAB_IOREADBYTES "Bytes de leitura de E/S" IDS_TAB_IOWRITESBYTES "Bytes de gravação de E/S" IDS_TAB_IOOTHERBYTES "Outros Bytes de E/S" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Selecionar colunas..." IDS_MENU_16BITTASK "&Exibir tarefas de 16 bits" IDS_MENU_WINDOWS "&Janelas" @@ -433,7 +435,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Não é possível alterar a prioridade" IDS_MSG_WARNINGCHANGEPRIORITY "AVISO: a alteração da classe de prioridade do processo\npode causar efeitos indesejáveis, inclusive a instabilidade do sistema. Tem\ncerteza de que deseja alterar a classe de prioridade?" IDS_MSG_TRAYICONCPUUSAGE "Uso de CPU: %d%%" - IDS_STATUS_MEMUSAGE "Uso de Memória: %dK / %dK" + IDS_STATUS_MEMUSAGE "Uso de Memória: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "Uso de CPU: %3d%%" IDS_STATUS_PROCESSES "Processo: %d" IDS_NOT_RESPONDING "Não respondendo" diff --git a/base/applications/taskmgr/lang/ro-RO.rc b/base/applications/taskmgr/lang/ro-RO.rc index 3e4514eb3b6..60deced0e79 100644 --- a/base/applications/taskmgr/lang/ro-RO.rc +++ b/base/applications/taskmgr/lang/ro-RO.rc @@ -1,4 +1,8 @@ -/* Ștefan Fulea (stefan dot fulea at mail dot md) */ +/* +Translators: Petru Dumitriu (petrimetri at gmail dot com) + Ștefan Fulea (stefan dot fulea at mail dot md) +*/ + LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -28,37 +32,37 @@ BEGIN MENUITEM "&Stagnantă", ID_VIEW_UPDATESPEED_PAUSED END MENUITEM SEPARATOR - MENUITEM "Pictograme m&ari", ID_VIEW_LARGE - MENUITEM "Pictograme m&ici", ID_VIEW_SMALL + MENUITEM "D&ale", ID_VIEW_LARGE + MENUITEM "&Pictograme", ID_VIEW_SMALL MENUITEM "&Detalii", ID_VIEW_DETAILS, CHECKED - MENUITEM "&Selectare coloane…", ID_VIEW_SELECTCOLUMNS - POPUP "Istoric &procesor" + MENUITEM "Selectare &coloane…", ID_VIEW_SELECTCOLUMNS + POPUP "Ist&oric procesor" BEGIN MENUITEM "Grafic general &comun", ID_VIEW_CPUHISTORY_ONEGRAPHALL - MENUITEM "Grafice &individuale", ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, CHECKED + MENUITEM "Grafice indi&viduale", ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, CHECKED END - MENUITEM "Afișează &timpi nucleu", ID_VIEW_SHOWKERNELTIMES + MENUITEM "Afișea&ză timpi nucleu", ID_VIEW_SHOWKERNELTIMES END - POPUP "F&erestre" + POPUP "Fe&restre" BEGIN MENUITEM "Aranjări &orizontale", ID_WINDOWS_TILEHORIZONTALLY MENUITEM "Aranjări &verticale", ID_WINDOWS_TILEVERTICALLY MENUITEM "Mi&nimizează", ID_WINDOWS_MINIMIZE MENUITEM "Ma&ximizează", ID_WINDOWS_MAXIMIZE MENUITEM "Aranjări în casca&dă", ID_WINDOWS_CASCADE - MENUITEM "&Aduce în prim plan", ID_WINDOWS_BRINGTOFRONT + MENUITEM "Ad&uce în prim plan", ID_WINDOWS_BRINGTOFRONT END - POPUP "Sh&ut Down" + POPUP "Î&nchidere calculator" BEGIN - MENUITEM "Stand &By", ID_SHUTDOWN_STANDBY - MENUITEM "&Hibernate", ID_SHUTDOWN_HIBERNATE - MENUITEM "T&urn Off", ID_SHUTDOWN_POWEROFF - MENUITEM "&Restart", ID_SHUTDOWN_REBOOT - MENUITEM "&Log Off %s", ID_SHUTDOWN_LOGOFF - MENUITEM "&Switch User\tWinKey+L", ID_SHUTDOWN_SWITCHUSER, GRAYED - MENUITEM "Loc&k Computer\tWinKey+L", ID_SHUTDOWN_LOCKCOMPUTER - MENUITEM "&Disconnect", ID_SHUTDOWN_DISCONNECT, GRAYED - MENUITEM "&Eject Computer", ID_SHUTDOWN_EJECT_COMPUTER, GRAYED + MENUITEM "Intră în starea de &veche", ID_SHUTDOWN_STANDBY + MENUITEM "Intră în &hibernare", ID_SHUTDOWN_HIBERNATE + MENUITEM "Î&nchide calculatorul", ID_SHUTDOWN_POWEROFF + MENUITEM "&Repornește calculatorul", ID_SHUTDOWN_REBOOT + MENUITEM "&Deautentifică-mă (%s)", ID_SHUTDOWN_LOGOFF + MENUITEM "&Comută utilizator\tWinKey+L", ID_SHUTDOWN_SWITCHUSER, GRAYED + MENUITEM "&Blochează calculatorul\tWinKey+L", ID_SHUTDOWN_LOCKCOMPUTER + MENUITEM "Deconectea&ză", ID_SHUTDOWN_DISCONNECT, GRAYED + MENUITEM "&Elimină calculator", ID_SHUTDOWN_EJECT_COMPUTER, GRAYED END POPUP "&?" BEGIN @@ -84,8 +88,8 @@ BEGIN BEGIN MENUITEM "Activitate nouă (E&xecutare…)", ID_FILE_NEW MENUITEM SEPARATOR - MENUITEM "Pictograme m&ari", ID_VIEW_LARGE - MENUITEM "Pictograme m&ici", ID_VIEW_SMALL + MENUITEM "D&ale", ID_VIEW_LARGE + MENUITEM "&Pictograme", ID_VIEW_SMALL MENUITEM "&Detalii", ID_VIEW_DETAILS, CHECKED END END @@ -95,7 +99,7 @@ BEGIN POPUP "DUMMY" BEGIN MENUITEM "&Comută la", ID_APPLICATION_PAGE_SWITCHTO - MENUITEM "&Aduce în prim plan", ID_WINDOWS_BRINGTOFRONT + MENUITEM "Ad&uce în prim-plan", ID_WINDOWS_BRINGTOFRONT MENUITEM SEPARATOR MENUITEM "Aranjări &orizontale", ID_WINDOWS_TILEHORIZONTALLY MENUITEM "Aranjări &verticale", ID_WINDOWS_TILEVERTICALLY @@ -103,8 +107,8 @@ BEGIN MENUITEM "Ma&ximizează", ID_WINDOWS_MAXIMIZE MENUITEM "Aranjări în casca&dă", ID_WINDOWS_CASCADE MENUITEM SEPARATOR - MENUITEM "Op&rește", ID_APPLICATION_PAGE_ENDTASK - MENUITEM "&Salt la proces", ID_APPLICATION_PAGE_GOTOPROCESS + MENUITEM "Opr&ește", ID_APPLICATION_PAGE_ENDTASK + MENUITEM "S&alt la proces", ID_APPLICATION_PAGE_GOTOPROCESS END END @@ -123,16 +127,16 @@ IDR_PROCESS_PAGE_CONTEXT MENU BEGIN POPUP "DUMMY" BEGIN - MENUITEM "Op&rește procesul", ID_PROCESS_PAGE_ENDPROCESS + MENUITEM "Opr&eș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" + POPUP "Sta&bilire prioritate" BEGIN - MENUITEM "Prioritate de &timp real", ID_PROCESS_PAGE_SETPRIORITY_REALTIME - MENUITEM "Prioritate î&naltă", ID_PROCESS_PAGE_SETPRIORITY_HIGH - MENUITEM "Regim p&rioritar", ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL - MENUITEM "Regim n&ormal", ID_PROCESS_PAGE_SETPRIORITY_NORMAL + MENUITEM "Prioritate de timp &real", ID_PROCESS_PAGE_SETPRIORITY_REALTIME + MENUITEM "Prioritate în&altă", ID_PROCESS_PAGE_SETPRIORITY_HIGH + MENUITEM "Regim pri&oritar", ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL + MENUITEM "Regim &normal", ID_PROCESS_PAGE_SETPRIORITY_NORMAL MENUITEM "Regim n&eprioritar", ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL MENUITEM "Prioritate &minimă", ID_PROCESS_PAGE_SETPRIORITY_LOW END @@ -163,7 +167,7 @@ BEGIN WS_BORDER | WS_TABSTOP, 7, 7, 233, 177 PUSHBUTTON "E&xecutare…", IDC_NEWTASK, 187, 189, 53, 14 PUSHBUTTON "&Comută la", IDC_SWITCHTO, 131, 189, 53, 14, WS_DISABLED - PUSHBUTTON "&Temină", IDC_ENDTASK, 75, 189, 53, 14, WS_DISABLED + PUSHBUTTON "Închid&e", IDC_ENDTASK, 75, 189, 53, 14, WS_DISABLED END IDD_PROCESS_PAGE DIALOGEX 0, 0, 247, 210 @@ -172,7 +176,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 "Op&rește procesul", IDC_ENDPROCESS, 171, 189, 69, 14 + PUSHBUTTON "Opr&eș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 @@ -317,6 +321,7 @@ BEGIN CONTROL "In/Ex octeți scriși", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 120, 127, 110, 10 CONTROL "In/Ex altceva", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 120, 138, 110, 10 CONTROL "In/Ex octeți din altceva", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 120, 149, 110, 10 + CONTROL "&Linia de comandă", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 120, 160, 65, 10 END /* String Tables */ @@ -335,8 +340,8 @@ BEGIN ID_OPTIONS_MINIMIZEONUSE "Gestionarul se minimizează automat când se comută la o aplicație." ID_OPTIONS_HIDEWHENMINIMIZED "La minimizare, ascunde Gestionarul de activități în zona de notificare." ID_VIEW_REFRESH "Forțează Gestionarul să se actualizeze acum, indiferent Rata de împrospătare." - ID_VIEW_LARGE "Afișează aplicațiile reprezentându-le ca pictograme mari." - ID_VIEW_SMALL "Afișează aplicațiile reprezentându-le ca pictograme mici." + ID_VIEW_LARGE "Afișează aplicațiile reprezentându-le ca dale (pictograme mari)." + ID_VIEW_SMALL "Afișează aplicațiile reprezentându-le ca pictograme (mici)." ID_VIEW_DETAILS "Afișează informații despre fiecare aplicație." ID_VIEW_UPDATESPEED_HIGH "Actualizează fereastra de două ori pe secundă." ID_VIEW_UPDATESPEED_NORMAL "Actualizează fereastra o dată la două secunde." @@ -355,11 +360,11 @@ BEGIN ID_HELP_TOPICS "Afișează Manualul de utilizare al Gestionarului." ID_HELP_ABOUT "Afișează informații despre program, versiune și drepturi de autor." ID_FILE_EXIT "Închide Gestionarul de activități." - ID_OPTIONS_SHOW16BITTASKS "Afișează programele pe 16 biți executate în mediul ntvdm.exe" + ID_OPTIONS_SHOW16BITTASKS "Afișează programele pe 16 biți executate în mediul „ntvdm.exe”." ID_VIEW_SELECTCOLUMNS "Specificarea informațiilor afișate în compartimentul „Procese”." - ID_VIEW_SHOWKERNELTIMES "Include și activitatea nucleului în graficele de performanță" - ID_VIEW_CPUHISTORY_ONEGRAPHALL "Folosește un singur grafic pentru toate procesoarele" - ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU "Folosește câte un grafic pentru fiecare procesor" + ID_VIEW_SHOWKERNELTIMES "Include și activitatea nucleului în graficele de performanță." + ID_VIEW_CPUHISTORY_ONEGRAPHALL "Folosește un singur grafic pentru toate procesoarele." + ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU "Folosește câte un grafic pentru fiecare procesor." ID_APPLICATION_PAGE_SWITCHTO "Aduce fereastra aplicației selectate în prim plan, activând-o." END @@ -367,17 +372,17 @@ STRINGTABLE BEGIN ID_ENDTASK "Comandă închiderea aplicației selectate." ID_GOTOPROCESS "Arată procesul aplicației selectate." - ID_RESTORE "Restabilește Gestionarul." + ID_RESTORE "Restabilește Gestionarul de activități." ID_PROCESS_PAGE_ENDPROCESS "Comandă închiderea procesului selectat." ID_PROCESS_PAGE_ENDPROCESSTREE "Închide procesul și toate procesele pornite de acesta." ID_PROCESS_PAGE_DEBUG "Atașează aplicația de depanare la acest proces." ID_PROCESS_PAGE_SETAFFINITY "Restricționează execuția procesului pe anumite procesoare." - ID_PROCESS_PAGE_SETPRIORITY_REALTIME "Desemnează prioritate maximă" - ID_PROCESS_PAGE_SETPRIORITY_HIGH "Desemnează prioritate înaltă" - ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL "Desemnează regim prioritar" - ID_PROCESS_PAGE_SETPRIORITY_NORMAL "Desemnează prioritate ordinară" - ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL "Desemnează regim neprioritar" - ID_PROCESS_PAGE_SETPRIORITY_LOW "Desemnează prioritate minimă" + ID_PROCESS_PAGE_SETPRIORITY_REALTIME "Desemnează prioritate maximă." + ID_PROCESS_PAGE_SETPRIORITY_HIGH "Desemnează prioritate înaltă." + ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL "Desemnează regim prioritar." + ID_PROCESS_PAGE_SETPRIORITY_NORMAL "Desemnează prioritate ordinară." + ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL "Desemnează regim neprioritar." + ID_PROCESS_PAGE_SETPRIORITY_LOW "Desemnează prioritate minimă." END STRINGTABLE @@ -412,6 +417,7 @@ BEGIN IDS_TAB_IOREADBYTES "In/Ex octeți citiți" IDS_TAB_IOWRITESBYTES "In/Ex octeți scriși" IDS_TAB_IOOTHERBYTES "In/Ex octeți din altceva" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Selectare coloane…" IDS_MENU_16BITTASK "Afișează activități pe 16 &biți" IDS_MENU_WINDOWS "F&erestre" @@ -435,7 +441,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Nu se poate schimba prioritatea" IDS_MSG_WARNINGCHANGEPRIORITY "Schimbarea priorității poate duce la efecte colaterale\nprecum instabilitatea sistemului.\nSigur doriți schimbarea priorității procesului?" IDS_MSG_TRAYICONCPUUSAGE "Utilizare procesor: %d%%" - IDS_STATUS_MEMUSAGE "Utilizare memorie: %dko/%dko" + IDS_STATUS_MEMUSAGE "Utilizare memorie: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "Utilizare procesor: %3d%%" IDS_STATUS_PROCESSES "Procese: %d" IDS_NOT_RESPONDING "EXECUȚIE ANORMALĂ" diff --git a/base/applications/taskmgr/lang/ru-RU.rc b/base/applications/taskmgr/lang/ru-RU.rc index 6f1cb8f7697..f0018964379 100644 --- a/base/applications/taskmgr/lang/ru-RU.rc +++ b/base/applications/taskmgr/lang/ru-RU.rc @@ -1,4 +1,4 @@ -/* Russian language resource file (Dmitry Chapyshev, 2007-06-10) */ +/* Russian language resource file by Dmitry Chapyshev, 2007-06-10, Kudratov Olimjon (olim98@bk.ru) */ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT @@ -190,7 +190,7 @@ BEGIN GROUPBOX "Память ядра (КБ)", IDC_KERNEL_MEMORY_FRAME, 131, 166, 111, 39, 0, WS_EX_TRANSPARENT LTEXT "Дескрипторов", IDS_TOTALS_HANDLE_COUNT, 12, 131, 57, 8 LTEXT "Потоков", IDS_TOTALS_THREAD_COUNT, 12, 140, 30, 8 - LTEXT "Процессов", IDS_TOTALS_PROCESS_COUNT, 12, 149, 34, 8 + LTEXT "Процессов", IDS_TOTALS_PROCESS_COUNT, 12, 149, 36, 8 EDITTEXT IDC_TOTALS_HANDLE_COUNT, 65, 131, 45, 8, ES_RIGHT | ES_READONLY | ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_TOTALS_THREAD_COUNT, 65, 140, 45, 8, ES_RIGHT | ES_READONLY | @@ -209,20 +209,20 @@ BEGIN LTEXT "Всего", IDS_PHYSICAL_MEMORY_TOTAL, 137, 131, 27, 8 LTEXT "Доступно", IDS_PHYSICAL_MEMORY_AVAILABLE, 137, 140, 33, 8 LTEXT "Системный кэш", IDS_PHYSICAL_MEMORY_SYSTEM_CACHE, 137, 149, 80, 8 - EDITTEXT IDC_PHYSICAL_MEMORY_TOTAL, 192, 131, 41, 8, ES_RIGHT | ES_READONLY | + EDITTEXT IDC_PHYSICAL_MEMORY_TOTAL, 184, 131, 49, 8, ES_RIGHT | ES_READONLY | ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP EDITTEXT IDC_PHYSICAL_MEMORY_AVAILABLE, 185, 140, 48, 8, ES_RIGHT | ES_READONLY | ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP - EDITTEXT IDC_PHYSICAL_MEMORY_SYSTEM_CACHE, 185, 149, 48, 8, ES_RIGHT | ES_READONLY | + EDITTEXT IDC_PHYSICAL_MEMORY_SYSTEM_CACHE, 190, 149, 43, 8, ES_RIGHT | ES_READONLY | ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP LTEXT "Всего", IDS_KERNEL_MEMORY_TOTAL, 137, 174, 27, 8 LTEXT "Выгружаемая", IDS_KERNEL_MEMORY_PAGED, 137, 184, 50, 8 LTEXT "Невыгружаемая", IDS_KERNEL_MEMORY_NONPAGED, 137, 193, 80, 8 - EDITTEXT IDC_KERNEL_MEMORY_TOTAL, 192, 174, 41, 8, ES_RIGHT | ES_READONLY | + EDITTEXT IDC_KERNEL_MEMORY_TOTAL, 195, 174, 41, 8, ES_RIGHT | ES_READONLY | ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP - EDITTEXT IDC_KERNEL_MEMORY_PAGED, 185, 184, 48, 8, ES_RIGHT | ES_READONLY | + EDITTEXT IDC_KERNEL_MEMORY_PAGED, 195, 184, 48, 8, ES_RIGHT | ES_READONLY | ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP - EDITTEXT IDC_KERNEL_MEMORY_NONPAGED, 185, 193, 48, 8, ES_RIGHT | ES_READONLY | + EDITTEXT IDC_KERNEL_MEMORY_NONPAGED, 195, 194, 48, 8, ES_RIGHT | ES_READONLY | ES_NUMBER | NOT WS_BORDER | NOT WS_TABSTOP GROUPBOX "Хронология загрузки ЦП", IDC_CPU_USAGE_HISTORY_FRAME, 74, 5, 168, 54, 0, WS_EX_TRANSPARENT GROUPBOX "Хронология использования файла подкачки", IDC_MEMORY_USAGE_HISTORY_FRAME, 74, 63, 168, 54, 0, WS_EX_TRANSPARENT @@ -317,6 +317,7 @@ BEGIN CONTROL "Записано байт", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 CONTROL "Прочий ввод-вывод", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 90, 10 CONTROL "Прочих байт при вводе-выводе", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 122, 10 + CONTROL "Коммандная строка", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 90, 10 END /* String Tables */ @@ -367,7 +368,7 @@ STRINGTABLE BEGIN ID_ENDTASK "Сообщает выбранным задачам о необходимости завершиться" ID_GOTOPROCESS "Переносит выбранный процесс на передний план" - ID_RESTORE "Востанавливает Менеджер задач из скрытого состояния" + ID_RESTORE "Восстанавливает Диспетчер задач из скрытого состояния" ID_PROCESS_PAGE_ENDPROCESS "Завершает процесс в системе" ID_PROCESS_PAGE_ENDPROCESSTREE "Завершает процесс и все его дочерние процессы в системе" ID_PROCESS_PAGE_DEBUG "Прикрепляет отладчик к выбранному процессу" @@ -412,6 +413,7 @@ BEGIN IDS_TAB_IOREADBYTES "Прочитано байт" IDS_TAB_IOWRITESBYTES "Записано байт" IDS_TAB_IOOTHERBYTES "Прочих байт при вводе-выводе" + IDS_TAB_COMMANDLINE "Коммандная строка" IDS_MENU_SELECTCOLUMNS "В&ыбрать столбцы..." IDS_MENU_16BITTASK "&Отображать 16-разрядные задачи" IDS_MENU_WINDOWS "&Окна" @@ -435,7 +437,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Не удалось изменить приоритет" IDS_MSG_WARNINGCHANGEPRIORITY "ВНИМАНИЕ: Изменение приоритета этого процесса может привести к нежелательным результатам, в том числе к нестабильной работе системы.\nВы действительно хотите изменить класс приоритета?" IDS_MSG_TRAYICONCPUUSAGE "Загрузка ЦП: %d%%" - IDS_STATUS_MEMUSAGE "Выделение памяти: %dK / %dK" + IDS_STATUS_MEMUSAGE "Выделение памяти: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "Загрузка ЦП: %3d%%" IDS_STATUS_PROCESSES "Процессов: %d" IDS_NOT_RESPONDING "Не отвечает" diff --git a/base/applications/taskmgr/lang/sk-SK.rc b/base/applications/taskmgr/lang/sk-SK.rc index c7d3268882e..0598c835aa1 100644 --- a/base/applications/taskmgr/lang/sk-SK.rc +++ b/base/applications/taskmgr/lang/sk-SK.rc @@ -317,6 +317,7 @@ BEGIN CONTROL "Vstup a výstup - zapísané bajty", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 130, 127, 112, 10 CONTROL "Vstup a výstup - iné", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 130, 138, 77, 10 CONTROL "Vstup a výstup - iné bajty", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 130, 149, 97, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 130, 160, 95, 10 END /* String Tables */ @@ -412,6 +413,7 @@ BEGIN IDS_TAB_IOREADBYTES "Vstup a výstup - prečítané bajty" IDS_TAB_IOWRITESBYTES "Vstup a výstup - zapísané bajty" IDS_TAB_IOOTHERBYTES "Vstup a výstup - iné bajty" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Vybrať stĺpce..." IDS_MENU_16BITTASK "&Zobraziť 16-bitové úlohy" IDS_MENU_WINDOWS "&Okna" @@ -435,7 +437,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Priorita sa nedá zmeniť." IDS_MSG_WARNINGCHANGEPRIORITY "UPOZORNENIE: Zmena triedy priority procesu môže mať\nnežiadúce dôsledky vrátane nestability systému.\nNaozaj chcete zmeniť triedu priority procesu?" IDS_MSG_TRAYICONCPUUSAGE "Využitie procesora: %d%%" - IDS_STATUS_MEMUSAGE "Využitá pamäť: %dK / %dK" + IDS_STATUS_MEMUSAGE "Využitá pamäť: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "Využitie procesora: %3d%%" IDS_STATUS_PROCESSES "Procesy: %d" IDS_NOT_RESPONDING "Neodpovedá" diff --git a/base/applications/taskmgr/lang/sq-AL.rc b/base/applications/taskmgr/lang/sq-AL.rc index 5c1c812b896..5d6196e67d2 100644 --- a/base/applications/taskmgr/lang/sq-AL.rc +++ b/base/applications/taskmgr/lang/sq-AL.rc @@ -317,6 +317,7 @@ BEGIN CONTROL "Shkruan I/O Bytes", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 CONTROL "I/O te tjere", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "I/O Byte te tjere", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -412,6 +413,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O Lexo Bytes" IDS_TAB_IOWRITESBYTES "I/O Shkruaj Bytes" IDS_TAB_IOOTHERBYTES "I/O te tjere Bytes" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "Zgjidh kolonat..." IDS_MENU_16BITTASK "&Shfaq 16-bit tasks" IDS_MENU_WINDOWS "Dritare" @@ -435,7 +437,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "E pamundur ndryshimi i prioritetit" IDS_MSG_WARNINGCHANGEPRIORITY "KUJDES: Ndryshimi i klases se prioritetit te ketij procesi mund te \nsjell rrezultate te padeshirushme ne stabilitetin e sistemit. Jeni i sigurt\nper ndryshimin e klases se prioriteteve?" IDS_MSG_TRAYICONCPUUSAGE "Perdorimi i CPU: %d%%" - IDS_STATUS_MEMUSAGE "Perdorimi i Mem: %dK / %dK" + IDS_STATUS_MEMUSAGE "Perdorimi i Mem: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "Perdorimi i CPU: %3d%%" IDS_STATUS_PROCESSES "Proceset: %d" IDS_NOT_RESPONDING "Nuk pergjigjet" diff --git a/base/applications/taskmgr/lang/sv-SE.rc b/base/applications/taskmgr/lang/sv-SE.rc index 6d4ed2c758c..4f854368f1c 100644 --- a/base/applications/taskmgr/lang/sv-SE.rc +++ b/base/applications/taskmgr/lang/sv-SE.rc @@ -317,6 +317,7 @@ BEGIN CONTROL "I/O, &antal tecken skrivna", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 133, 127, 113, 10 CONTROL "And&ra I/O åtgärder", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 133, 138, 89, 10 CONTROL "Antal tecken, andra I/O åtgärder", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 133, 149, 141, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 133, 160, 95, 10 END /* String Tables */ @@ -412,6 +413,7 @@ BEGIN IDS_TAB_IOREADBYTES "Antal tecken lästa, andra I/O-åtgärder" IDS_TAB_IOWRITESBYTES "Antal tecken skrivna, andra I/O-åtgärder" IDS_TAB_IOOTHERBYTES "I/O, antal tecken" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Välj kolumner..." IDS_MENU_16BITTASK "&Visa 16-bitsprocesser" IDS_MENU_WINDOWS "&Fönster" @@ -435,7 +437,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Kunde inte ändra prioritet" IDS_MSG_WARNINGCHANGEPRIORITY "VARNING: Ändring av prioritetsklassen hos den här processen kan\norsaka oönskade effekter och påverka systemets stabilitet. Är du\nsäker på att du vill ändra prioritetsklassen?" IDS_MSG_TRAYICONCPUUSAGE "Processoranvändning: %d%%" - IDS_STATUS_MEMUSAGE "Minnesanv: %dK / %dK" + IDS_STATUS_MEMUSAGE "Minnesanv: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "Processoranv: %3d%%" IDS_STATUS_PROCESSES "Processer: %d" IDS_NOT_RESPONDING "Svarar inte" diff --git a/base/applications/taskmgr/lang/tr-TR.rc b/base/applications/taskmgr/lang/tr-TR.rc index 7078a49d48d..41deacebe76 100644 --- a/base/applications/taskmgr/lang/tr-TR.rc +++ b/base/applications/taskmgr/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT @@ -315,6 +315,7 @@ BEGIN CONTROL "G/Ç Yazma Çokluları", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 CONTROL "G/Ç Başka", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "G/Ç Başka Çoklular", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -410,6 +411,7 @@ BEGIN IDS_TAB_IOREADBYTES "G/Ç Okuma Çokluları" IDS_TAB_IOWRITESBYTES "G/Ç Yazma Çokluları" IDS_TAB_IOOTHERBYTES "G/Ç Başka Çoklular" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "&Dikeçleri Seç..." IDS_MENU_16BITTASK "&16 Bitlik Görevleri Göster" IDS_MENU_WINDOWS "&Pencereler" @@ -428,12 +430,12 @@ BEGIN IDS_MSG_UNABLEDEBUGPROCESS "Yanlışlık Ayıklama İşleminin Yapılamaması" IDS_MSG_WARNINGDEBUG "UYARI: Bu işlemde yanlışlık ayıklama veri yitimiyle sonuçlanabilir.\nYanlışlık ayıklayıcı bağlamak istediğinizden emin misiniz?" IDS_MSG_TASKMGRWARNING "Görev Yöneticisi Uyarısı" - IDS_MSG_WARNINGTERMINATING "UYARI: Bir işlemin sonlandırılması, veri\nyitimi ve dizge kararsızlığını içeren istenmeyen sonuçlara neden\nolabilir. İşlem sonlandırılmadan önce durumunu veyâ verisini\nkaydetme fırsatı verilmeyecektir. İşlemi\nsonlandırmak istediğinizden emin misiniz?" + IDS_MSG_WARNINGTERMINATING "UYARI: Bir işlemin sonlandırılması, veri\nyitimi ve dizge kararsızlığını içeren istenmeyen sonuçlara neden\nolabilir. İşlem sonlandırılmadan önce durumunu veyâ verisini\nsaklama fırsatı verilmeyecektir. İşlemi\nsonlandırmak istediğinizden emin misiniz?" IDS_MSG_UNABLETERMINATEPRO "İşlem Sonlandırmanın Yapılamaması" IDS_MSG_UNABLECHANGEPRIORITY "Önceliğin Değiştirilememesi" IDS_MSG_WARNINGCHANGEPRIORITY "UYARI: Bu işlemin öncelik sınıfının değiştirilmesi, dizge\nkararsızlığını içeren istenmeyen sonuçlara neden olabilir. Öncelik \nsınıfını değiştirmek istediğinizden emin misiniz?" IDS_MSG_TRAYICONCPUUSAGE "CPU Kullanımı: %%%d" - IDS_STATUS_MEMUSAGE "Bellek Kullanımı: %d KB / %d KB" + IDS_STATUS_MEMUSAGE "Bellek Kullanımı: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "CPU Kullanımı: %%%3d" IDS_STATUS_PROCESSES "İşlem: %d" IDS_NOT_RESPONDING "Yanıt Vermiyor" diff --git a/base/applications/taskmgr/lang/uk-UA.rc b/base/applications/taskmgr/lang/uk-UA.rc index cb6febe53ca..370b382a0aa 100644 --- a/base/applications/taskmgr/lang/uk-UA.rc +++ b/base/applications/taskmgr/lang/uk-UA.rc @@ -315,6 +315,7 @@ BEGIN CONTROL "Записано байтів", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 67, 10 CONTROL "Інший ввід-вивід", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 71, 10 CONTROL "Інших байтів при вводі-виводі", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 114, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -410,6 +411,7 @@ BEGIN IDS_TAB_IOREADBYTES "Прочитано байтів" IDS_TAB_IOWRITESBYTES "Записано байтів" IDS_TAB_IOOTHERBYTES "Інших байтів під час вводу-виводу" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "В&ибрати стовпці..." IDS_MENU_16BITTASK "&Відображати 16-розрядні завдання" IDS_MENU_WINDOWS "В&ікна" @@ -433,7 +435,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Неможливо змінити пріоритет" IDS_MSG_WARNINGCHANGEPRIORITY "УВАГА! Зміна класу пріоритету цього процесу може призвести до \nнебажаних наслідків, включаючи нестабільну роботу \nсистеми. Ви дійсно бажаєте змінити пріоритет класу?" IDS_MSG_TRAYICONCPUUSAGE "Використання ЦП: %d%%" - IDS_STATUS_MEMUSAGE "Пам'ять: %dK / %dK" + IDS_STATUS_MEMUSAGE "Пам'ять: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "Використання ЦП: %3d%%" IDS_STATUS_PROCESSES "Процесів: %d" IDS_NOT_RESPONDING "Не відповідає" diff --git a/base/applications/taskmgr/lang/zh-CN.rc b/base/applications/taskmgr/lang/zh-CN.rc index 54ba7e466b9..d42e0dd0361 100644 --- a/base/applications/taskmgr/lang/zh-CN.rc +++ b/base/applications/taskmgr/lang/zh-CN.rc @@ -321,6 +321,7 @@ BEGIN CONTROL "I/O 写入字节", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 CONTROL "I/O 其他", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "I/O 其他字节", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -416,6 +417,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O Read Bytes" IDS_TAB_IOWRITESBYTES "I/O Write Bytes" IDS_TAB_IOOTHERBYTES "I/O Other Bytes" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "选择列(&S)..." IDS_MENU_16BITTASK "显示 16 位任务(&S)" IDS_MENU_WINDOWS "窗口(&W)" @@ -439,7 +441,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "Unable to Change Priority" IDS_MSG_WARNINGCHANGEPRIORITY "WARNING: Changing the priority class of this process may\ncause undesired results including system instability. Are you\nsure you want to change the priority class?" IDS_MSG_TRAYICONCPUUSAGE "CPU 使用情况: %d%%" - IDS_STATUS_MEMUSAGE "内存使用情况: %dK / %dK" + IDS_STATUS_MEMUSAGE "内存使用情况: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "CPU 使用情况: %3d%%" IDS_STATUS_PROCESSES "處理程序: %d" IDS_NOT_RESPONDING "没有回应" diff --git a/base/applications/taskmgr/lang/zh-TW.rc b/base/applications/taskmgr/lang/zh-TW.rc index 51c54f82601..eb6ee185bff 100644 --- a/base/applications/taskmgr/lang/zh-TW.rc +++ b/base/applications/taskmgr/lang/zh-TW.rc @@ -323,6 +323,7 @@ BEGIN CONTROL "I/O 寫入位元組", IDC_IOWRITEBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 127, 65, 10 CONTROL "其他 I/O", IDC_IOOTHER, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 138, 46, 10 CONTROL "其他 I/O 位元組", IDC_IOOTHERBYTES, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 149, 65, 10 + CONTROL "Command &Line", IDC_COMMANDLINE, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 107, 160, 65, 10 END /* String Tables */ @@ -418,6 +419,7 @@ BEGIN IDS_TAB_IOREADBYTES "I/O 讀取位元組" IDS_TAB_IOWRITESBYTES "I/O 寫入位元組" IDS_TAB_IOOTHERBYTES "其他 I/O 位元組" + IDS_TAB_COMMANDLINE "Command Line" IDS_MENU_SELECTCOLUMNS "選擇列(&S)..." IDS_MENU_16BITTASK "顯示 16 位工作(&S)" IDS_MENU_WINDOWS "窗口(&W)" @@ -441,7 +443,7 @@ BEGIN IDS_MSG_UNABLECHANGEPRIORITY "無法更改優先順序" IDS_MSG_WARNINGCHANGEPRIORITY "警告: 更改此程序的優先順序可能導致系統不穩定。\n你是否確定要更改優先順序?" IDS_MSG_TRAYICONCPUUSAGE "CPU 使用情況: %d%%" - IDS_STATUS_MEMUSAGE "記憶體使用情況: %dK / %dK" + IDS_STATUS_MEMUSAGE "記憶體使用情況: %s / %s (%d%%)" IDS_STATUS_CPUUSAGE "CPU 使用情況: %3d%%" IDS_STATUS_PROCESSES "處理程序: %d" IDS_NOT_RESPONDING "沒有回應" diff --git a/base/applications/taskmgr/perfdata.c b/base/applications/taskmgr/perfdata.c index ac23b16c10c..3ecb0d81631 100644 --- a/base/applications/taskmgr/perfdata.c +++ b/base/applications/taskmgr/perfdata.c @@ -3,7 +3,8 @@ * * perfdata.c * - * Copyright (C) 1999 - 2001 Brian Palmer + * Copyright (C) 1999 - 2001 Brian Palmer + * Copyright (C) 2014 Ismael Ferreras Morezuelas * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -26,11 +27,12 @@ #include #define NTOS_MODE_USER +#include #include CRITICAL_SECTION PerfDataCriticalSection; PPERFDATA pPerfDataOld = NULL; /* Older perf data (saved to establish delta values) */ -PPERFDATA pPerfData = NULL; /* Most recent copy of perf data */ +PPERFDATA pPerfData = NULL; /* Most recent copy of perf data */ ULONG ProcessCountOld = 0; ULONG ProcessCount = 0; double dbIdleTime; @@ -46,6 +48,10 @@ SYSTEM_HANDLE_INFORMATION SystemHandleInfo; PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION SystemProcessorTimeInfo = NULL; PSID SystemUserSid = NULL; +PCMD_LINE_CACHE global_cache = NULL; + +#define CMD_LINE_MIN(a, b) (a < b ? a - sizeof(WCHAR) : b) + typedef struct _SIDTOUSERNAME { LIST_ENTRY List; @@ -371,7 +377,7 @@ void PerfDataRefresh(void) pPerfData[Idx].HandleCount = pSPI->HandleCount; pPerfData[Idx].ThreadCount = pSPI->NumberOfThreads; pPerfData[Idx].SessionId = pSPI->SessionId; - pPerfData[Idx].UserName[0] = L'\0'; + pPerfData[Idx].UserName[0] = UNICODE_NULL; pPerfData[Idx].USERObjectCount = 0; pPerfData[Idx].GDIObjectCount = 0; ProcessUser = SystemUserSid; @@ -472,7 +478,7 @@ ULONG PerfDataGetProcessorSystemUsage(void) return (ULONG)dbKernelTime; } -BOOL PerfDataGetImageName(ULONG Index, LPWSTR lpImageName, int nMaxCount) +BOOL PerfDataGetImageName(ULONG Index, LPWSTR lpImageName, ULONG nMaxCount) { BOOL bSuccessful; @@ -504,7 +510,7 @@ ULONG PerfDataGetProcessId(ULONG Index) return ProcessId; } -BOOL PerfDataGetUserName(ULONG Index, LPWSTR lpUserName, int nMaxCount) +BOOL PerfDataGetUserName(ULONG Index, LPWSTR lpUserName, ULONG nMaxCount) { BOOL bSuccessful; @@ -522,6 +528,130 @@ BOOL PerfDataGetUserName(ULONG Index, LPWSTR lpUserName, int nMaxCount) return bSuccessful; } +BOOL PerfDataGetCommandLine(ULONG Index, LPWSTR lpCommandLine, ULONG nMaxCount) +{ + static const LPWSTR ellipsis = L"..."; + + PROCESS_BASIC_INFORMATION pbi = {0}; + UNICODE_STRING CommandLineStr = {0}; + + PVOID ProcessParams = NULL; + HANDLE hProcess; + ULONG ProcessId; + + NTSTATUS Status; + BOOL result; + + PCMD_LINE_CACHE new_entry; + LPWSTR new_string; + + PCMD_LINE_CACHE cache = global_cache; + + /* [A] Search for a string already in cache? If so, use it */ + while (cache && cache->pnext != NULL) + { + if (cache->idx == Index && cache->str != NULL) + { + /* Found it. Use it, and add some ellipsis at the very end to make it cute */ + wcsncpy(lpCommandLine, cache->str, CMD_LINE_MIN(nMaxCount, cache->len)); + wcscpy(lpCommandLine + CMD_LINE_MIN(nMaxCount, cache->len) - sizeof(ellipsis)/sizeof(WCHAR), ellipsis); + return TRUE; + } + + cache = cache->pnext; + } + + /* [B] We don't; let's allocate and load a value from the process mem... and cache it */ + ProcessId = PerfDataGetProcessId(Index); + + /* Default blank command line in case things don't work out */ + wcsncpy(lpCommandLine, L"", nMaxCount); + + /* Ask for a handle to the target process so that we can read its memory and query stuff */ + hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, ProcessId); + if (!hProcess) + goto cleanup; + + /* First off, get the ProcessEnvironmentBlock location in that process' address space */ + Status = NtQueryInformationProcess(hProcess, 0, &pbi, sizeof(pbi), NULL); + if (!NT_SUCCESS(Status)) + goto cleanup; + + /* Then get the PEB.ProcessParameters member pointer */ + result = ReadProcessMemory(hProcess, + (PVOID)((ULONG_PTR)pbi.PebBaseAddress + FIELD_OFFSET(PEB, ProcessParameters)), + &ProcessParams, + sizeof(ProcessParams), + NULL); + if (!result) + goto cleanup; + + /* Then copy the PEB->ProcessParameters.CommandLine member + to get the pointer to the string buffer and its size */ + result = ReadProcessMemory(hProcess, + (PVOID)((ULONG_PTR)ProcessParams + FIELD_OFFSET(RTL_USER_PROCESS_PARAMETERS, CommandLine)), + &CommandLineStr, + sizeof(CommandLineStr), + NULL); + if (!result) + goto cleanup; + + /* Allocate the next cache entry and its accompanying string in one go */ + new_entry = HeapAlloc(GetProcessHeap(), + HEAP_ZERO_MEMORY, + sizeof(CMD_LINE_CACHE) + CommandLineStr.Length + sizeof(UNICODE_NULL)); + if (!new_entry) + goto cleanup; + + new_string = (LPWSTR)((ULONG_PTR)new_entry + sizeof(CMD_LINE_CACHE)); + + /* Bingo, the command line should be stored there, + copy the string from the other process */ + result = ReadProcessMemory(hProcess, + CommandLineStr.Buffer, + new_string, + CommandLineStr.Length, + NULL); + if (!result) + { + /* Weird, after sucessfully reading the mem of that process + various times it fails now, forget it and bail out */ + HeapFree(GetProcessHeap(), 0, new_entry); + goto cleanup; + } + + /* Add our pointer to the cache... */ + new_entry->idx = Index; + new_entry->str = new_string; + new_entry->len = CommandLineStr.Length; + + if (!global_cache) + global_cache = new_entry; + else + cache->pnext = new_entry; + + /* ... and print the buffer for the first time */ + wcsncpy(lpCommandLine, new_string, CMD_LINE_MIN(nMaxCount, CommandLineStr.Length)); + +cleanup: + if (hProcess) CloseHandle(hProcess); + return TRUE; +} + +void PerfDataDeallocCommandLineCache() +{ + PCMD_LINE_CACHE cache = global_cache; + PCMD_LINE_CACHE cache_old; + + while (cache && cache->pnext != NULL) + { + cache_old = cache; + cache = cache->pnext; + + HeapFree(GetProcessHeap(), 0, cache_old); + } +} + ULONG PerfDataGetSessionId(ULONG Index) { ULONG SessionId; diff --git a/base/applications/taskmgr/perfdata.h b/base/applications/taskmgr/perfdata.h index 6bb7005ceaa..51e11f47b2e 100644 --- a/base/applications/taskmgr/perfdata.h +++ b/base/applications/taskmgr/perfdata.h @@ -55,19 +55,31 @@ typedef struct _PERFDATA LARGE_INTEGER KernelTime; } PERFDATA, *PPERFDATA; +typedef struct _CMD_LINE_CACHE +{ + DWORD idx; + LPWSTR str; + ULONG len; + struct _CMD_LINE_CACHE* pnext; +} CMD_LINE_CACHE, *PCMD_LINE_CACHE; + BOOL PerfDataInitialize(void); void PerfDataUninitialize(void); void PerfDataRefresh(void); -BOOL PerfDataGet(ULONG Index, PPERFDATA *lppData); -ULONG PerfDataGetProcessIndex(ULONG pid); +BOOL PerfDataGet(ULONG Index, PPERFDATA *lppData); +ULONG PerfDataGetProcessIndex(ULONG pid); ULONG PerfDataGetProcessCount(void); ULONG PerfDataGetProcessorUsage(void); ULONG PerfDataGetProcessorSystemUsage(void); -BOOL PerfDataGetImageName(ULONG Index, LPTSTR lpImageName, int nMaxCount); +BOOL PerfDataGetImageName(ULONG Index, LPWSTR lpImageName, ULONG nMaxCount); ULONG PerfDataGetProcessId(ULONG Index); -BOOL PerfDataGetUserName(ULONG Index, LPTSTR lpUserName, int nMaxCount); +BOOL PerfDataGetUserName(ULONG Index, LPWSTR lpUserName, ULONG nMaxCount); + +BOOL PerfDataGetCommandLine(ULONG Index, LPWSTR lpCommandLine, ULONG nMaxCount); +void PerfDataDeallocCommandLineCache(); + ULONG PerfDataGetSessionId(ULONG Index); ULONG PerfDataGetCPUUsage(ULONG Index); LARGE_INTEGER PerfDataGetCPUTime(ULONG Index); diff --git a/base/applications/taskmgr/perfpage.c b/base/applications/taskmgr/perfpage.c index 5aaba2bc5eb..84b4923a6d1 100644 --- a/base/applications/taskmgr/perfpage.c +++ b/base/applications/taskmgr/perfpage.c @@ -21,6 +21,7 @@ */ #include "precomp.h" +#include TGraphCtrl PerformancePageCpuUsageHistoryGraph; TGraphCtrl PerformancePageMemUsageHistoryGraph; @@ -197,9 +198,9 @@ PerformancePageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) /* * Subclass graph buttons */ - OldGraphWndProc = (WNDPROC)(LONG_PTR) SetWindowLongPtrW(hPerformancePageCpuUsageGraph, GWLP_WNDPROC, (LONG_PTR)Graph_WndProc); + OldGraphWndProc = (WNDPROC)SetWindowLongPtrW(hPerformancePageCpuUsageGraph, GWLP_WNDPROC, (LONG_PTR)Graph_WndProc); SetWindowLongPtrW(hPerformancePageMemUsageGraph, GWLP_WNDPROC, (LONG_PTR)Graph_WndProc); - OldGraphCtrlWndProc = (WNDPROC)(LONG_PTR) SetWindowLongPtrW(hPerformancePageMemUsageHistoryGraph, GWLP_WNDPROC, (LONG_PTR)GraphCtrl_WndProc); + OldGraphCtrlWndProc = (WNDPROC)SetWindowLongPtrW(hPerformancePageMemUsageHistoryGraph, GWLP_WNDPROC, (LONG_PTR)GraphCtrl_WndProc); SetWindowLongPtrW(hPerformancePageCpuUsageHistoryGraph, GWLP_WNDPROC, (LONG_PTR)GraphCtrl_WndProc); return TRUE; @@ -311,20 +312,20 @@ void RefreshPerformancePage(void) DWORD WINAPI PerformancePageRefreshThread(void *lpParameter) { - ULONG CommitChargeTotal; - ULONG CommitChargeLimit; - ULONG CommitChargePeak; + ULONGLONG CommitChargeTotal; + ULONGLONG CommitChargeLimit; + ULONGLONG CommitChargePeak; ULONG CpuUsage; ULONG CpuKernelUsage; - ULONG KernelMemoryTotal; - ULONG KernelMemoryPaged; - ULONG KernelMemoryNonPaged; + ULONGLONG KernelMemoryTotal; + ULONGLONG KernelMemoryPaged; + ULONGLONG KernelMemoryNonPaged; - ULONG PhysicalMemoryTotal; - ULONG PhysicalMemoryAvailable; - ULONG PhysicalMemorySystemCache; + ULONGLONG PhysicalMemoryTotal; + ULONGLONG PhysicalMemoryAvailable; + ULONGLONG PhysicalMemorySystemCache; ULONG TotalHandles; ULONG TotalThreads; @@ -342,6 +343,9 @@ DWORD WINAPI PerformancePageRefreshThread(void *lpParameter) int nBarsUsed1; int nBarsUsed2; + WCHAR szChargeTotalFormat[256]; + WCHAR szChargeLimitFormat[256]; + /* Wait for an the event or application close */ if (GetMessage(&msg, NULL, 0, 0) <= 0) return 0; @@ -353,14 +357,25 @@ DWORD WINAPI PerformancePageRefreshThread(void *lpParameter) */ CommitChargeTotal = PerfDataGetCommitChargeTotalK(); CommitChargeLimit = PerfDataGetCommitChargeLimitK(); - CommitChargePeak = PerfDataGetCommitChargePeakK(); + CommitChargePeak = PerfDataGetCommitChargePeakK(); _ultow(CommitChargeTotal, Text, 10); SetWindowTextW(hPerformancePageCommitChargeTotalEdit, Text); _ultow(CommitChargeLimit, Text, 10); SetWindowTextW(hPerformancePageCommitChargeLimitEdit, Text); _ultow(CommitChargePeak, Text, 10); SetWindowTextW(hPerformancePageCommitChargePeakEdit, Text); - wsprintfW(Text, szMemUsage, CommitChargeTotal, CommitChargeLimit); + + StrFormatByteSizeW(CommitChargeTotal * 1024, + szChargeTotalFormat, + sizeof(szChargeTotalFormat)); + + StrFormatByteSizeW(CommitChargeLimit * 1024, + szChargeLimitFormat, + sizeof(szChargeLimitFormat)); + + wsprintfW(Text, szMemUsage, szChargeTotalFormat, szChargeLimitFormat, + (CommitChargeLimit ? ((CommitChargeTotal * 100) / CommitChargeLimit) : 0)); + SendMessageW(hStatusWnd, SB_SETTEXT, 2, (LPARAM)Text); /* diff --git a/base/applications/taskmgr/precomp.h b/base/applications/taskmgr/precomp.h index e70ffa3fd36..f6bc6813170 100644 --- a/base/applications/taskmgr/precomp.h +++ b/base/applications/taskmgr/precomp.h @@ -5,6 +5,7 @@ #error Task-Manager uses NDK functions, so it can only be compiled with Unicode support enabled! #endif +#include #include #include diff --git a/base/applications/taskmgr/procpage.c b/base/applications/taskmgr/procpage.c index 830f83e3cfe..35a7b32f0b3 100644 --- a/base/applications/taskmgr/procpage.c +++ b/base/applications/taskmgr/procpage.c @@ -52,9 +52,9 @@ void AddProcess(ULONG Index); void UpdateProcesses(); void gethmsfromlargeint(LARGE_INTEGER largeint, DWORD *dwHours, DWORD *dwMinutes, DWORD *dwSeconds); void ProcessPageOnNotify(WPARAM wParam, LPARAM lParam); -void CommaSeparateNumberString(LPWSTR strNumber, int nMaxCount); +void CommaSeparateNumberString(LPWSTR strNumber, ULONG nMaxCount); void ProcessPageShowContextMenu(DWORD dwProcessId); -BOOL PerfDataGetText(ULONG Index, ULONG ColumnIndex, LPTSTR lpText, int nMaxCount); +BOOL PerfDataGetText(ULONG Index, ULONG ColumnIndex, LPTSTR lpText, ULONG nMaxCount); DWORD WINAPI ProcessPageRefreshThread(void *lpParameter); int ProcessRunning(ULONG ProcessId); @@ -141,7 +141,7 @@ ProcessPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) /* * Subclass the process list control so we can intercept WM_ERASEBKGND */ - OldProcessListWndProc = (WNDPROC)(LONG_PTR) SetWindowLongPtrW(hProcessPageListCtrl, GWLP_WNDPROC, (LONG_PTR)ProcessListWndProc); + OldProcessListWndProc = (WNDPROC)SetWindowLongPtrW(hProcessPageListCtrl, GWLP_WNDPROC, (LONG_PTR)ProcessListWndProc); #ifdef RUN_PROC_PAGE /* Start our refresh thread */ @@ -245,7 +245,7 @@ void ProcessPageOnNotify(WPARAM wParam, LPARAM lParam) Index = PerfDataGetProcessIndex(pData->ProcessId); ColumnIndex = pnmdi->item.iSubItem; - PerfDataGetText(Index, ColumnIndex, pnmdi->item.pszText, pnmdi->item.cchTextMax); + PerfDataGetText(Index, ColumnIndex, pnmdi->item.pszText, (ULONG)pnmdi->item.cchTextMax); break; @@ -290,7 +290,7 @@ void ProcessPageOnNotify(WPARAM wParam, LPARAM lParam) } } -void CommaSeparateNumberString(LPWSTR strNumber, int nMaxCount) +void CommaSeparateNumberString(LPWSTR strNumber, ULONG nMaxCount) { WCHAR temp[260]; UINT i, j, k; @@ -530,7 +530,7 @@ void AddProcess(ULONG Index) } } -BOOL PerfDataGetText(ULONG Index, ULONG ColumnIndex, LPTSTR lpText, int nMaxCount) +BOOL PerfDataGetText(ULONG Index, ULONG ColumnIndex, LPTSTR lpText, ULONG nMaxCount) { IO_COUNTERS iocounters; LARGE_INTEGER time; @@ -541,6 +541,8 @@ BOOL PerfDataGetText(ULONG Index, ULONG ColumnIndex, LPTSTR lpText, int nMaxCoun wsprintfW(lpText, L"%lu", PerfDataGetProcessId(Index)); if (ColumnDataHints[ColumnIndex] == COLUMN_USERNAME) PerfDataGetUserName(Index, lpText, nMaxCount); + if (ColumnDataHints[ColumnIndex] == COLUMN_COMMANDLINE) + PerfDataGetCommandLine(Index, lpText, nMaxCount); if (ColumnDataHints[ColumnIndex] == COLUMN_SESSIONID) wsprintfW(lpText, L"%lu", PerfDataGetSessionId(Index)); if (ColumnDataHints[ColumnIndex] == COLUMN_CPUUSAGE) @@ -753,6 +755,12 @@ int CALLBACK ProcessPageCompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lPara PerfDataGetUserName(IndexParam2, text2, sizeof (text2) / sizeof (*text2)); ret = _wcsicmp(text1, text2); } + else if (TaskManagerSettings.SortColumn == COLUMN_COMMANDLINE) + { + PerfDataGetCommandLine(IndexParam1, text1, sizeof (text1) / sizeof (*text1)); + PerfDataGetCommandLine(IndexParam2, text2, sizeof (text2) / sizeof (*text2)); + ret = _wcsicmp(text1, text2); + } else if (TaskManagerSettings.SortColumn == COLUMN_SESSIONID) { l1 = PerfDataGetSessionId(IndexParam1); diff --git a/base/applications/taskmgr/resource.h b/base/applications/taskmgr/resource.h index 785193b62ab..8aca1bde315 100644 --- a/base/applications/taskmgr/resource.h +++ b/base/applications/taskmgr/resource.h @@ -113,6 +113,7 @@ #define IDC_IOOTHERBYTES 1047 #define IDC_CPU_USAGE_GRAPH 1047 #define IDC_CPU29 1048 +#define IDC_COMMANDLINE 1048 #define IDC_MEM_USAGE_GRAPH2 1048 #define IDC_MEM_USAGE_GRAPH 1048 #define IDC_CPU30 1049 @@ -222,6 +223,7 @@ #define IDS_TAB_IOREADBYTES 337 #define IDS_TAB_IOWRITESBYTES 338 #define IDS_TAB_IOOTHERBYTES 339 +#define IDS_TAB_COMMANDLINE 368 #define IDS_MENU_SELECTCOLUMNS 340 #define IDS_MENU_16BITTASK 341 diff --git a/base/applications/taskmgr/taskmgr.c b/base/applications/taskmgr/taskmgr.c index 36192dcfe37..1b8a4b01ff6 100644 --- a/base/applications/taskmgr/taskmgr.c +++ b/base/applications/taskmgr/taskmgr.c @@ -38,6 +38,8 @@ HWND hMainWnd; /* Main Window */ HWND hStatusWnd; /* Status Bar Window */ HWND hTabWnd; /* Tab Control Window */ +HMENU hWindowMenu = NULL; + int nMinimumWidth; /* Minimum width of the dialog (OnSize()'s cx) */ int nMinimumHeight; /* Minimum height of the dialog (OnSize()'s cy) */ @@ -152,15 +154,17 @@ int APIENTRY wWinMain(HINSTANCE hInstance, */ /* Get a token for this process. */ - if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) { + if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) + { /* Get the LUID for the debug privilege. */ - LookupPrivilegeValueW(NULL, SE_DEBUG_NAME, &tkp.Privileges[0].Luid); + if (LookupPrivilegeValueW(NULL, SE_DEBUG_NAME, &tkp.Privileges[0].Luid)) + { + tkp.PrivilegeCount = 1; /* one privilege to set */ + tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; - tkp.PrivilegeCount = 1; /* one privilege to set */ - tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; - - /* Get the debug privilege for this process. */ - AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0); + /* Get the debug privilege for this process. */ + AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0); + } CloseHandle(hToken); } @@ -168,7 +172,8 @@ int APIENTRY wWinMain(HINSTANCE hInstance, LoadSettings(); /* Initialize perf data */ - if (!PerfDataInitialize()) { + if (!PerfDataInitialize()) + { return -1; } @@ -184,6 +189,8 @@ int APIENTRY wWinMain(HINSTANCE hInstance, SaveSettings(); PerfDataUninitialize(); CloseHandle(hMutex); + if (hWindowMenu) + DestroyMenu(hWindowMenu); return 0; } @@ -473,6 +480,8 @@ TaskManagerWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) TaskManagerSettings.Maximized = TRUE; else TaskManagerSettings.Maximized = FALSE; + /* Get rid of the allocated command line cache, if any */ + PerfDataDeallocCommandLineCache(); return DefWindowProcW(hDlg, message, wParam, lParam); case WM_TIMER: @@ -557,13 +566,17 @@ BOOL OnCreate(HWND hWnd) HMENU hMenu; HMENU hEditMenu; HMENU hViewMenu; + HMENU hShutMenu; HMENU hUpdateSpeedMenu; HMENU hCPUHistoryMenu; int nActivePage; int nParts[3]; RECT rc; WCHAR szTemp[256]; + WCHAR szLogOffItem[MAX_PATH]; + LPWSTR lpUserName; TCITEM item; + DWORD len = 0; SendMessageW(hMainWnd, WM_SETICON, ICON_BIG, (LPARAM)LoadIconW(hInst, MAKEINTRESOURCEW(IDI_TASKMANAGER))); @@ -646,8 +659,9 @@ BOOL OnCreate(HWND hWnd) hMenu = GetMenu(hWnd); hEditMenu = GetSubMenu(hMenu, 1); hViewMenu = GetSubMenu(hMenu, 2); + hShutMenu = GetSubMenu(hMenu, 4); hUpdateSpeedMenu = GetSubMenu(hViewMenu, 1); - hCPUHistoryMenu = GetSubMenu(hViewMenu, 7); + hCPUHistoryMenu = GetSubMenu(hViewMenu, 7); /* Check or uncheck the always on top menu item */ if (TaskManagerSettings.AlwaysOnTop) { @@ -697,6 +711,35 @@ BOOL OnCreate(HWND hWnd) TabCtrl_SetCurFocus/*Sel*/(hTabWnd, 2); TabCtrl_SetCurFocus/*Sel*/(hTabWnd, nActivePage); + /* Set the username in the "Log Off %s" item of the Shutdown menu */ + + /* 1- Get the menu item text and store it temporarily */ + GetMenuStringW(hShutMenu, ID_SHUTDOWN_LOGOFF, szTemp, 256, MF_BYCOMMAND); + + /* 2- Retrieve the username length first, then allocate a buffer for it and call it again */ + if (!GetUserNameW(NULL, &len) && GetLastError() == ERROR_INSUFFICIENT_BUFFER) + { + lpUserName = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len * sizeof(WCHAR)); + if (lpUserName && GetUserNameW(lpUserName, &len)) + { + _snwprintf(szLogOffItem, sizeof(szLogOffItem)/sizeof(szLogOffItem[0]), szTemp, lpUserName); + szLogOffItem[sizeof(szLogOffItem)/sizeof(szLogOffItem[0]) - 1] = UNICODE_NULL; + } + else + { + _snwprintf(szLogOffItem, sizeof(szLogOffItem)/sizeof(szLogOffItem[0]), szTemp, L"n/a"); + } + + if (lpUserName) HeapFree(GetProcessHeap(), 0, lpUserName); + } + else + { + _snwprintf(szLogOffItem, sizeof(szLogOffItem)/sizeof(szLogOffItem[0]), szTemp, L"n/a"); + } + + /* 3- Set the menu item text to its formatted counterpart */ + ModifyMenuW(hShutMenu, ID_SHUTDOWN_LOGOFF, MF_BYCOMMAND | MF_STRING, ID_SHUTDOWN_LOGOFF, szLogOffItem); + /* Setup update speed */ SetUpdateSpeed(hWnd); @@ -971,6 +1014,8 @@ void TaskManager_OnTabWndSelChange(void) RemoveMenu(hViewMenu, i, MF_BYPOSITION); } RemoveMenu(hOptionsMenu, 3, MF_BYPOSITION); + if (hWindowMenu) + DestroyMenu(hWindowMenu); switch (TaskManagerSettings.ActiveTabPage) { case 0: ShowWindow(hApplicationPage, SW_SHOW); @@ -988,10 +1033,10 @@ void TaskManager_OnTabWndSelChange(void) AppendMenuW(hViewMenu, MF_STRING, ID_VIEW_DETAILS, szTemp); if (GetMenuItemCount(hMenu) <= 5) { - hSubMenu = LoadMenuW(hInst, MAKEINTRESOURCEW(IDR_WINDOWSMENU)); + hWindowMenu = LoadMenuW(hInst, MAKEINTRESOURCEW(IDR_WINDOWSMENU)); LoadStringW(hInst, IDS_MENU_WINDOWS, szTemp, 256); - InsertMenuW(hMenu, 3, MF_BYPOSITION|MF_POPUP, (UINT_PTR) hSubMenu, szTemp); + InsertMenuW(hMenu, 3, MF_BYPOSITION|MF_POPUP, (UINT_PTR) hWindowMenu, szTemp); DrawMenuBar(hMainWnd); } @@ -1097,7 +1142,7 @@ LPWSTR GetLastErrorText(LPWSTR lpszBuf, DWORD dwSize) DWORD dwRet; LPWSTR lpszTemp = NULL; - dwRet = FormatMessageW( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |FORMAT_MESSAGE_ARGUMENT_ARRAY, + dwRet = FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ARGUMENT_ARRAY, NULL, GetLastError(), LANG_NEUTRAL, diff --git a/base/applications/winhlp32/hlpfile.c b/base/applications/winhlp32/hlpfile.c index 50710c0a30e..40da092638a 100644 --- a/base/applications/winhlp32/hlpfile.c +++ b/base/applications/winhlp32/hlpfile.c @@ -751,7 +751,7 @@ static BOOL HLPFILE_RtfAddHexBytes(struct RtfData* rd, const void* _ptr, unsigne static HLPFILE_LINK* HLPFILE_AllocLink(struct RtfData* rd, int cookie, const char* str, unsigned len, LONG hash, - unsigned clrChange, unsigned bHotSpot, unsigned wnd); + BOOL clrChange, BOOL bHotSpot, unsigned wnd); /****************************************************************** * HLPFILE_AddHotSpotLinks @@ -793,7 +793,7 @@ static void HLPFILE_AddHotSpotLinks(struct RtfData* rd, HLPFILE* file, { case 0xC8: hslink = (HLPFILE_HOTSPOTLINK*) - HLPFILE_AllocLink(rd, hlp_link_macro, str, -1, 0, 0, 1, -1); + HLPFILE_AllocLink(rd, hlp_link_macro, str, -1, 0, FALSE, TRUE, -1); break; case 0xE6: @@ -801,7 +801,7 @@ static void HLPFILE_AddHotSpotLinks(struct RtfData* rd, HLPFILE* file, hslink = (HLPFILE_HOTSPOTLINK*) HLPFILE_AllocLink(rd, (start[7 + 15 * i + 0] & 1) ? hlp_link_link : hlp_link_popup, file->lpszPath, -1, HLPFILE_Hash(str), - 0, 1, -1); + FALSE, TRUE, -1); break; case 0xEE: @@ -827,7 +827,7 @@ static void HLPFILE_AddHotSpotLinks(struct RtfData* rd, HLPFILE* file, } hslink = (HLPFILE_HOTSPOTLINK*) HLPFILE_AllocLink(rd, (start[7 + 15 * i + 0] & 1) ? hlp_link_link : hlp_link_popup, - file->lpszPath, -1, HLPFILE_Hash(tgt ? tgt : str), 0, 1, wnd); + file->lpszPath, -1, HLPFILE_Hash(tgt ? tgt : str), FALSE, TRUE, wnd); HeapFree(GetProcessHeap(), 0, tgt); break; } @@ -1150,7 +1150,7 @@ static BOOL HLPFILE_RtfAddGfxByIndex(struct RtfData* rd, HLPFILE *hlpfile, */ static HLPFILE_LINK* HLPFILE_AllocLink(struct RtfData* rd, int cookie, const char* str, unsigned len, LONG hash, - unsigned clrChange, unsigned bHotSpot, unsigned wnd) + BOOL clrChange, BOOL bHotSpot, unsigned wnd) { HLPFILE_LINK* link; char* link_str; @@ -1168,7 +1168,7 @@ static HLPFILE_LINK* HLPFILE_AllocLink(struct RtfData* rd, int cookie, memcpy(link_str, str, len); link_str[len] = '\0'; link->hash = hash; - link->bClrChange = clrChange ? 1 : 0; + link->bClrChange = clrChange; link->bHotSpot = bHotSpot; link->window = wnd; link->next = rd->first_link; @@ -1468,7 +1468,8 @@ static BOOL HLPFILE_BrowseParagraph(HLPFILE_PAGE* page, struct RtfData* rd, sprintf(tmp, "\\f%u\\cf%u\\fs%u%s%s%s%s", font, font + 2, fs, page->file->fonts[font].LogFont.lfWeight > 400 ? "\\b" : "\\b0", - page->file->fonts[font].LogFont.lfItalic ? "\\i" : "\\i0", page->file->fonts[font].LogFont.lfUnderline ? "\\ul" : "\\ul0", + page->file->fonts[font].LogFont.lfItalic ? "\\i" : "\\i0", + page->file->fonts[font].LogFont.lfUnderline ? "\\ul" : "\\ul0", page->file->fonts[font].LogFont.lfStrikeOut ? "\\strike" : "\\strike0"); if (!HLPFILE_RtfAddControl(rd, tmp)) goto done; } @@ -1586,7 +1587,7 @@ static BOOL HLPFILE_BrowseParagraph(HLPFILE_PAGE* page, struct RtfData* rd, case 0xCC: WINE_TRACE("macro => %s\n", format + 3); HLPFILE_AllocLink(rd, hlp_link_macro, (const char*)format + 3, - GET_USHORT(format, 1), 0, !(*format & 4), 0, -1); + GET_USHORT(format, 1), 0, !(*format & 4), FALSE, -1); format += 3 + GET_USHORT(format, 1); break; @@ -1594,7 +1595,7 @@ static BOOL HLPFILE_BrowseParagraph(HLPFILE_PAGE* page, struct RtfData* rd, case 0xE1: WINE_WARN("jump topic 1 => %u\n", GET_UINT(format, 1)); HLPFILE_AllocLink(rd, (*format & 1) ? hlp_link_link : hlp_link_popup, - page->file->lpszPath, -1, GET_UINT(format, 1), 1, 0, -1); + page->file->lpszPath, -1, GET_UINT(format, 1), TRUE, FALSE, -1); format += 5; @@ -1606,7 +1607,7 @@ static BOOL HLPFILE_BrowseParagraph(HLPFILE_PAGE* page, struct RtfData* rd, case 0xE7: HLPFILE_AllocLink(rd, (*format & 1) ? hlp_link_link : hlp_link_popup, page->file->lpszPath, -1, GET_UINT(format, 1), - !(*format & 4), 0, -1); + !(*format & 4), FALSE, -1); format += 5; break; @@ -1643,7 +1644,7 @@ static BOOL HLPFILE_BrowseParagraph(HLPFILE_PAGE* page, struct RtfData* rd, break; } HLPFILE_AllocLink(rd, (*format & 1) ? hlp_link_link : hlp_link_popup, - ptr, -1, GET_UINT(format, 4), !(*format & 4), 0, wnd); + ptr, -1, GET_UINT(format, 4), !(*format & 4), FALSE, wnd); } format += 3 + GET_USHORT(format, 1); break; @@ -1967,22 +1968,22 @@ static BOOL HLPFILE_SystemCommands(HLPFILE* hlpfile) if (minor <= 16) { hlpfile->tbsize = 0x800; - hlpfile->compressed = 0; + hlpfile->compressed = FALSE; } else if (flags == 0) { hlpfile->tbsize = 0x1000; - hlpfile->compressed = 0; + hlpfile->compressed = FALSE; } else if (flags == 4) { hlpfile->tbsize = 0x1000; - hlpfile->compressed = 1; + hlpfile->compressed = TRUE; } else { hlpfile->tbsize = 0x800; - hlpfile->compressed = 1; + hlpfile->compressed = TRUE; } if (hlpfile->compressed) diff --git a/base/applications/winhlp32/hlpfile.h b/base/applications/winhlp32/hlpfile.h index 6b2e28a4f37..c3fa4b001c8 100644 --- a/base/applications/winhlp32/hlpfile.h +++ b/base/applications/winhlp32/hlpfile.h @@ -124,9 +124,9 @@ typedef struct tagHlpFileFile unsigned short charset; unsigned short tbsize; /* topic block size */ unsigned short dsize; /* decompress size */ - unsigned short compressed; - unsigned hasPhrases; /* file has |Phrases */ - unsigned hasPhrases40; /* file has |PhrIndex/|PhrImage */ + BOOL compressed; + BOOL hasPhrases; /* file has |Phrases */ + BOOL hasPhrases40; /* file has |PhrIndex/|PhrImage */ UINT num_phrases; unsigned* phrases_offsets; char* phrases_buffer; diff --git a/base/applications/winhlp32/lang/Bg.rc b/base/applications/winhlp32/lang/Bg.rc index 089ae32134f..1f56e73cbc0 100644 --- a/base/applications/winhlp32/lang/Bg.rc +++ b/base/applications/winhlp32/lang/Bg.rc @@ -20,8 +20,6 @@ LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT -/* Menu */ - MAIN_MENU MENU { POPUP "&" { @@ -41,12 +39,6 @@ MAIN_MENU MENU MENUITEM "&...", MNID_BKMK_DEFINE } POPUP "&Options" { - POPUP "Help always visible" - BEGIN - MENUITEM "Default", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE - MENUITEM "Non visible", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "History", MNID_OPTS_HISTORY POPUP "Fonts" BEGIN @@ -54,17 +46,30 @@ MAIN_MENU MENU MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL MENUITEM "Large", MNID_OPTS_FONTS_LARGE END - MENUITEM "Use system colors", MNID_OPTS_SYSTEM_COLORS } POPUP "&" { MENUITEM " & ", MNID_HELP_HELPON MENUITEM " &", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&...", MNID_HELP_ABOUT } } -/* Strings */ +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Annotation...", MNID_CTXT_ANNOTATE + MENUITEM "Copy", MNID_CTXT_COPY + MENUITEM "Print...", MNID_CTXT_PRINT + POPUP "Fonts" + BEGIN + MENUITEM "Small", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Large", MNID_CTXT_FONTS_LARGE + END + END +END + STRINGTABLE { STID_WINE_HELP, "Wine " @@ -80,4 +85,21 @@ STID_ALL_FILES, " STID_HELP_FILES_HLP, " (*.hlp)" STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?" STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting" +STID_PSH_INDEX, "Help topics: " +} + +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Index" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Search" +{ + LTEXT "Not yet implemented", -1, 10, 10, 180, 150 } diff --git a/base/applications/winhlp32/lang/Cs.rc b/base/applications/winhlp32/lang/Cs.rc index 28f63ad81f7..7d2f97dcdbe 100644 --- a/base/applications/winhlp32/lang/Cs.rc +++ b/base/applications/winhlp32/lang/Cs.rc @@ -25,8 +25,6 @@ LANGUAGE LANG_CZECH, SUBLANG_DEFAULT /* Czech strings in CP1250 */ -/* Menu */ - MAIN_MENU MENU { POPUP "&Soubor" { @@ -46,12 +44,6 @@ MAIN_MENU MENU MENUITEM "Pi&dat...", MNID_BKMK_DEFINE } POPUP "&Options" { - POPUP "Help always visible" - BEGIN - MENUITEM "Default", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE - MENUITEM "Non visible", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "History", MNID_OPTS_HISTORY POPUP "Fonts" BEGIN @@ -59,17 +51,30 @@ MAIN_MENU MENU MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL MENUITEM "Large", MNID_OPTS_FONTS_LARGE END - MENUITEM "Use system colors", MNID_OPTS_SYSTEM_COLORS } POPUP "&Npovda" { MENUITEM "Np&ovda k npovd", MNID_HELP_HELPON MENUITEM "Vdy na &vrchu", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&Informace...", MNID_HELP_ABOUT } } -/* Strings */ +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Annotation...", MNID_CTXT_ANNOTATE + MENUITEM "Copy", MNID_CTXT_COPY + MENUITEM "Print...", MNID_CTXT_PRINT + POPUP "Fonts" + BEGIN + MENUITEM "Small", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Large", MNID_CTXT_FONTS_LARGE + END + END +END + STRINGTABLE { STID_WINE_HELP, "Npovda Wine" @@ -85,4 +90,21 @@ STID_ALL_FILES, "V STID_HELP_FILES_HLP, "Soubory npovdy (*.hlp)" STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?" STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting" +STID_PSH_INDEX, "Help topics: " +} + +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Index" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Search" +{ + LTEXT "Not yet implemented", -1, 10, 10, 180, 150 } diff --git a/base/applications/winhlp32/lang/Da.rc b/base/applications/winhlp32/lang/Da.rc index 2e5e0de158d..507c85b7b25 100644 --- a/base/applications/winhlp32/lang/Da.rc +++ b/base/applications/winhlp32/lang/Da.rc @@ -25,8 +25,6 @@ LANGUAGE LANG_DANISH, SUBLANG_DEFAULT -/* Menu */ - MAIN_MENU MENU { POPUP "&Filer" { @@ -46,12 +44,6 @@ MAIN_MENU MENU MENUITEM "&Definer...", MNID_BKMK_DEFINE } POPUP "&Options" { - POPUP "Help always visible" - BEGIN - MENUITEM "Default", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE - MENUITEM "Non visible", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "History", MNID_OPTS_HISTORY POPUP "Fonts" BEGIN @@ -59,16 +51,48 @@ MAIN_MENU MENU MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL MENUITEM "Large", MNID_OPTS_FONTS_LARGE END - MENUITEM "Use system colors", MNID_OPTS_SYSTEM_COLORS } POPUP "&Hjælp" { MENUITEM "&Brug af Hjælp", MNID_HELP_HELPON MENUITEM "Altid &øverst", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&Information...", MNID_HELP_ABOUT } } +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Notat...", MNID_CTXT_ANNOTATE + MENUITEM "Kopier", MNID_CTXT_COPY + MENUITEM "Udskriv...", MNID_CTXT_PRINT + POPUP "Skrifttype" + BEGIN + MENUITEM "Lille", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Stor", MNID_CTXT_FONTS_LARGE + END + END +END + +STRINGTABLE +{ +STID_WINE_HELP, "Wine Hjælp" +STID_WHERROR, "FEJL" +STID_WARNING, "ADVARSEL" +STID_INFO, "Information" +STID_NOT_IMPLEMENTED, "Ikke implementeret" +STID_HLPFILE_ERROR_s, "Fejl ved indlæsning af filen `%s'" +STID_INDEX, "&Indhold" +STID_CONTENTS, "Summary" +STID_BACK, "&Tilbage" +STID_ALL_FILES, "Alle filer (*.*)" +STID_HELP_FILES_HLP, "Hjælpe filer (*.hlp)" +STID_FILE_NOT_FOUND_s "Kan ikke finde '%s'. Vil du selv finde filen?" +STID_NO_RICHEDIT "Kan ikke finde en 'richedit' implementering... Afbryder" +STID_PSH_INDEX, "Help topics: " +} + IDD_INDEX DIALOG 0, 0, 200, 190 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" @@ -84,44 +108,3 @@ CAPTION "Søg" { LTEXT "Er ikke blevet implementeret endnu", -1, 10, 10, 180, 150 } - -/* Strings */ -STRINGTABLE -{ -STID_WINE_HELP, "Wine Hjælp" -STID_WHERROR, "FEJL" -STID_WARNING, "ADVARSEL" -STID_INFO, "Information" -STID_NOT_IMPLEMENTED, "Ikke implementeret" -STID_HLPFILE_ERROR_s, "Fejl ved indlæsning af filen `%s'" -STID_INDEX, "&Indhold" -STID_CONTENTS, "Summary" -STID_BACK, "&Tilbage" -STID_ALL_FILES, "Alle filer (*.*)" -STID_HELP_FILES_HLP, "Hjælpe filer (*.hlp)" -STID_FILE_NOT_FOUND_s "Kan ikke finde '%s'. Vil du selv finde filen?" -STID_NO_RICHEDIT "Kan ikke finde en 'richedit' implementering... Afbryder" -} - -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Notat...", MNID_CTXT_ANNOTATE - MENUITEM "Kopier", MNID_CTXT_COPY - MENUITEM "Udskriv...", MNID_CTXT_PRINT - POPUP "Skrifttype" - BEGIN - MENUITEM "Lille", MNID_CTXT_FONTS_SMALL - MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL - MENUITEM "Stor", MNID_CTXT_FONTS_LARGE - END - POPUP "Bevar Hjælp øverst" - BEGIN - MENUITEM "Standard", MNID_CTXT_HELP_DEFAULT - MENUITEM "Synlig", MNID_CTXT_HELP_VISIBLE - MENUITEM "Usynlig", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Benyt systemfarver", MNID_CTXT_SYSTEM_COLORS - END -END diff --git a/base/applications/winhlp32/lang/De.rc b/base/applications/winhlp32/lang/De.rc index e0576b18bb9..a61b0c43a84 100644 --- a/base/applications/winhlp32/lang/De.rc +++ b/base/applications/winhlp32/lang/De.rc @@ -19,11 +19,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL - #pragma code_page(65001) -/* Menu */ +LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL MAIN_MENU MENU { @@ -44,12 +42,6 @@ MAIN_MENU MENU MENUITEM "&Definieren...", MNID_BKMK_DEFINE } POPUP "&Optionen" { - POPUP "Hilfe ist immmer sichtbar" - BEGIN - MENUITEM "Standart", MNID_OPTS_HELP_DEFAULT - MENUITEM "Sichtbar", MNID_OPTS_HELP_VISIBLE - MENUITEM "Nicht sichtbar", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "Verlauf", MNID_OPTS_HISTORY POPUP "Textgröße" BEGIN @@ -57,33 +49,29 @@ MAIN_MENU MENU MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL MENUITEM "Groß", MNID_OPTS_FONTS_LARGE END - MENUITEM "Systemfarben verwenden", MNID_OPTS_SYSTEM_COLORS } POPUP "&Hilfe" { MENUITEM "&Hilfe benutzen", MNID_HELP_HELPON MENUITEM "Immer im &Vordergrund", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&Info...", MNID_HELP_ABOUT } } -IDD_INDEX DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Index" -{ - LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER -} - -IDD_SEARCH DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Suche" -{ - LTEXT "Noch nicht implementiert", -1, 10, 10, 180, 150 -} - -/* Strings */ +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Anmerken...", MNID_CTXT_ANNOTATE + MENUITEM "Kopieren", MNID_CTXT_COPY + MENUITEM "Drucken...", MNID_CTXT_PRINT + POPUP "Schriftgröße" + BEGIN + MENUITEM "Klein", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Groß", MNID_CTXT_FONTS_LARGE + END + END +END STRINGTABLE { @@ -103,25 +91,18 @@ STID_NO_RICHEDIT "Die Richedit Implementation konnte nicht gefunden werden... Br STID_PSH_INDEX, "Hilfethemen: " } -CONTEXT_MENU MENU -BEGIN -POPUP "" -BEGIN -MENUITEM "Anmerken...", MNID_CTXT_ANNOTATE -MENUITEM "Kopieren", MNID_CTXT_COPY -MENUITEM "Drucken...", MNID_CTXT_PRINT -POPUP "Schriftgröße" -BEGIN -MENUITEM "Klein", MNID_CTXT_FONTS_SMALL -MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL -MENUITEM "Groß", MNID_CTXT_FONTS_LARGE -END -POPUP "Hilfe immer sichtbar" -BEGIN -MENUITEM "Standard", MNID_CTXT_HELP_DEFAULT -MENUITEM "Sichtbar", MNID_CTXT_HELP_VISIBLE -MENUITEM "Nicht sichtbar", MNID_CTXT_HELP_NONVISIBLE -END -MENUITEM "Systemfarben verwenden", MNID_CTXT_SYSTEM_COLORS -END -END +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Index" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Suche" +{ + LTEXT "Noch nicht implementiert", -1, 10, 10, 180, 150 +} diff --git a/base/applications/winhlp32/lang/En.rc b/base/applications/winhlp32/lang/En.rc index 555bfda0f8b..37e9f86f5da 100644 --- a/base/applications/winhlp32/lang/En.rc +++ b/base/applications/winhlp32/lang/En.rc @@ -19,22 +19,20 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -/* Menu */ - LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT MAIN_MENU MENU { POPUP "&File" { - MENUITEM "&Open", MNID_FILE_OPEN + MENUITEM "&Open...", MNID_FILE_OPEN MENUITEM SEPARATOR - MENUITEM "&Print", MNID_FILE_PRINT + MENUITEM "&Print...", MNID_FILE_PRINT MENUITEM "Printer &setup...", MNID_FILE_SETUP MENUITEM SEPARATOR MENUITEM "E&xit", MNID_FILE_EXIT } POPUP "&Edit" { - MENUITEM "&Copy...", MNID_EDIT_COPYDLG + MENUITEM "&Copy", MNID_EDIT_COPYDLG MENUITEM SEPARATOR MENUITEM "&Annotate...", MNID_EDIT_ANNOTATE } @@ -42,12 +40,6 @@ MAIN_MENU MENU MENUITEM "&Define...", MNID_BKMK_DEFINE } POPUP "&Options" { - POPUP "Help always visible" - BEGIN - MENUITEM "Default", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE - MENUITEM "Non visible", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "History", MNID_OPTS_HISTORY POPUP "Fonts" BEGIN @@ -55,62 +47,48 @@ MAIN_MENU MENU MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL MENUITEM "Large", MNID_OPTS_FONTS_LARGE END - MENUITEM "Use system colors", MNID_OPTS_SYSTEM_COLORS } POPUP "&Help" { - MENUITEM "Help &on help", MNID_HELP_HELPON + MENUITEM "&Help on help\tF1", MNID_HELP_HELPON MENUITEM "Always on &top", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&About Wine Help", MNID_HELP_ABOUT } } -LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Annotation...", MNID_CTXT_ANNOTATE + MENUITEM "Copy", MNID_CTXT_COPY + MENUITEM "Print...", MNID_CTXT_PRINT + POPUP "Fonts" + BEGIN + MENUITEM "Small", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Large", MNID_CTXT_FONTS_LARGE + END + END +END -MAIN_MENU MENU +STRINGTABLE { - POPUP "&File" { - MENUITEM "&Open", MNID_FILE_OPEN - MENUITEM SEPARATOR - MENUITEM "&Print", MNID_FILE_PRINT - MENUITEM "Printer &setup...", MNID_FILE_SETUP - MENUITEM SEPARATOR - MENUITEM "E&xit", MNID_FILE_EXIT - } - POPUP "&Edit" { - MENUITEM "&Copy...", MNID_EDIT_COPYDLG - MENUITEM SEPARATOR - MENUITEM "&Annotate...", MNID_EDIT_ANNOTATE - } - POPUP "&Bookmark" { - MENUITEM "&Define...", MNID_BKMK_DEFINE - } - POPUP "&Options" { - POPUP "Help always visible" - BEGIN - MENUITEM "Default", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE - MENUITEM "Non visible", MNID_OPTS_HELP_NONVISIBLE - END - MENUITEM "History", MNID_OPTS_HISTORY - POPUP "Fonts" - BEGIN - MENUITEM "Small", MNID_OPTS_FONTS_SMALL - MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL - MENUITEM "Large", MNID_OPTS_FONTS_LARGE - END - MENUITEM "Use system colours", MNID_OPTS_SYSTEM_COLORS - } - POPUP "&Help" { - MENUITEM "Help &on help", MNID_HELP_HELPON - MENUITEM "Always on &top", MNID_HELP_HELPTOP - MENUITEM SEPARATOR - MENUITEM "&About Wine Help", MNID_HELP_ABOUT - } +STID_WINE_HELP, "Wine Help" +STID_WHERROR, "ERROR" +STID_WARNING, "WARNING" +STID_INFO, "Information" +STID_NOT_IMPLEMENTED, "Not yet implemented" +STID_HLPFILE_ERROR_s, "Error while reading the help file `%s'" +STID_INDEX, "&Index" +STID_CONTENTS, "Summary" +STID_BACK, "&Back" +STID_ALL_FILES, "All files (*.*)" +STID_HELP_FILES_HLP, "Help files (*.hlp)" +STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?" +STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting" +STID_PSH_INDEX, "Help topics: " } -LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT - IDD_INDEX DIALOG 0, 0, 200, 190 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" @@ -124,72 +102,5 @@ STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" CAPTION "Search" { - LTEXT "Not implemented yet", -1, 10, 10, 180, 150 + LTEXT "Not yet implemented", -1, 10, 10, 180, 150 } - -/* Strings */ -STRINGTABLE -{ -STID_WINE_HELP, "Wine Help" -STID_WHERROR, "ERROR" -STID_WARNING, "WARNING" -STID_INFO, "Information" -STID_NOT_IMPLEMENTED, "Not implemented" -STID_HLPFILE_ERROR_s, "Error while reading the help file `%s'" -STID_INDEX, "&Index" -STID_CONTENTS, "Summary" -STID_BACK, "&Back" -STID_ALL_FILES, "All files (*.*)" -STID_HELP_FILES_HLP, "Help files (*.hlp)" -STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?" -STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting" -STID_PSH_INDEX, "Help topics: " -} - -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Annotation...", MNID_CTXT_ANNOTATE - MENUITEM "Copy", MNID_CTXT_COPY - MENUITEM "Print...", MNID_CTXT_PRINT - POPUP "Fonts" - BEGIN - MENUITEM "Small", MNID_CTXT_FONTS_SMALL - MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL - MENUITEM "Large", MNID_CTXT_FONTS_LARGE - END - POPUP "Help always visible" - BEGIN - MENUITEM "Default", MNID_CTXT_HELP_DEFAULT - MENUITEM "Visible", MNID_CTXT_HELP_VISIBLE - MENUITEM "Non visible", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Use system colors", MNID_CTXT_SYSTEM_COLORS - END -END - -LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL - -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Annotation...", MNID_CTXT_ANNOTATE - MENUITEM "Copy", MNID_CTXT_COPY - MENUITEM "Print...", MNID_CTXT_PRINT - POPUP "Fonts" - BEGIN - MENUITEM "Small", MNID_CTXT_FONTS_SMALL - MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL - MENUITEM "Large", MNID_CTXT_FONTS_LARGE - END - POPUP "Help always visible" - BEGIN - MENUITEM "Default", MNID_CTXT_HELP_DEFAULT - MENUITEM "Visible", MNID_CTXT_HELP_VISIBLE - MENUITEM "Non visible", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Use system colours", MNID_CTXT_SYSTEM_COLORS - END -END diff --git a/base/applications/winhlp32/lang/Es.rc b/base/applications/winhlp32/lang/Es.rc index 7b6a3089114..20a5ceb325c 100644 --- a/base/applications/winhlp32/lang/Es.rc +++ b/base/applications/winhlp32/lang/Es.rc @@ -3,7 +3,8 @@ * * Copyright 1996 Ulrich Schmid * Copyright 2002 Sylvain Petreolle - * Copyright 2003, 2004 Jos Manuel Ferrer Ortiz + * Copyright 2003, 2004 José Manuel Ferrer Ortiz + * Copyright 2014 Ismael Ferreras Morezuelas * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -22,54 +23,78 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL -/* Menu */ - MAIN_MENU MENU { POPUP "&Archivo" { MENUITEM "A&brir...", MNID_FILE_OPEN MENUITEM SEPARATOR MENUITEM "&Imprimir", MNID_FILE_PRINT - MENUITEM "&Configuracin impresora...", MNID_FILE_SETUP + MENUITEM "&Ajustes de impresión...", MNID_FILE_SETUP MENUITEM SEPARATOR - MENUITEM "&Salir", MNID_FILE_EXIT + MENUITEM "&Salir", MNID_FILE_EXIT } POPUP "&Editar" { - MENUITEM "&Copiar...", MNID_EDIT_COPYDLG + MENUITEM "&Copiar...", MNID_EDIT_COPYDLG MENUITEM SEPARATOR - MENUITEM "&Anotar...", MNID_EDIT_ANNOTATE + MENUITEM "&Anotar...", MNID_EDIT_ANNOTATE } POPUP "&Marcador" { - MENUITEM "&Definir...", MNID_BKMK_DEFINE + MENUITEM "&Definir...", MNID_BKMK_DEFINE } POPUP "&Opciones" { - POPUP "Ayuda siempre visible" - BEGIN - MENUITEM "Por defecto", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE - MENUITEM "No visible", MNID_OPTS_HELP_NONVISIBLE - END - MENUITEM "Historial", MNID_OPTS_HISTORY - POPUP "Fuentes" + MENUITEM "Historial", MNID_OPTS_HISTORY + POPUP "Tamaño de letra" BEGIN - MENUITEM "Pequea", MNID_OPTS_FONTS_SMALL - MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL - MENUITEM "Grande", MNID_OPTS_FONTS_LARGE + MENUITEM "Pequeña", MNID_OPTS_FONTS_SMALL + MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL + MENUITEM "Grande", MNID_OPTS_FONTS_LARGE END - MENUITEM "Usar colores del sistema", MNID_OPTS_SYSTEM_COLORS } POPUP "A&yuda" { - MENUITEM "&Ayuda sobre la ayuda", MNID_HELP_HELPON - MENUITEM "&Siempre visible", MNID_HELP_HELPTOP - MENUITEM SEPARATOR - MENUITEM "&Info...", MNID_HELP_ABOUT + MENUITEM "&Ayuda sobre la ayuda", MNID_HELP_HELPON + MENUITEM "&Siempre visible", MNID_HELP_HELPTOP + MENUITEM "&Acerca de la Ayuda de Wine...", MNID_HELP_ABOUT } } +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Anotar...", MNID_CTXT_ANNOTATE + MENUITEM "Copiar", MNID_CTXT_COPY + MENUITEM "Imprimir...", MNID_CTXT_PRINT + POPUP "Tamaño de letra" + BEGIN + MENUITEM "Pequeña", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Grande", MNID_CTXT_FONTS_LARGE + END + END +END + +STRINGTABLE +{ +STID_WINE_HELP, "Ayuda de Wine" +STID_WHERROR, "ERROR" +STID_WARNING, "ADVERTENCIA" +STID_INFO, "Información" +STID_NOT_IMPLEMENTED, "Aún no implementado" +STID_HLPFILE_ERROR_s, "Error al leer el archivo de ayuda `%s'" +STID_INDEX, "&Índice" +STID_CONTENTS, "Resumen" +STID_BACK, "&Anterior" +STID_ALL_FILES, "Todos los archivos (*.*)" +STID_HELP_FILES_HLP, "Archivos de ayuda (*.hlp)" +STID_FILE_NOT_FOUND_s "No se pudo encontrar '%s'. ¿Desea buscar este archivo por sí mismo?" +STID_NO_RICHEDIT "No se pudo encontrar una implementación de RichEdit... Cancelando." +STID_PSH_INDEX, "Temas de ayuda: " +} + IDD_INDEX DIALOG 0, 0, 200, 190 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" -CAPTION "ndice" +CAPTION "Índice" { LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER } @@ -79,24 +104,5 @@ STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" CAPTION "Buscar" { - LTEXT "An no implementado", -1, 10, 10, 180, 150 -} - -/* Strings */ -STRINGTABLE -{ -STID_WINE_HELP, "Ayuda de Wine" -STID_WHERROR, "ERROR" -STID_WARNING, "ADVERTENCIA" -STID_INFO, "Informacin" -STID_NOT_IMPLEMENTED, "An no implementado" -STID_HLPFILE_ERROR_s, "Error al leer el archivo de ayuda `%s'" -STID_INDEX, "&ndice" -STID_CONTENTS, "Resumen" -STID_BACK, "&Anterior" -STID_ALL_FILES, "Todos los archivos (*.*)" -STID_HELP_FILES_HLP, "Archivos de ayuda (*.hlp)" -STID_FILE_NOT_FOUND_s "No se pudo encontrar '%s'. Desea buscar este archivo usted mismo?" -STID_NO_RICHEDIT "No se pudo encontrar una implementacin de richedit... Abortando" -STID_PSH_INDEX, "Temas de ayuda: " + LTEXT "Aún no implementado", -1, 10, 10, 180, 150 } diff --git a/base/applications/winhlp32/lang/Fi.rc b/base/applications/winhlp32/lang/Fi.rc index 98238d214ed..322c7159575 100644 --- a/base/applications/winhlp32/lang/Fi.rc +++ b/base/applications/winhlp32/lang/Fi.rc @@ -22,8 +22,6 @@ LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT -/* Menu */ - MAIN_MENU MENU { POPUP "&Tiedosto" { @@ -43,12 +41,6 @@ MAIN_MENU MENU MENUITEM "&Aseta...", MNID_BKMK_DEFINE } POPUP "&Options" { - POPUP "Help always visible" - BEGIN - MENUITEM "Default", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE - MENUITEM "Non visible", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "History", MNID_OPTS_HISTORY POPUP "Fonts" BEGIN @@ -56,17 +48,29 @@ MAIN_MENU MENU MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL MENUITEM "Large", MNID_OPTS_FONTS_LARGE END - MENUITEM "Use system colors", MNID_OPTS_SYSTEM_COLORS } POPUP "&Ohje" { MENUITEM "&Ohjeen kytt", MNID_HELP_HELPON MENUITEM "&Aina pllimmisen", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "T&ietoja...", MNID_HELP_ABOUT } } -/* Strings */ +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Annotation...", MNID_CTXT_ANNOTATE + MENUITEM "Copy", MNID_CTXT_COPY + MENUITEM "Print...", MNID_CTXT_PRINT + POPUP "Fonts" + BEGIN + MENUITEM "Small", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Large", MNID_CTXT_FONTS_LARGE + END + END +END STRINGTABLE { @@ -83,4 +87,21 @@ STID_ALL_FILES, "Kaikki tiedostot (*.*)" STID_HELP_FILES_HLP, "Ohjetiedostot (*.hlp)" STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?" STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting" +STID_PSH_INDEX, "Help topics: " +} + +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Index" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Search" +{ + LTEXT "Not yet implemented", -1, 10, 10, 180, 150 } diff --git a/base/applications/winhlp32/lang/Fr.rc b/base/applications/winhlp32/lang/Fr.rc index 3977a3b4b3d..94e8e6692f0 100644 --- a/base/applications/winhlp32/lang/Fr.rc +++ b/base/applications/winhlp32/lang/Fr.rc @@ -20,13 +20,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL - /* UTF-8 */ #pragma code_page(65001) -/* Menu */ - LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL MAIN_MENU MENU @@ -48,12 +44,6 @@ MAIN_MENU MENU MENUITEM "&Définir...", MNID_BKMK_DEFINE } POPUP "&Options" { - POPUP "Aide toujours visible" - BEGIN - MENUITEM "Par défaut", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE - MENUITEM "Non visible", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "Historique", MNID_OPTS_HISTORY POPUP "Polices" BEGIN @@ -61,33 +51,30 @@ MAIN_MENU MENU MENUITEM "Normale", MNID_OPTS_FONTS_NORMAL MENUITEM "Grande", MNID_OPTS_FONTS_LARGE END - MENUITEM "Utiliser les couleurs système", MNID_OPTS_SYSTEM_COLORS -} + } POPUP "Aid&e" { MENUITEM "&Utiliser l'aide", MNID_HELP_HELPON MENUITEM "&Toujours visible", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&A propos de l'Aide de Wine", MNID_HELP_ABOUT } } -IDD_INDEX DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Index" -{ - LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER -} +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Annotation...", MNID_CTXT_ANNOTATE + MENUITEM "Copier", MNID_CTXT_COPY + MENUITEM "Imprimer la rubrique...", MNID_CTXT_PRINT + POPUP "Polices" + BEGIN + MENUITEM "Petite", MNID_CTXT_FONTS_SMALL + MENUITEM "Normale", MNID_CTXT_FONTS_NORMAL + MENUITEM "Grande", MNID_CTXT_FONTS_LARGE + END + END +END -IDD_SEARCH DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Recherche" -{ - LTEXT "Pas encore implémenté", -1, 10, 10, 180, 150 -} - -/* Strings */ STRINGTABLE { STID_WINE_HELP, "Aide de Wine" @@ -106,25 +93,18 @@ STID_NO_RICHEDIT "La bibliothèque RichEdit n'a pu être localisée... Abandon" STID_PSH_INDEX, "Rubriques d'aide : " } -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Annotation...", MNID_CTXT_ANNOTATE - MENUITEM "Copier", MNID_CTXT_COPY - MENUITEM "Imprimer la rubrique...", MNID_CTXT_PRINT - POPUP "Polices" - BEGIN - MENUITEM "Petite", MNID_CTXT_FONTS_SMALL - MENUITEM "Normale", MNID_CTXT_FONTS_NORMAL - MENUITEM "Grande", MNID_CTXT_FONTS_LARGE - END - POPUP "Aide toujours visible" - BEGIN - MENUITEM "Par défaut", MNID_CTXT_HELP_DEFAULT - MENUITEM "Visible", MNID_CTXT_HELP_VISIBLE - MENUITEM "Non visible", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Utiliser les couleurs système", MNID_CTXT_SYSTEM_COLORS - END -END +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Index" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Recherche" +{ + LTEXT "Pas encore implémenté", -1, 10, 10, 180, 150 +} diff --git a/base/applications/winhlp32/lang/He.rc b/base/applications/winhlp32/lang/He.rc index c3d89381f03..4835e528a82 100644 --- a/base/applications/winhlp32/lang/He.rc +++ b/base/applications/winhlp32/lang/He.rc @@ -22,8 +22,6 @@ #pragma code_page(65001) -/* Menu */ - LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT MAIN_MENU MENU @@ -45,12 +43,6 @@ MAIN_MENU MENU MENUITEM "ה&גדרה...", MNID_BKMK_DEFINE } POPUP "&אפשרויות" { - POPUP "העזרה גלויה תמיד" - BEGIN - MENUITEM "בררת מחדל", MNID_OPTS_HELP_DEFAULT - MENUITEM "גלויה", MNID_OPTS_HELP_VISIBLE - MENUITEM "מוסתרת", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "היסטוריה", MNID_OPTS_HISTORY POPUP "גופנים" BEGIN @@ -58,16 +50,48 @@ MAIN_MENU MENU MENUITEM "רגילים", MNID_OPTS_FONTS_NORMAL MENUITEM "גדולים", MNID_OPTS_FONTS_LARGE END - MENUITEM "שימוש בצבעי המערכת", MNID_OPTS_SYSTEM_COLORS } POPUP "ע&זרה" { MENUITEM "עזרה ע&ל העזרה", MNID_HELP_HELPON MENUITEM "תמיד &עליון", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&מידע...", MNID_HELP_ABOUT } } +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "הערות...", MNID_CTXT_ANNOTATE + MENUITEM "העתקה", MNID_CTXT_COPY + MENUITEM "הדפסה...", MNID_CTXT_PRINT + POPUP "גופנים" + BEGIN + MENUITEM "קטנים", MNID_CTXT_FONTS_SMALL + MENUITEM "רגילים", MNID_CTXT_FONTS_NORMAL + MENUITEM "גדולים", MNID_CTXT_FONTS_LARGE + END + END +END + +STRINGTABLE +{ +STID_WINE_HELP, "העזרה של Wine" +STID_WHERROR, "שגיאה" +STID_WARNING, "אזהרה" +STID_INFO, "מידע" +STID_NOT_IMPLEMENTED, "לא מוטמע" +STID_HLPFILE_ERROR_s, "אירעה שגיאה בעת קריאת קובץ העזרה `%s'" +STID_INDEX, "מ&פתח" +STID_CONTENTS, "תקציר" +STID_BACK, "&חזרה" +STID_ALL_FILES, "כל הקבצים (*.*)" +STID_HELP_FILES_HLP, "קובצי עזרה (*.hlp)" +STID_FILE_NOT_FOUND_s "לא ניתן למצוא את '%s'. האם ברצונך למצוא קובץ זה בעצמך?" +STID_NO_RICHEDIT "לא ניתן למצוא יישום של richedit... התכנית תצא" +STID_PSH_INDEX, "נושאי העזרה: " +} + IDD_INDEX DIALOG 0, 0, 200, 190 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_LAYOUTRTL @@ -85,45 +109,3 @@ CAPTION "חיפוש" { LTEXT "לא מוטמע עדיין", -1, 10, 10, 180, 150 } - -/* Strings */ -STRINGTABLE -{ -STID_WINE_HELP, "העזרה של Wine" -STID_WHERROR, "שגיאה" -STID_WARNING, "אזהרה" -STID_INFO, "מידע" -STID_NOT_IMPLEMENTED, "לא מוטמע" -STID_HLPFILE_ERROR_s, "אירעה שגיאה בעת קריאת קובץ העזרה `%s'" -STID_INDEX, "מ&פתח" -STID_CONTENTS, "תקציר" -STID_BACK, "&חזרה" -STID_ALL_FILES, "כל הקבצים (*.*)" -STID_HELP_FILES_HLP, "קובצי עזרה (*.hlp)" -STID_FILE_NOT_FOUND_s "לא ניתן למצוא את '%s'. האם ברצונך למצוא קובץ זה בעצמך?" -STID_NO_RICHEDIT "לא ניתן למצוא יישום של richedit... התכנית תצא" -STID_PSH_INDEX, "נושאי העזרה: " -} - -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "הערות...", MNID_CTXT_ANNOTATE - MENUITEM "העתקה", MNID_CTXT_COPY - MENUITEM "הדפסה...", MNID_CTXT_PRINT - POPUP "גופנים" - BEGIN - MENUITEM "קטנים", MNID_CTXT_FONTS_SMALL - MENUITEM "רגילים", MNID_CTXT_FONTS_NORMAL - MENUITEM "גדולים", MNID_CTXT_FONTS_LARGE - END - POPUP "העזרה תמיד זמינה" - BEGIN - MENUITEM "בררת מחדל", MNID_CTXT_HELP_DEFAULT - MENUITEM "גלויה", MNID_CTXT_HELP_VISIBLE - MENUITEM "מוסתרת", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "שימוש בצבעי המערכת", MNID_CTXT_SYSTEM_COLORS - END -END diff --git a/base/applications/winhlp32/lang/Hu.rc b/base/applications/winhlp32/lang/Hu.rc index 07b0f6ccce0..38430ebe739 100644 --- a/base/applications/winhlp32/lang/Hu.rc +++ b/base/applications/winhlp32/lang/Hu.rc @@ -22,8 +22,6 @@ LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT -/* Menu */ - MAIN_MENU MENU { POPUP "&Fjl" { @@ -43,12 +41,6 @@ MAIN_MENU MENU MENUITEM "&Definils...", MNID_BKMK_DEFINE } POPUP "&Options" { - POPUP "Help always visible" - BEGIN - MENUITEM "Default", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE - MENUITEM "Non visible", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "History", MNID_OPTS_HISTORY POPUP "Fonts" BEGIN @@ -56,17 +48,29 @@ MAIN_MENU MENU MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL MENUITEM "Large", MNID_OPTS_FONTS_LARGE END - MENUITEM "Use system colors", MNID_OPTS_SYSTEM_COLORS } POPUP "&Sg" { MENUITEM "&Hasznlat", MNID_HELP_HELPON MENUITEM "Mindig &legfell", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&Informci...", MNID_HELP_ABOUT } } -/* Strings */ +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Annotation...", MNID_CTXT_ANNOTATE + MENUITEM "Copy", MNID_CTXT_COPY + MENUITEM "Print...", MNID_CTXT_PRINT + POPUP "Fonts" + BEGIN + MENUITEM "Small", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Large", MNID_CTXT_FONTS_LARGE + END + END +END STRINGTABLE { @@ -83,4 +87,21 @@ STID_ALL_FILES, "Minden f STID_HELP_FILES_HLP, "Sg fjlok (*.hlp)" STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?" STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting" +STID_PSH_INDEX, "Help topics: " +} + +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Index" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Search" +{ + LTEXT "Not yet implemented", -1, 10, 10, 180, 150 } diff --git a/base/applications/winhlp32/lang/It.rc b/base/applications/winhlp32/lang/It.rc index e10c91c73fa..b2038fc25c6 100644 --- a/base/applications/winhlp32/lang/It.rc +++ b/base/applications/winhlp32/lang/It.rc @@ -24,8 +24,6 @@ LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL -/* Menu */ - MAIN_MENU MENU { POPUP "&File" { @@ -45,12 +43,6 @@ MAIN_MENU MENU MENUITEM "&Definisci...", MNID_BKMK_DEFINE } POPUP "&Opzioni" { - POPUP "Aiuto sempre visibile" - BEGIN - MENUITEM "Predefinito", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visibile", MNID_OPTS_HELP_VISIBLE - MENUITEM "Non visibile", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "Cronologia", MNID_OPTS_HISTORY POPUP "Caratteri" BEGIN @@ -58,33 +50,30 @@ MAIN_MENU MENU MENUITEM "Normali", MNID_OPTS_FONTS_NORMAL MENUITEM "Grandi", MNID_OPTS_FONTS_LARGE END - MENUITEM "Usa i colori di sistema", MNID_OPTS_SYSTEM_COLORS } POPUP "&Aiuto" { MENUITEM "&Aiuto sulla guida", MNID_HELP_HELPON MENUITEM "Sempre in primo &piano", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&Informazioni su...", MNID_HELP_ABOUT } } -IDD_INDEX DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Indice" -{ - LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER -} +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Annotazione...", MNID_CTXT_ANNOTATE + MENUITEM "Copia", MNID_CTXT_COPY + MENUITEM "Stampa...", MNID_CTXT_PRINT + POPUP "Caratteri" + BEGIN + MENUITEM "Piccoli", MNID_CTXT_FONTS_SMALL + MENUITEM "Normali", MNID_CTXT_FONTS_NORMAL + MENUITEM "Grandi", MNID_CTXT_FONTS_LARGE + END + END +END -IDD_SEARCH DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Cerca" -{ - LTEXT "Non implementato.", -1, 10, 10, 180, 150 -} - -/* Strings */ STRINGTABLE { STID_WINE_HELP, "Guida di Wine" @@ -103,25 +92,18 @@ STID_NO_RICHEDIT "Non è stato possibile trovare un'implementazione richedit... STID_PSH_INDEX, "Argomenti di aiuto: " } -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Annotazione...", MNID_CTXT_ANNOTATE - MENUITEM "Copia", MNID_CTXT_COPY - MENUITEM "Stampa...", MNID_CTXT_PRINT - POPUP "Caratteri" - BEGIN - MENUITEM "Piccoli", MNID_CTXT_FONTS_SMALL - MENUITEM "Normali", MNID_CTXT_FONTS_NORMAL - MENUITEM "Grandi", MNID_CTXT_FONTS_LARGE - END - POPUP "Aiuto sempre visibile" - BEGIN - MENUITEM "Predefinito", MNID_CTXT_HELP_DEFAULT - MENUITEM "Visibile", MNID_CTXT_HELP_VISIBLE - MENUITEM "Non visibile", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Usa i colori di sistema", MNID_CTXT_SYSTEM_COLORS - END -END +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Indice" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Cerca" +{ + LTEXT "Non implementato.", -1, 10, 10, 180, 150 +} diff --git a/base/applications/winhlp32/lang/Ja.rc b/base/applications/winhlp32/lang/Ja.rc index aeb0da7b6cc..47205ad654c 100644 --- a/base/applications/winhlp32/lang/Ja.rc +++ b/base/applications/winhlp32/lang/Ja.rc @@ -19,12 +19,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT - /* UTF-8 */ #pragma code_page(65001) -/* Menu */ +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT MAIN_MENU MENU { @@ -45,12 +43,6 @@ MAIN_MENU MENU MENUITEM "定義(&D)...", MNID_BKMK_DEFINE } POPUP "オプション(&O)" { - POPUP "Help always visible" - BEGIN - MENUITEM "Default", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE - MENUITEM "Non visible", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "履歴", MNID_OPTS_HISTORY POPUP "フォント" BEGIN @@ -58,33 +50,30 @@ MAIN_MENU MENU MENUITEM "標準", MNID_OPTS_FONTS_NORMAL MENUITEM "大", MNID_OPTS_FONTS_LARGE END - MENUITEM "システム カラーを使う", MNID_OPTS_SYSTEM_COLORS } POPUP "ヘルプ(&H)" { MENUITEM "ヘルプについてのヘルプ(&O)", MNID_HELP_HELPON MENUITEM "常に手前に表示(&T)", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "情報(&I)...", MNID_HELP_ABOUT } } -IDD_INDEX DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 9, "MS Shell Dlg" -CAPTION "索引" -{ - LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER -} +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "コメント...", MNID_CTXT_ANNOTATE + MENUITEM "コピー", MNID_CTXT_COPY + MENUITEM "印刷...", MNID_CTXT_PRINT + POPUP "フォント" + BEGIN + MENUITEM "小", MNID_CTXT_FONTS_SMALL + MENUITEM "標準", MNID_CTXT_FONTS_NORMAL + MENUITEM "大", MNID_CTXT_FONTS_LARGE + END + END +END -IDD_SEARCH DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 9, "MS Shell Dlg" -CAPTION "検索" -{ - LTEXT "未実装", -1, 10, 10, 180, 150 -} - -/* Strings */ STRINGTABLE { STID_WINE_HELP, "Wine ヘルプ" @@ -103,25 +92,18 @@ STID_NO_RICHEDIT "リッチエディット実装が見つかりません... 終 STID_PSH_INDEX, "ヘルプ トピック: " } -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "コメント...", MNID_CTXT_ANNOTATE - MENUITEM "コピー", MNID_CTXT_COPY - MENUITEM "印刷...", MNID_CTXT_PRINT - POPUP "フォント" - BEGIN - MENUITEM "小", MNID_CTXT_FONTS_SMALL - MENUITEM "標準", MNID_CTXT_FONTS_NORMAL - MENUITEM "大", MNID_CTXT_FONTS_LARGE - END - POPUP "Help always visible" - BEGIN - MENUITEM "Default", MNID_CTXT_HELP_DEFAULT - MENUITEM "Visible", MNID_CTXT_HELP_VISIBLE - MENUITEM "Non visible", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "システム カラーを使う", MNID_CTXT_SYSTEM_COLORS - END -END +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 9, "MS Shell Dlg" +CAPTION "索引" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 9, "MS Shell Dlg" +CAPTION "検索" +{ + LTEXT "未実装", -1, 10, 10, 180, 150 +} diff --git a/base/applications/winhlp32/lang/Ko.rc b/base/applications/winhlp32/lang/Ko.rc index 37df48a213d..87a0b35fa62 100644 --- a/base/applications/winhlp32/lang/Ko.rc +++ b/base/applications/winhlp32/lang/Ko.rc @@ -23,8 +23,6 @@ LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT -/* Menu */ - MAIN_MENU MENU { POPUP "파일(&F)" { @@ -44,12 +42,6 @@ MAIN_MENU MENU MENUITEM "정의(&D)...", MNID_BKMK_DEFINE } POPUP "옵션(&O)" { - POPUP "가능한 도움말 보이기" - BEGIN - MENUITEM "기본", MNID_OPTS_HELP_DEFAULT - MENUITEM "보이기", MNID_OPTS_HELP_VISIBLE - MENUITEM "보여주지 않기", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "기록", MNID_OPTS_HISTORY POPUP "글꼴" BEGIN @@ -57,34 +49,29 @@ MAIN_MENU MENU MENUITEM "보통", MNID_OPTS_FONTS_NORMAL MENUITEM "크게", MNID_OPTS_FONTS_LARGE END - MENUITEM "시스템 색상 사용", MNID_OPTS_SYSTEM_COLORS } POPUP "도움말(&H)" { MENUITEM "도움말 사용법(&O)", MNID_HELP_HELPON MENUITEM "항상 위(&T)", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "Wine 도움말 정보(&I)...", MNID_HELP_ABOUT } } - -IDD_INDEX DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 9, "MS Shell Dlg" -CAPTION "인덱스" -{ - LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER -} - -IDD_SEARCH DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 9, "MS Shell Dlg" -CAPTION "찾기" -{ - LTEXT "아직 구현되지 않음", -1, 10, 10, 180, 150 -} - -/* Strings */ +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "주석...", MNID_CTXT_ANNOTATE + MENUITEM "복사", MNID_CTXT_COPY + MENUITEM "인쇄...", MNID_CTXT_PRINT + POPUP "글꼴" + BEGIN + MENUITEM "좁게", MNID_CTXT_FONTS_SMALL + MENUITEM "보통", MNID_CTXT_FONTS_NORMAL + MENUITEM "넓게", MNID_CTXT_FONTS_LARGE + END + END +END STRINGTABLE { @@ -104,25 +91,18 @@ STID_NO_RICHEDIT "richedit 구현을 찾을수 업습니다.. 취소중" STID_PSH_INDEX, "도움말 목차: " } -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "주석...", MNID_CTXT_ANNOTATE - MENUITEM "복사", MNID_CTXT_COPY - MENUITEM "인쇄...", MNID_CTXT_PRINT - POPUP "글꼴" - BEGIN - MENUITEM "좁게", MNID_CTXT_FONTS_SMALL - MENUITEM "보통", MNID_CTXT_FONTS_NORMAL - MENUITEM "넓게", MNID_CTXT_FONTS_LARGE - END - POPUP "도움말 항상 보이기" - BEGIN - MENUITEM "기본", MNID_CTXT_HELP_DEFAULT - MENUITEM "보이기", MNID_CTXT_HELP_VISIBLE - MENUITEM "안 보이기", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "시스템 색상 사용", MNID_CTXT_SYSTEM_COLORS - END -END +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 9, "MS Shell Dlg" +CAPTION "인덱스" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 9, "MS Shell Dlg" +CAPTION "찾기" +{ + LTEXT "아직 구현되지 않음", -1, 10, 10, 180, 150 +} diff --git a/base/applications/winhlp32/lang/Lt.rc b/base/applications/winhlp32/lang/Lt.rc index bfcd27fed21..ead577706d0 100644 --- a/base/applications/winhlp32/lang/Lt.rc +++ b/base/applications/winhlp32/lang/Lt.rc @@ -23,50 +23,74 @@ LANGUAGE LANG_LITHUANIAN, SUBLANG_NEUTRAL -/* Menu */ - MAIN_MENU MENU { POPUP "&Failas" { - MENUITEM "&Atverti", MNID_FILE_OPEN + MENUITEM "&Atverti", MNID_FILE_OPEN + MENUITEM SEPARATOR + MENUITEM "&Spausdinti", MNID_FILE_PRINT + MENUITEM "Spaus&dintuvo nuostatos...", MNID_FILE_SETUP MENUITEM SEPARATOR - MENUITEM "&Spausdinti", MNID_FILE_PRINT - MENUITEM "Spaus&dintuvo nuostatos...", MNID_FILE_SETUP - MENUITEM SEPARATOR - MENUITEM "Iš&eiti", MNID_FILE_EXIT + MENUITEM "Iš&eiti", MNID_FILE_EXIT } POPUP "&Taisa" { - MENUITEM "&Kopijuoti...", MNID_EDIT_COPYDLG + MENUITEM "&Kopijuoti...", MNID_EDIT_COPYDLG MENUITEM SEPARATOR - MENUITEM "Ko&mentuoti...", MNID_EDIT_ANNOTATE + MENUITEM "Ko&mentuoti...", MNID_EDIT_ANNOTATE } POPUP "&Adresynas" { - MENUITEM "&Apibrėžti...", MNID_BKMK_DEFINE + MENUITEM "&Apibrėžti...", MNID_BKMK_DEFINE } POPUP "&Parinktys" { - POPUP "Žinynas visuomet matomas" - BEGIN - MENUITEM "Numatyta", MNID_OPTS_HELP_DEFAULT - MENUITEM "Matomas", MNID_OPTS_HELP_VISIBLE - MENUITEM "Nematomas", MNID_OPTS_HELP_NONVISIBLE - END - MENUITEM "Istorija", MNID_OPTS_HISTORY + MENUITEM "History", MNID_OPTS_HISTORY POPUP "Šriftas" - BEGIN - MENUITEM "&Mažas", MNID_OPTS_FONTS_SMALL - MENUITEM "&Normalus", MNID_OPTS_FONTS_NORMAL - MENUITEM "&Didelis", MNID_OPTS_FONTS_LARGE - END - MENUITEM "Naudoti &sistemos spalvas", MNID_OPTS_SYSTEM_COLORS + BEGIN + MENUITEM "&Mažas", MNID_OPTS_FONTS_SMALL + MENUITEM "&Normalus", MNID_OPTS_FONTS_NORMAL + MENUITEM "&Didelis", MNID_OPTS_FONTS_LARGE + END } POPUP "&Žinynas" { - MENUITEM "Pa&galba apie žinyną", MNID_HELP_HELPON - MENUITEM "&Visada viršuje", MNID_HELP_HELPTOP - MENUITEM SEPARATOR - MENUITEM "&Informacija...", MNID_HELP_ABOUT + MENUITEM "Pa&galba apie žinyną", MNID_HELP_HELPON + MENUITEM "&Visada viršuje", MNID_HELP_HELPTOP + MENUITEM "&Informacija...", MNID_HELP_ABOUT } } +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Komentuoti...", MNID_CTXT_ANNOTATE + MENUITEM "Kopijuoti", MNID_CTXT_COPY + MENUITEM "Spausdinti...", MNID_CTXT_PRINT + POPUP "Šriftas" + BEGIN + MENUITEM "Mažas", MNID_CTXT_FONTS_SMALL + MENUITEM "Normalus", MNID_CTXT_FONTS_NORMAL + MENUITEM "Didelis", MNID_CTXT_FONTS_LARGE + END + END +END + +STRINGTABLE +{ +STID_WINE_HELP, "Wine žinynas" +STID_WHERROR, "KLAIDA" +STID_WARNING, "ĮSPĖJIMAS" +STID_INFO, "Informacija" +STID_NOT_IMPLEMENTED, "Nerealizuota" +STID_HLPFILE_ERROR_s, "Klaida skaitant žinyno failą „%s“" +STID_INDEX, "&Rodyklė" +STID_CONTENTS, "Santrauka" +STID_BACK, "&Atgal" +STID_ALL_FILES, "Visi failai (*.*)" +STID_HELP_FILES_HLP, "Žinyno failai (*.hlp)" +STID_FILE_NOT_FOUND_s "Nepavyko rasti „%s“. Ar norite rasti šį failą patys?" +STID_NO_RICHEDIT "Nepavyko rasti RichEdit realizacijos... Nutraukiama" +STID_PSH_INDEX, "Žinyno temos: " +} + IDD_INDEX DIALOG 0, 0, 200, 190 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" @@ -82,45 +106,3 @@ CAPTION "Paieška" { LTEXT "Dar nerealizuota", -1, 10, 10, 180, 150 } - -/* Strings */ -STRINGTABLE -{ -STID_WINE_HELP, "Wine žinynas" -STID_WHERROR, "KLAIDA" -STID_WARNING, "ĮSPĖJIMAS" -STID_INFO, "Informacija" -STID_NOT_IMPLEMENTED, "Nerealizuota" -STID_HLPFILE_ERROR_s, "Klaida skaitant žinyno failą „%s“" -STID_INDEX, "&Rodyklė" -STID_CONTENTS, "Santrauka" -STID_BACK, "&Atgal" -STID_ALL_FILES, "Visi failai (*.*)" -STID_HELP_FILES_HLP, "Žinyno failai (*.hlp)" -STID_FILE_NOT_FOUND_s "Nepavyko rasti „%s“. Ar norite rasti šį failą patys?" -STID_NO_RICHEDIT "Nepavyko rasti RichEdit realizacijos... Nutraukiama" -STID_PSH_INDEX, "Žinyno temos: " -} - -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Komentuoti...", MNID_CTXT_ANNOTATE - MENUITEM "Kopijuoti", MNID_CTXT_COPY - MENUITEM "Spausdinti...", MNID_CTXT_PRINT - POPUP "Šriftas" - BEGIN - MENUITEM "Mažas", MNID_CTXT_FONTS_SMALL - MENUITEM "Normalus", MNID_CTXT_FONTS_NORMAL - MENUITEM "Didelis", MNID_CTXT_FONTS_LARGE - END - POPUP "Žinynas visuomet matomas" - BEGIN - MENUITEM "Numatyta", MNID_CTXT_HELP_DEFAULT - MENUITEM "Matomas", MNID_CTXT_HELP_VISIBLE - MENUITEM "Nematomas", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Naudoti sistemos spalvas", MNID_CTXT_SYSTEM_COLORS - END -END diff --git a/base/applications/winhlp32/lang/Nl.rc b/base/applications/winhlp32/lang/Nl.rc index 5250e8ebb15..259cf993f51 100644 --- a/base/applications/winhlp32/lang/Nl.rc +++ b/base/applications/winhlp32/lang/Nl.rc @@ -23,8 +23,6 @@ LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL -/* Menu */ - MAIN_MENU MENU { POPUP "&Bestand" { @@ -32,7 +30,7 @@ MAIN_MENU MENU MENUITEM SEPARATOR MENUITEM "Af&drukken", MNID_FILE_PRINT MENUITEM "&Pagina-instellingen...", MNID_FILE_SETUP - MENUITEM SEPARATOR + MENUITEM SEPARATOR MENUITEM "&Afsluiten", MNID_FILE_EXIT } POPUP "&Bewerken" { @@ -44,12 +42,6 @@ MAIN_MENU MENU MENUITEM "&Aanmaken...", MNID_BKMK_DEFINE } POPUP "&Opties" { - POPUP "Help altijd zichtbaar" - BEGIN - MENUITEM "Standaard", MNID_OPTS_HELP_DEFAULT - MENUITEM "Zichtbaar", MNID_OPTS_HELP_VISIBLE - MENUITEM "Niet zichtbaar", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "Geschiedenis", MNID_OPTS_HISTORY POPUP "Lettertype" BEGIN @@ -57,33 +49,30 @@ MAIN_MENU MENU MENUITEM "Standaard", MNID_OPTS_FONTS_NORMAL MENUITEM "Groot", MNID_OPTS_FONTS_LARGE END - MENUITEM "Gebruik systeemkleuren", MNID_OPTS_SYSTEM_COLORS } POPUP "&Help" { MENUITEM "Hulp &bij help", MNID_HELP_HELPON MENUITEM "Altijd &zichtbaar", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&Info...", MNID_HELP_ABOUT } } -IDD_INDEX DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Index" -{ - LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER -} +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Annotering...", MNID_CTXT_ANNOTATE + MENUITEM "Kopiëren", MNID_CTXT_COPY + MENUITEM "Afdrukken...", MNID_CTXT_PRINT + POPUP "Lettertype" + BEGIN + MENUITEM "Klein", MNID_CTXT_FONTS_SMALL + MENUITEM "Normaal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Groot", MNID_CTXT_FONTS_LARGE + END + END +END -IDD_SEARCH DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Zoeken" -{ - LTEXT "Nog niet geïmplementeerd", -1, 10, 10, 180, 150 -} - -/* Strings */ STRINGTABLE { STID_WINE_HELP, "Wine Help" @@ -102,25 +91,18 @@ STID_NO_RICHEDIT "Kan geen richedit implementatie vinden... Actie afgebroken" STID_PSH_INDEX, "Help-onderwerpen: " } -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Annotering...", MNID_CTXT_ANNOTATE - MENUITEM "Kopiëren", MNID_CTXT_COPY - MENUITEM "Afdrukken...", MNID_CTXT_PRINT - POPUP "Lettertype" - BEGIN - MENUITEM "Klein", MNID_CTXT_FONTS_SMALL - MENUITEM "Normaal", MNID_CTXT_FONTS_NORMAL - MENUITEM "Groot", MNID_CTXT_FONTS_LARGE - END - POPUP "Help altijd zichtbaar" - BEGIN - MENUITEM "Standaard", MNID_CTXT_HELP_DEFAULT - MENUITEM "Zichtbaar", MNID_CTXT_HELP_VISIBLE - MENUITEM "Onzichtbaar", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Gebruik systeemkleuren", MNID_CTXT_SYSTEM_COLORS - END -END +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Index" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Zoeken" +{ + LTEXT "Nog niet geïmplementeerd", -1, 10, 10, 180, 150 +} diff --git a/base/applications/winhlp32/lang/No.rc b/base/applications/winhlp32/lang/No.rc index 036c150f85b..93543d9cabb 100644 --- a/base/applications/winhlp32/lang/No.rc +++ b/base/applications/winhlp32/lang/No.rc @@ -20,8 +20,6 @@ LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL -/* Menu */ - MAIN_MENU MENU { POPUP "&Fil" { @@ -41,12 +39,6 @@ MAIN_MENU MENU MENUITEM "&Definer...", MNID_BKMK_DEFINE } POPUP "&Innstillinger" { - POPUP "Synlighet" - BEGIN - MENUITEM "Standard", MNID_OPTS_HELP_DEFAULT - MENUITEM "Synlig", MNID_OPTS_HELP_VISIBLE - MENUITEM "Ikke synlig", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "Historikk", MNID_OPTS_HISTORY POPUP "Skriftstrrelse" BEGIN @@ -54,16 +46,48 @@ MAIN_MENU MENU MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL MENUITEM "Stor", MNID_OPTS_FONTS_LARGE END - MENUITEM "Bruk systemfarger", MNID_OPTS_SYSTEM_COLORS } POPUP "&Hjelp" { MENUITEM "&Hjelp til Hjelp", MNID_HELP_HELPON MENUITEM "All&tid verst", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&Informasjon...", MNID_HELP_ABOUT } } +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Kommentar...", MNID_CTXT_ANNOTATE + MENUITEM "Kopier", MNID_CTXT_COPY + MENUITEM "Skriv ut...", MNID_CTXT_PRINT + POPUP "Skriftstrrelse" + BEGIN + MENUITEM "Liten", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Stor", MNID_CTXT_FONTS_LARGE + END + END +END + +STRINGTABLE +{ +STID_WINE_HELP, "Hjelp" +STID_WHERROR, "FEIL" +STID_WARNING, "ADVARSEL" +STID_INFO, "Informasjon" +STID_NOT_IMPLEMENTED, "Ikke implementert" +STID_HLPFILE_ERROR_s, "Klarte ikke lese hjelpefilen %s" +STID_INDEX, "&Innhold" +STID_CONTENTS, "&Oppsummering" +STID_BACK, "Til&bake" +STID_ALL_FILES, "Alle filer (*.*)" +STID_HELP_FILES_HLP, "Hjelp-filer (*.hlp)" +STID_FILE_NOT_FOUND_s "Klarte ikke finne %s. Vil du finne filen selv?" +STID_NO_RICHEDIT "Klarte ikke finne richedit; avbryter" +STID_PSH_INDEX, "Emner i Hjelp: " +} + IDD_INDEX DIALOG 0, 0, 200, 190 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" @@ -79,45 +103,3 @@ CAPTION "S { LTEXT "Ikke laget enn", -1, 10, 10, 180, 150 } - -/* Strings */ -STRINGTABLE -{ -STID_WINE_HELP, "Hjelp" -STID_WHERROR, "FEIL" -STID_WARNING, "ADVARSEL" -STID_INFO, "Informasjon" -STID_NOT_IMPLEMENTED, "Ikke implementert" -STID_HLPFILE_ERROR_s, "Klarte ikke lese hjelpefilen %s" -STID_INDEX, "&Innhold" -STID_CONTENTS, "&Oppsummering" -STID_BACK, "Til&bake" -STID_ALL_FILES, "Alle filer (*.*)" -STID_HELP_FILES_HLP, "Hjelp-filer (*.hlp)" -STID_FILE_NOT_FOUND_s "Klarte ikke finne %s. Vil du finne filen selv?" -STID_NO_RICHEDIT "Klarte ikke finne richedit; avbryter" -STID_PSH_INDEX, "Emner i Hjelp: " -} - -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Kommentar...", MNID_CTXT_ANNOTATE - MENUITEM "Kopier", MNID_CTXT_COPY - MENUITEM "Skriv ut...", MNID_CTXT_PRINT - POPUP "Skriftstrrelse" - BEGIN - MENUITEM "Liten", MNID_CTXT_FONTS_SMALL - MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL - MENUITEM "Stor", MNID_CTXT_FONTS_LARGE - END - POPUP "Synlighet" - BEGIN - MENUITEM "Standard", MNID_CTXT_HELP_DEFAULT - MENUITEM "Synlig", MNID_CTXT_HELP_VISIBLE - MENUITEM "Ikke synlig", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Bruk systemfarger", MNID_CTXT_SYSTEM_COLORS - END -END diff --git a/base/applications/winhlp32/lang/Pl.rc b/base/applications/winhlp32/lang/Pl.rc index 23710bfe736..638de2fc79f 100644 --- a/base/applications/winhlp32/lang/Pl.rc +++ b/base/applications/winhlp32/lang/Pl.rc @@ -23,8 +23,6 @@ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT -/* Menu */ - MAIN_MENU MENU { POPUP "&Plik" { @@ -44,12 +42,6 @@ MAIN_MENU MENU MENUITEM "&Zdefiniuj...", MNID_BKMK_DEFINE } POPUP "&Options" { - POPUP "Pomoc zawsze widoczna" - BEGIN - MENUITEM "Domylnie", MNID_OPTS_HELP_DEFAULT - MENUITEM "Widoczna", MNID_OPTS_HELP_VISIBLE - MENUITEM "Niewidoczna", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "Historia", MNID_OPTS_HISTORY POPUP "Czcionki" BEGIN @@ -57,16 +49,48 @@ MAIN_MENU MENU MENUITEM "Normalne", MNID_OPTS_FONTS_NORMAL MENUITEM "Due", MNID_OPTS_FONTS_LARGE END - MENUITEM "Uyj kolorw systemowych", MNID_OPTS_SYSTEM_COLORS } POPUP "Pomo&c" { MENUITEM "&Pomoc", MNID_HELP_HELPON MENUITEM "&Zawsze na wierzchu", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&O programie...", MNID_HELP_ABOUT } } +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Adnotacja...", MNID_CTXT_ANNOTATE + MENUITEM "Kopiuj", MNID_CTXT_COPY + MENUITEM "Drukuj...", MNID_CTXT_PRINT + POPUP "Czcionka" + BEGIN + MENUITEM "Maa", MNID_CTXT_FONTS_SMALL + MENUITEM "Normalna", MNID_CTXT_FONTS_NORMAL + MENUITEM "Dua", MNID_CTXT_FONTS_LARGE + END + END +END + +STRINGTABLE +{ +STID_WINE_HELP, "Wine - Pomoc" +STID_WHERROR, "BD" +STID_WARNING, "OSTRZEENIE" +STID_INFO, "Informacja" +STID_NOT_IMPLEMENTED, "Nie zaimplementowane" +STID_HLPFILE_ERROR_s, "Bd w trakcie odczytu pliku pomocy `%s'" +STID_INDEX, "&Zawarto" +STID_CONTENTS, "&Szukaj" +STID_BACK, "&Wstecz" +STID_ALL_FILES, "Wszystkie pliki (*.*)" +STID_HELP_FILES_HLP, "Pliki pomocy (*.hlp)" +STID_FILE_NOT_FOUND_s "Nie znaleziono pliku '%s'. Czy chcesz poszuka tego pliku samodzielnie?" +STID_NO_RICHEDIT "Nie znaleziono implementacji richedit... Wywietlenie pomocy nie jest moliwe" +STID_PSH_INDEX, "Tematy pomocy: " +} + IDD_INDEX DIALOG 0, 0, 200, 190 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" @@ -82,46 +106,3 @@ CAPTION "Szukaj" { LTEXT "Nie zaimplementowane", -1, 10, 10, 180, 150 } - -/* Strings */ -STRINGTABLE -{ -STID_WINE_HELP, "Wine - Pomoc" -STID_WHERROR, "BD" -STID_WARNING, "OSTRZEENIE" -STID_INFO, "Informacja" -STID_NOT_IMPLEMENTED, "Nie zaimplementowane" -STID_HLPFILE_ERROR_s, "Bd w trakcie odczytu pliku pomocy `%s'" -STID_INDEX, "&Zawarto" -STID_CONTENTS, "&Szukaj" -STID_BACK, "&Wstecz" -STID_ALL_FILES, "Wszystkie pliki (*.*)" -STID_HELP_FILES_HLP, "Pliki pomocy (*.hlp)" -STID_FILE_NOT_FOUND_s "Nie znaleziono pliku '%s'. Czy chcesz poszuka tego pliku samodzielnie?" -STID_NO_RICHEDIT "Nie znaleziono implementacji richedit... Wywietlenie pomocy nie jest moliwe" -STID_PSH_INDEX, "Tematy pomocy: " -} - - -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Adnotacja...", MNID_CTXT_ANNOTATE - MENUITEM "Kopiuj", MNID_CTXT_COPY - MENUITEM "Drukuj...", MNID_CTXT_PRINT - POPUP "Czcionka" - BEGIN - MENUITEM "Maa", MNID_CTXT_FONTS_SMALL - MENUITEM "Normalna", MNID_CTXT_FONTS_NORMAL - MENUITEM "Dua", MNID_CTXT_FONTS_LARGE - END - POPUP "Pomoc zawsze widoczna" - BEGIN - MENUITEM "Domylnie", MNID_CTXT_HELP_DEFAULT - MENUITEM "Widoczna", MNID_CTXT_HELP_VISIBLE - MENUITEM "Niewidoczna", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Uyj kolorw systemowych", MNID_CTXT_SYSTEM_COLORS - END -END diff --git a/base/applications/winhlp32/lang/Pt.rc b/base/applications/winhlp32/lang/Pt.rc index ab63da653ee..c4fb2e755ea 100644 --- a/base/applications/winhlp32/lang/Pt.rc +++ b/base/applications/winhlp32/lang/Pt.rc @@ -27,8 +27,6 @@ #pragma code_page(65001) -/* Menu */ - LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN MAIN_MENU MENU @@ -50,12 +48,6 @@ MAIN_MENU MENU MENUITEM "&Definir...", MNID_BKMK_DEFINE } POPUP "&Opções" { - POPUP "Ajuda sempre visível" - BEGIN - MENUITEM "Padrão", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visível", MNID_OPTS_HELP_VISIBLE - MENUITEM "Invisível", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "Histórico", MNID_OPTS_HISTORY POPUP "Fontes" BEGIN @@ -63,16 +55,64 @@ MAIN_MENU MENU MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL MENUITEM "Grande", MNID_OPTS_FONTS_LARGE END - MENUITEM "Usar cores do sistema", MNID_OPTS_SYSTEM_COLORS } POPUP "Aj&uda" { MENUITEM "Ajuda &na ajuda", MNID_HELP_HELPON MENUITEM "Sempre &visível", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&Informações...", MNID_HELP_ABOUT } } +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Anotação...", MNID_CTXT_ANNOTATE + MENUITEM "Copiar", MNID_CTXT_COPY + MENUITEM "Imprimir...", MNID_CTXT_PRINT + POPUP "Fontes" + BEGIN + MENUITEM "Pequeno", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Grande", MNID_CTXT_FONTS_LARGE + END + END +END + +STRINGTABLE +{ +STID_WINE_HELP, "Ajuda Wine" +STID_WHERROR, "ERRO" +STID_WARNING, "AVISO" +STID_INFO, "Informação" +STID_NOT_IMPLEMENTED, "Não implementado" +STID_HLPFILE_ERROR_s, "Erro encontrado na leitura do arquivo de ajuda '%s'" +STID_INDEX, "&Conteúdo" +STID_CONTENTS, "Sumário" +STID_BACK, "&Voltar" +STID_ALL_FILES, "Todos os arquivos (*.*)" +STID_HELP_FILES_HLP, "Arquivos de ajuda (*.hlp)" +STID_FILE_NOT_FOUND_s "Não é possível encontrar '%s'. Deseja procurar este arquivo você mesmo?" +STID_NO_RICHEDIT "Não foi possível encontrar uma implementação do richedit... Abortando" +STID_PSH_INDEX, "Tópicos de ajuda: " +} + +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Índice" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Procura" +{ + LTEXT "Ainda não implementado", -1, 10, 10, 180, 150 +} + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE MAIN_MENU MENU @@ -94,12 +134,6 @@ MAIN_MENU MENU MENUITEM "&Definir...", MNID_BKMK_DEFINE } POPUP "&Opções" { - POPUP "Ajuda sempre visível" - BEGIN - MENUITEM "Omissão", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visível", MNID_OPTS_HELP_VISIBLE - MENUITEM "Invisível", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "Histórico", MNID_OPTS_HISTORY POPUP "Tipos de Letra" BEGIN @@ -107,57 +141,29 @@ MAIN_MENU MENU MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL MENUITEM "Grande", MNID_OPTS_FONTS_LARGE END - MENUITEM "Usar cores do sistema", MNID_OPTS_SYSTEM_COLORS } POPUP "Aj&uda" { MENUITEM "Ajuda &na ajuda", MNID_HELP_HELPON MENUITEM "Sempre &visível", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&Informações...", MNID_HELP_ABOUT } } -LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL - -IDD_INDEX DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Índice" -{ - LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER -} - -IDD_SEARCH DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Procura" -{ - LTEXT "Ainda não implementado", -1, 10, 10, 180, 150 -} - -/* Strings */ - -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN - -STRINGTABLE -{ -STID_WINE_HELP, "Ajuda Wine" -STID_WHERROR, "ERRO" -STID_WARNING, "AVISO" -STID_INFO, "Informação" -STID_NOT_IMPLEMENTED, "Não implementado" -STID_HLPFILE_ERROR_s, "Erro encontrado na leitura do arquivo de ajuda '%s'" -STID_INDEX, "&Conteúdo" -STID_CONTENTS, "Sumário" -STID_BACK, "&Voltar" -STID_ALL_FILES, "Todos os arquivos (*.*)" -STID_HELP_FILES_HLP, "Arquivos de ajuda (*.hlp)" -STID_FILE_NOT_FOUND_s "Não é possível encontrar '%s'. Deseja procurar este arquivo você mesmo?" -STID_NO_RICHEDIT "Não foi possível encontrar uma implementação do richedit... Abortando" -STID_PSH_INDEX, "Tópicos de ajuda: " -} - -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Anotação...", MNID_CTXT_ANNOTATE + MENUITEM "Copiar", MNID_CTXT_COPY + MENUITEM "Imprimir...", MNID_CTXT_PRINT + POPUP "Tipos de letra" + BEGIN + MENUITEM "Pequeno", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Grande", MNID_CTXT_FONTS_LARGE + END + END +END STRINGTABLE { @@ -177,54 +183,18 @@ STID_NO_RICHEDIT "Não foi possível encontrar uma implementação do richedit.. STID_PSH_INDEX, "Tópicos de ajuda: " } +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Índice" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} - -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN - -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Anotação...", MNID_CTXT_ANNOTATE - MENUITEM "Copiar", MNID_CTXT_COPY - MENUITEM "Imprimir...", MNID_CTXT_PRINT - POPUP "Fontes" - BEGIN - MENUITEM "Pequeno", MNID_CTXT_FONTS_SMALL - MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL - MENUITEM "Grande", MNID_CTXT_FONTS_LARGE - END - POPUP "Ajuda sempre visível" - BEGIN - MENUITEM "Padrão", MNID_CTXT_HELP_DEFAULT - MENUITEM "Visível", MNID_CTXT_HELP_VISIBLE - MENUITEM "Invisível", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Usar cores do sistema", MNID_CTXT_SYSTEM_COLORS - END -END - -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE - -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Anotação...", MNID_CTXT_ANNOTATE - MENUITEM "Copiar", MNID_CTXT_COPY - MENUITEM "Imprimir...", MNID_CTXT_PRINT - POPUP "Tipos de letra" - BEGIN - MENUITEM "Pequeno", MNID_CTXT_FONTS_SMALL - MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL - MENUITEM "Grande", MNID_CTXT_FONTS_LARGE - END - POPUP "Ajuda sempre visível" - BEGIN - MENUITEM "Omissão", MNID_CTXT_HELP_DEFAULT - MENUITEM "Visível", MNID_CTXT_HELP_VISIBLE - MENUITEM "Invisível", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Usar cores do sistema", MNID_CTXT_SYSTEM_COLORS - END -END +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Procura" +{ + LTEXT "Ainda não implementado", -1, 10, 10, 180, 150 +} diff --git a/base/applications/winhlp32/lang/Rm.rc b/base/applications/winhlp32/lang/Rm.rc index e58672bfed5..1ea510308a7 100644 --- a/base/applications/winhlp32/lang/Rm.rc +++ b/base/applications/winhlp32/lang/Rm.rc @@ -27,8 +27,6 @@ LANGUAGE LANG_ROMANSH, SUBLANG_DEFAULT /* FIXME: This file is in the Vallader Romansh dialect and not in the official Rumantsch Grischun. */ -/* Menu */ - MAIN_MENU MENU { POPUP "&Datoteca" { @@ -48,12 +46,6 @@ MAIN_MENU MENU MENUITEM "&Definir...", MNID_BKMK_DEFINE } POPUP "&Options" { - POPUP "Help always visible" - BEGIN - MENUITEM "Default", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE - MENUITEM "Non visible", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "History", MNID_OPTS_HISTORY POPUP "Fonts" BEGIN @@ -61,30 +53,60 @@ MAIN_MENU MENU MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL MENUITEM "Large", MNID_OPTS_FONTS_LARGE END - MENUITEM "Use system colors", MNID_OPTS_SYSTEM_COLORS } POPUP "&Ag�d" { MENUITEM "&Douvrar l'ag�d", MNID_HELP_HELPON MENUITEM "Ad�na da&vant", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "I&nfuormaziuns", MNID_HELP_ABOUT } } -/* Strings */ +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Annotation...", MNID_CTXT_ANNOTATE + MENUITEM "Copy", MNID_CTXT_COPY + MENUITEM "Print...", MNID_CTXT_PRINT + POPUP "Fonts" + BEGIN + MENUITEM "Small", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Large", MNID_CTXT_FONTS_LARGE + END + END +END + STRINGTABLE { -STID_WINE_HELP, "Wine ag�d" -STID_WHERROR, "SBAGL" -STID_WARNING, "ATTENZIUN" -STID_INFO, "INFUORMAZIUN" -STID_NOT_IMPLEMENTED, "Na implementa" -STID_HLPFILE_ERROR_s, "Sbagl cun leger la datoteca d'ag�d `%s'" -STID_INDEX, "&Cuntgn�" -STID_CONTENTS, "Summary" -STID_BACK, "&Inavo" -STID_ALL_FILES, "Tuot las datotecas (*.*)" -STID_HELP_FILES_HLP, "Datotecas d'ag�d (*.hlp)" -STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?" +STID_WINE_HELP, "Wine ag�d" +STID_WHERROR, "SBAGL" +STID_WARNING, "ATTENZIUN" +STID_INFO, "INFUORMAZIUN" +STID_NOT_IMPLEMENTED, "Na implementa" +STID_HLPFILE_ERROR_s, "Sbagl cun leger la datoteca d'ag�d `%s'" +STID_INDEX, "&Cuntgn�" +STID_CONTENTS, "Summary" +STID_BACK, "&Inavo" +STID_ALL_FILES, "Tuot las datotecas (*.*)" +STID_HELP_FILES_HLP, "Datotecas d'ag�d (*.hlp)" +STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?" STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting" +STID_PSH_INDEX, "Help topics: " +} + +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Index" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Search" +{ + LTEXT "Not yet implemented", -1, 10, 10, 180, 150 } diff --git a/base/applications/winhlp32/lang/Ro.rc b/base/applications/winhlp32/lang/Ro.rc index 5cd51d2635e..0ae741cf608 100644 --- a/base/applications/winhlp32/lang/Ro.rc +++ b/base/applications/winhlp32/lang/Ro.rc @@ -4,6 +4,7 @@ * Copyright 1996 Ulrich Schmid * Copyright 2002 Sylvain Petreolle * Copyright 2009 Michael Stefaniuc + * Copyright 2014 Ștefan Fulea * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -20,54 +21,78 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL - #pragma code_page(65001) -/* Menu */ +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL MAIN_MENU MENU { POPUP "&Fișier" { - MENUITEM "&Deschide", MNID_FILE_OPEN + MENUITEM "&Deschide", MNID_FILE_OPEN MENUITEM SEPARATOR - MENUITEM "&Tipărește", MNID_FILE_PRINT - MENUITEM "&Setare imprimantă", MNID_FILE_SETUP - MENUITEM SEPARATOR - MENUITEM "&Ieșire", MNID_FILE_EXIT + MENUITEM "I&mprimare…", MNID_FILE_PRINT + MENUITEM "&Configurare imprimantă…", MNID_FILE_SETUP + MENUITEM SEPARATOR + MENUITEM "I&eșire", MNID_FILE_EXIT } POPUP "&Editare" { - MENUITEM "&Copiază...", MNID_EDIT_COPYDLG + MENUITEM "&Copiere…", MNID_EDIT_COPYDLG MENUITEM SEPARATOR - MENUITEM "&Adnotează...", MNID_EDIT_ANNOTATE + MENUITEM "&Adnotare…", MNID_EDIT_ANNOTATE } - POPUP "&Se&mn de carte" { - MENUITEM "&Definește...", MNID_BKMK_DEFINE + POPUP "Se&mn de carte" { + MENUITEM "&Definire…", MNID_BKMK_DEFINE } POPUP "&Opțiuni" { - POPUP "&Ajutor întotdeauna vizibil" - BEGIN - MENUITEM "Implicit", MNID_OPTS_HELP_DEFAULT - MENUITEM "Vizibil", MNID_OPTS_HELP_VISIBLE - MENUITEM "Invizibil", MNID_OPTS_HELP_NONVISIBLE - END - MENUITEM "Istorie", MNID_OPTS_HISTORY + MENUITEM "Ist&oric", MNID_OPTS_HISTORY POPUP "&Font" BEGIN - MENUITEM "Mic", MNID_OPTS_FONTS_SMALL - MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL - MENUITEM "Mare", MNID_OPTS_FONTS_LARGE + MENUITEM "&Mic", MNID_OPTS_FONTS_SMALL + MENUITEM "&Normal", MNID_OPTS_FONTS_NORMAL + MENUITEM "M&are", MNID_OPTS_FONTS_LARGE END - MENUITEM "Utilizează culorile sistemului", MNID_OPTS_SYSTEM_COLORS } - POPUP "&Ajutor" { - MENUITEM "Ajut&or despre ajutor", MNID_HELP_HELPON - MENUITEM "În&totdeauna deasupra", MNID_HELP_HELPTOP - MENUITEM SEPARATOR - MENUITEM "&Informații...", MNID_HELP_ABOUT + POPUP "&?" { + MENUITEM "&Despre…", MNID_HELP_HELPON + MENUITEM "Î&ntotdeauna deasupra", MNID_HELP_HELPTOP + MENUITEM "In&formații…", MNID_HELP_ABOUT } } +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Adnotare…", MNID_CTXT_ANNOTATE + MENUITEM "Copiază", MNID_CTXT_COPY + MENUITEM "Imprimare…", MNID_CTXT_PRINT + POPUP "Font" + BEGIN + MENUITEM "Mic", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Mare", MNID_CTXT_FONTS_LARGE + END + END +END + +STRINGTABLE +{ +STID_WINE_HELP, "Manual" +STID_WHERROR, "EROARE" +STID_WARNING, "AVERTISMENT" +STID_INFO, "Informație" +STID_NOT_IMPLEMENTED, "Neimplementat" +STID_HLPFILE_ERROR_s, "Eroare la citirea manualului „%s”" +STID_INDEX, "Inde&x" +STID_CONTENTS, "Rezumat" +STID_BACK, "Înap&oi" +STID_ALL_FILES, "Toate fișierele (*.*)" +STID_HELP_FILES_HLP, "Fișierele manual (*.hlp)" +STID_FILE_NOT_FOUND_s "Fișierul „%s” nu poate fi găsit. Doriți să-l căutați?" +STID_NO_RICHEDIT "Nu s-a găsit o implementare pentru richedit… Operația este abandonată" +STID_PSH_INDEX, "Subiecte în manual:" +} + IDD_INDEX DIALOG 0, 0, 200, 190 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" @@ -83,45 +108,3 @@ CAPTION "Căutare" { LTEXT "Încă neimplementată", -1, 10, 10, 180, 150 } - -/* Strings */ -STRINGTABLE -{ -STID_WINE_HELP, "Ajutor Wine" -STID_WHERROR, "EROARE" -STID_WARNING, "AVERTISMENT" -STID_INFO, "Informație" -STID_NOT_IMPLEMENTED, "Neimplementat" -STID_HLPFILE_ERROR_s, "Eroare la citirea fișierului de ajutor „%s”" -STID_INDEX, "&Index" -STID_CONTENTS, "Rezumat" -STID_BACK, "În&apoi" -STID_ALL_FILES, "Toate fișierele (*.*)" -STID_HELP_FILES_HLP, "Fișierele de ajutor (*.hlp)" -STID_FILE_NOT_FOUND_s "Fișierul „%s” nu poate fi găsit. Vreți să-l cautați?" -STID_NO_RICHEDIT "Nu am găsit o implementare pentru richedit... Abandonez" -STID_PSH_INDEX, "Subiecte de ajutor:" -} - -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Adnotare...", MNID_CTXT_ANNOTATE - MENUITEM "Copiază", MNID_CTXT_COPY - MENUITEM "Tipărește...", MNID_CTXT_PRINT - POPUP "Fonturi" - BEGIN - MENUITEM "Mic", MNID_CTXT_FONTS_SMALL - MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL - MENUITEM "Mare", MNID_CTXT_FONTS_LARGE - END - POPUP "Ajutorul întotdeauna vizibil" - BEGIN - MENUITEM "Implicit", MNID_CTXT_HELP_DEFAULT - MENUITEM "Vizibil", MNID_CTXT_HELP_VISIBLE - MENUITEM "Invizibil", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Utilizează culorile sistemului", MNID_CTXT_SYSTEM_COLORS - END -END diff --git a/base/applications/winhlp32/lang/Ru.rc b/base/applications/winhlp32/lang/Ru.rc index ad30c3f561a..251f129a656 100644 --- a/base/applications/winhlp32/lang/Ru.rc +++ b/base/applications/winhlp32/lang/Ru.rc @@ -23,8 +23,6 @@ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT -/* Menu */ - MAIN_MENU MENU { POPUP "&Файл" { @@ -44,12 +42,6 @@ MAIN_MENU MENU MENUITEM "&Определить...", MNID_BKMK_DEFINE } POPUP "&Настройки" { - POPUP "Видимость окна справки" - BEGIN - MENUITEM "По умолчанию", MNID_OPTS_HELP_DEFAULT - MENUITEM "Наверху", MNID_OPTS_HELP_VISIBLE - MENUITEM "Не наверху", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "История", MNID_OPTS_HISTORY POPUP "Шрифт" BEGIN @@ -57,33 +49,30 @@ MAIN_MENU MENU MENUITEM "Обычный", MNID_OPTS_FONTS_NORMAL MENUITEM "Крупный", MNID_OPTS_FONTS_LARGE END - MENUITEM "Использовать системные цвета", MNID_OPTS_SYSTEM_COLORS } POPUP "&Справка" { MENUITEM "Помощь &по помощи", MNID_HELP_HELPON MENUITEM "Всегда &сверху", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&Информация...", MNID_HELP_ABOUT } } -IDD_INDEX DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Указатель" -{ - LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER -} +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Заметки...", MNID_CTXT_ANNOTATE + MENUITEM "Копировать", MNID_CTXT_COPY + MENUITEM "Печать...", MNID_CTXT_PRINT + POPUP "Шрифт" + BEGIN + MENUITEM "Мелкий", MNID_CTXT_FONTS_SMALL + MENUITEM "Обычный", MNID_CTXT_FONTS_NORMAL + MENUITEM "Крупный", MNID_CTXT_FONTS_LARGE + END + END +END -IDD_SEARCH DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Поиск" -{ - LTEXT "Не реализовано", -1, 10, 10, 180, 150 -} - -/* Strings */ STRINGTABLE { STID_WINE_HELP, "Справка Wine" @@ -102,25 +91,18 @@ STID_NO_RICHEDIT "Не могу найти richedit" STID_PSH_INDEX, "Содержание: " } -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Заметки...", MNID_CTXT_ANNOTATE - MENUITEM "Копировать", MNID_CTXT_COPY - MENUITEM "Печать...", MNID_CTXT_PRINT - POPUP "Шрифт" - BEGIN - MENUITEM "Мелкий", MNID_CTXT_FONTS_SMALL - MENUITEM "Обычный", MNID_CTXT_FONTS_NORMAL - MENUITEM "Крупный", MNID_CTXT_FONTS_LARGE - END - POPUP "Видимость окна справки" - BEGIN - MENUITEM "По умолчанию", MNID_CTXT_HELP_DEFAULT - MENUITEM "Наверху", MNID_CTXT_HELP_VISIBLE - MENUITEM "Не наверху", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Использовать системные цвета", MNID_CTXT_SYSTEM_COLORS - END -END +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Указатель" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Поиск" +{ + LTEXT "Не реализовано", -1, 10, 10, 180, 150 +} diff --git a/base/applications/winhlp32/lang/Si.rc b/base/applications/winhlp32/lang/Si.rc index 1b0bce72a3c..d4438ea05bc 100644 --- a/base/applications/winhlp32/lang/Si.rc +++ b/base/applications/winhlp32/lang/Si.rc @@ -18,11 +18,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT - #pragma code_page(65001) -/* Menu */ +LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT MAIN_MENU MENU { @@ -43,29 +41,55 @@ MAIN_MENU MENU MENUITEM "Do&loči ...", MNID_BKMK_DEFINE } POPUP "&Možnosti" { - POPUP "Pomoč vedno vidna" - BEGIN - MENUITEM "Privzeto", MNID_OPTS_HELP_DEFAULT - MENUITEM "Vidna", MNID_OPTS_HELP_VISIBLE - MENUITEM "Skrita", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "Zgodovina", MNID_OPTS_HISTORY POPUP "Pisava" - BEGIN + BEGIN MENUITEM "Majhna", MNID_OPTS_FONTS_SMALL MENUITEM "Običajna", MNID_OPTS_FONTS_NORMAL MENUITEM "Velika", MNID_OPTS_FONTS_LARGE - END - MENUITEM "Uporabi sistemske barve", MNID_OPTS_SYSTEM_COLORS - } + END + } POPUP "&Pomoč" { MENUITEM "&O pomoči", MNID_HELP_HELPON MENUITEM "Vedno na &vrhu", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&Informacije ...", MNID_HELP_ABOUT } } +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Opomba ...", MNID_CTXT_ANNOTATE + MENUITEM "Kopiraj", MNID_CTXT_COPY + MENUITEM "Natisni ...", MNID_CTXT_PRINT + POPUP "Pisava" + BEGIN + MENUITEM "Majnha", MNID_CTXT_FONTS_SMALL + MENUITEM "Običajna", MNID_CTXT_FONTS_NORMAL + MENUITEM "Velika", MNID_CTXT_FONTS_LARGE + END + END +END + +STRINGTABLE +{ +STID_WINE_HELP, "Wine Pomoč" +STID_WHERROR, "NAPAKA" +STID_WARNING, "OPOZORILO" +STID_INFO, "Informacija" +STID_NOT_IMPLEMENTED, "Ni (še) na voljo" +STID_HLPFILE_ERROR_s, "Napaka pri branju datoteke s pomočjo '%s'" +STID_INDEX, "&Indeks" +STID_CONTENTS, "Vsebina" +STID_BACK, "&Nazaj" +STID_ALL_FILES, "Vse datoteke (*.*)" +STID_HELP_FILES_HLP, "Datoteke s pomočjo (*.hlp)" +STID_FILE_NOT_FOUND_s "Ne najdem datoteke '%s'. Ali jo želite poiskati sami?" +STID_NO_RICHEDIT "Ne morem najti knjižnice richedit ... Prekinjam" +STID_PSH_INDEX, "Teme pomoči: " +} + IDD_INDEX DIALOG 0, 0, 200, 190 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" @@ -81,45 +105,3 @@ CAPTION "Iskanje" { LTEXT "Ni (še) na voljo", -1, 10, 10, 180, 150 } - -/* Strings */ -STRINGTABLE -{ -STID_WINE_HELP, "Wine Pomoč" -STID_WHERROR, "NAPAKA" -STID_WARNING, "OPOZORILO" -STID_INFO, "Informacija" -STID_NOT_IMPLEMENTED, "Ni (še) na voljo" -STID_HLPFILE_ERROR_s, "Napaka pri branju datoteke s pomočjo '%s'" -STID_INDEX, "&Indeks" -STID_CONTENTS, "Vsebina" -STID_BACK, "&Nazaj" -STID_ALL_FILES, "Vse datoteke (*.*)" -STID_HELP_FILES_HLP, "Datoteke s pomočjo (*.hlp)" -STID_FILE_NOT_FOUND_s "Ne najdem datoteke '%s'. Ali jo želite poiskati sami?" -STID_NO_RICHEDIT "Ne morem najti knjižnice richedit ... Prekinjam" -STID_PSH_INDEX, "Teme pomoči: " -} - -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Opomba ...", MNID_CTXT_ANNOTATE - MENUITEM "Kopiraj", MNID_CTXT_COPY - MENUITEM "Natisni ...", MNID_CTXT_PRINT - POPUP "Pisava" - BEGIN - MENUITEM "Majnha", MNID_CTXT_FONTS_SMALL - MENUITEM "Običajna", MNID_CTXT_FONTS_NORMAL - MENUITEM "Velika", MNID_CTXT_FONTS_LARGE - END - POPUP "Pomoč vedno vidna" - BEGIN - MENUITEM "Privzeto", MNID_CTXT_HELP_DEFAULT - MENUITEM "Vidna", MNID_CTXT_HELP_VISIBLE - MENUITEM "Nevidna", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Uporabi sistemske barve", MNID_CTXT_SYSTEM_COLORS - END -END diff --git a/base/applications/winhlp32/lang/Sk.rc b/base/applications/winhlp32/lang/Sk.rc index c2276bf3220..133a0da0be5 100644 --- a/base/applications/winhlp32/lang/Sk.rc +++ b/base/applications/winhlp32/lang/Sk.rc @@ -24,7 +24,7 @@ MAIN_MENU MENU { POPUP "&Sbor" { MENUITEM "&Otvori...", MNID_FILE_OPEN - MENUITEM SEPARATOR + MENUITEM SEPARATOR MENUITEM "&Tlai", MNID_FILE_PRINT MENUITEM "&Nastavenie tlae...", MNID_FILE_SETUP MENUITEM SEPARATOR @@ -39,12 +39,6 @@ MAIN_MENU MENU MENUITEM "&Definova...", MNID_BKMK_DEFINE } POPUP "&Options" { - POPUP "Help always visible" - BEGIN - MENUITEM "Default", MNID_OPTS_HELP_DEFAULT - MENUITEM "Visible", MNID_OPTS_HELP_VISIBLE - MENUITEM "Non visible", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "History", MNID_OPTS_HISTORY POPUP "Fonts" BEGIN @@ -52,30 +46,60 @@ MAIN_MENU MENU MENUITEM "Normal", MNID_OPTS_FONTS_NORMAL MENUITEM "Large", MNID_OPTS_FONTS_LARGE END - MENUITEM "Use system colors", MNID_OPTS_SYSTEM_COLORS } POPUP "&Pomoc" { MENUITEM "Pomoc &na pomoci", MNID_HELP_HELPON MENUITEM "Vdy na &vrchu", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&Info...", MNID_HELP_ABOUT } } -/* Strings */ +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Annotation...", MNID_CTXT_ANNOTATE + MENUITEM "Copy", MNID_CTXT_COPY + MENUITEM "Print...", MNID_CTXT_PRINT + POPUP "Fonts" + BEGIN + MENUITEM "Small", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Large", MNID_CTXT_FONTS_LARGE + END + END +END + STRINGTABLE { -STID_WINE_HELP, "Wine Pomoc" -STID_WHERROR, "CHYBA" -STID_WARNING, "VAROVANIE" -STID_INFO, "Informcie" -STID_NOT_IMPLEMENTED, "Neimplementovan" -STID_HLPFILE_ERROR_s, "Chyba poas tania sboru `%s'" -STID_INDEX, "&Obsah" -STID_CONTENTS, "Summary" -STID_BACK, "&Sp" -STID_ALL_FILES, "Vetky sbory (*.*)" -STID_HELP_FILES_HLP, "Sbory pomoci (*.hlp)" -STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?" -STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting" +STID_WINE_HELP, "Wine Pomoc" +STID_WHERROR, "CHYBA" +STID_WARNING, "VAROVANIE" +STID_INFO, "Informcie" +STID_NOT_IMPLEMENTED, "Neimplementovan" +STID_HLPFILE_ERROR_s, "Chyba poas tania sboru `%s'" +STID_INDEX, "&Obsah" +STID_CONTENTS, "Summary" +STID_BACK, "&Sp" +STID_ALL_FILES, "Vetky sbory (*.*)" +STID_HELP_FILES_HLP, "Sbory pomoci (*.hlp)" +STID_FILE_NOT_FOUND_s "Cannot find '%s'. Do you want to find this file yourself?" +STID_NO_RICHEDIT "Cannot find a richedit implementation... Aborting" +STID_PSH_INDEX, "Help topics: " +} + +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Index" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Search" +{ + LTEXT "Not yet implemented", -1, 10, 10, 180, 150 } diff --git a/base/applications/winhlp32/lang/Sq.rc b/base/applications/winhlp32/lang/Sq.rc index 67b3112c5e4..1513456f506 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 */ -/* Menu */ - LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL MAIN_MENU MENU @@ -43,12 +41,6 @@ MAIN_MENU MENU MENUITEM "Percakto...", MNID_BKMK_DEFINE } POPUP "&Opsione" { - POPUP "Ndihma perhere e dukshme" - BEGIN - MENUITEM "Default", MNID_OPTS_HELP_DEFAULT - MENUITEM "Dukshem", MNID_OPTS_HELP_VISIBLE - MENUITEM "Nuk duket", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "Histori", MNID_OPTS_HISTORY POPUP "Fonts" BEGIN @@ -56,33 +48,30 @@ MAIN_MENU MENU MENUITEM "Normale", MNID_OPTS_FONTS_NORMAL MENUITEM "Madhe", MNID_OPTS_FONTS_LARGE END - MENUITEM "Perdor ngjyrat e sistemit", MNID_OPTS_SYSTEM_COLORS } POPUP "Ndihmë" { MENUITEM "Ndihmë &per ndihmen", MNID_HELP_HELPON MENUITEM "Perhere lart", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "Rreth ndihmes Wine", MNID_HELP_ABOUT } } -IDD_INDEX DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Index" -{ - LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER -} +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Shenime...", MNID_CTXT_ANNOTATE + MENUITEM "Kopjo", MNID_CTXT_COPY + MENUITEM "Printo...", MNID_CTXT_PRINT + POPUP "Fonts" + BEGIN + MENUITEM "Vogel", MNID_CTXT_FONTS_SMALL + MENUITEM "Normale", MNID_CTXT_FONTS_NORMAL + MENUITEM "Madhe", MNID_CTXT_FONTS_LARGE + END + END +END -IDD_SEARCH DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Kerko" -{ - LTEXT "Jo e implementuar", -1, 10, 10, 180, 150 -} - -/* Strings */ STRINGTABLE { STID_WINE_HELP, "Wine ndihme" @@ -101,25 +90,18 @@ STID_NO_RICHEDIT "Nuk gjendet nje implementim richedit... Nderprej" STID_PSH_INDEX, "Ndihme me teme: " } -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Shenime...", MNID_CTXT_ANNOTATE - MENUITEM "Kopjo", MNID_CTXT_COPY - MENUITEM "Printo...", MNID_CTXT_PRINT - POPUP "Fonts" - BEGIN - MENUITEM "Vogel", MNID_CTXT_FONTS_SMALL - MENUITEM "Normale", MNID_CTXT_FONTS_NORMAL - MENUITEM "Madhe", MNID_CTXT_FONTS_LARGE - END - POPUP "Ndihma perhere e dukshme" - BEGIN - MENUITEM "Default", MNID_CTXT_HELP_DEFAULT - MENUITEM "Dukshem", MNID_CTXT_HELP_VISIBLE - MENUITEM "Nuk duket", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Perdor ngjyrat e sistemit", MNID_CTXT_SYSTEM_COLORS - END -END +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Index" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Kerko" +{ + LTEXT "Jo e implementuar", -1, 10, 10, 180, 150 +} diff --git a/base/applications/winhlp32/lang/Sr.rc b/base/applications/winhlp32/lang/Sr.rc index a7bef59d987..1f32036fe57 100644 --- a/base/applications/winhlp32/lang/Sr.rc +++ b/base/applications/winhlp32/lang/Sr.rc @@ -21,50 +21,74 @@ #pragma code_page(65001) -/* Menu */ - LANGUAGE LANG_SERBIAN, SUBLANG_SERBIAN_LATIN MAIN_MENU MENU { - POPUP "&Fajl" { - MENUITEM "&Otvori", MNID_FILE_OPEN - MENUITEM SEPARATOR - MENUITEM "&Štampaj", MNID_FILE_PRINT - MENUITEM "Štampač &podešavanje...", MNID_FILE_SETUP - MENUITEM SEPARATOR - MENUITEM "I&zlaz", MNID_FILE_EXIT - } - POPUP "&Izmeni" { - MENUITEM "&Kopiraj...", MNID_EDIT_COPYDLG - MENUITEM SEPARATOR - MENUITEM "&Pribeleži...", MNID_EDIT_ANNOTATE - } - POPUP "&Označi" { - MENUITEM "&Odredi...", MNID_BKMK_DEFINE - } + POPUP "&Fajl" { + MENUITEM "&Otvori", MNID_FILE_OPEN + MENUITEM SEPARATOR + MENUITEM "&Štampaj", MNID_FILE_PRINT + MENUITEM "Štampač &podešavanje...", MNID_FILE_SETUP + MENUITEM SEPARATOR + MENUITEM "I&zlaz", MNID_FILE_EXIT + } + POPUP "&Izmeni" { + MENUITEM "&Kopiraj...", MNID_EDIT_COPYDLG + MENUITEM SEPARATOR + MENUITEM "&Pribeleži...", MNID_EDIT_ANNOTATE + } + POPUP "&Označi" { + MENUITEM "&Odredi...", MNID_BKMK_DEFINE + } POPUP "&Opcije" { - POPUP "Pomoć uvek vidljiva" - BEGIN - MENUITEM "Osnovno", MNID_OPTS_HELP_DEFAULT - MENUITEM "Vidljivo", MNID_OPTS_HELP_VISIBLE - MENUITEM "Nije vidljivo", MNID_OPTS_HELP_NONVISIBLE - END - MENUITEM "Istorija", MNID_OPTS_HISTORY - POPUP "Fontovi" - BEGIN - MENUITEM "Mali", MNID_OPTS_FONTS_SMALL - MENUITEM "Normalan", MNID_OPTS_FONTS_NORMAL - MENUITEM "Veliki", MNID_OPTS_FONTS_LARGE - END - MENUITEM "Koristi sistenske boje", MNID_OPTS_SYSTEM_COLORS - } - POPUP "&Pomoć" { - MENUITEM "Pomoć &na pomoći", MNID_HELP_HELPON - MENUITEM "Uvek na &vrhu", MNID_HELP_HELPTOP - MENUITEM SEPARATOR - MENUITEM "&Info...", MNID_HELP_ABOUT - } + MENUITEM "Istorija", MNID_OPTS_HISTORY + POPUP "Fontovi" + BEGIN + MENUITEM "Mali", MNID_OPTS_FONTS_SMALL + MENUITEM "Normalan", MNID_OPTS_FONTS_NORMAL + MENUITEM "Veliki", MNID_OPTS_FONTS_LARGE + END + } + POPUP "&Pomoć" { + MENUITEM "Pomoć &na pomoći", MNID_HELP_HELPON + MENUITEM "Uvek na &vrhu", MNID_HELP_HELPTOP + MENUITEM "&Info...", MNID_HELP_ABOUT + } +} + +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Beleške...", MNID_CTXT_ANNOTATE + MENUITEM "Kopiraj", MNID_CTXT_COPY + MENUITEM "Štampaj...", MNID_CTXT_PRINT + POPUP "Fontovi" + BEGIN + MENUITEM "Mali", MNID_CTXT_FONTS_SMALL + MENUITEM "Normalno", MNID_CTXT_FONTS_NORMAL + MENUITEM "Veliki", MNID_CTXT_FONTS_LARGE + END + END +END + +STRINGTABLE +{ +STID_WINE_HELP, "Wine Pomoć" +STID_WHERROR, "GREŠKA" +STID_WARNING, "UPOZORENJE" +STID_INFO, "Informacija" +STID_NOT_IMPLEMENTED, "Nije jos u programu" +STID_HLPFILE_ERROR_s, "Greška tokom čitanja pomoćnog fajla `%s'" +STID_INDEX, "&Index" +STID_CONTENTS, "Pregled" +STID_BACK, "&Nazad" +STID_ALL_FILES, "Svi fajlovi (*.*)" +STID_HELP_FILES_HLP, "Pomočni fajlovi (*.hlp)" +STID_FILE_NOT_FOUND_s "Ne mogu naći '%s'. Da li želite da sami nađete fajl?" +STID_NO_RICHEDIT "Ne mogu naći richedit ubacen... Prekidam" +STID_PSH_INDEX, "Teme pomoći: " } IDD_INDEX DIALOG 0, 0, 200, 190 @@ -82,45 +106,3 @@ CAPTION "Traži" { LTEXT "Not implemented yet", -1, 10, 10, 180, 150 } - -/* Strings */ -STRINGTABLE -{ -STID_WINE_HELP, "Wine Pomoć" -STID_WHERROR, "GREŠKA" -STID_WARNING, "UPOZORENJE" -STID_INFO, "Informacija" -STID_NOT_IMPLEMENTED, "Nije jos u programu" -STID_HLPFILE_ERROR_s, "Greška tokom čitanja pomoćnog fajla `%s'" -STID_INDEX, "&Index" -STID_CONTENTS, "Pregled" -STID_BACK, "&Nazad" -STID_ALL_FILES, "Svi fajlovi (*.*)" -STID_HELP_FILES_HLP, "Pomočni fajlovi (*.hlp)" -STID_FILE_NOT_FOUND_s "Ne mogu naći '%s'. Da li želite da sami nađete fajl?" -STID_NO_RICHEDIT "Ne mogu naći richedit ubacen... Prekidam" -STID_PSH_INDEX, "Teme pomoći: " -} - -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Beleške...", MNID_CTXT_ANNOTATE - MENUITEM "Kopiraj", MNID_CTXT_COPY - MENUITEM "Štampaj...", MNID_CTXT_PRINT - POPUP "Fontovi" - BEGIN - MENUITEM "Mali", MNID_CTXT_FONTS_SMALL - MENUITEM "Normalno", MNID_CTXT_FONTS_NORMAL - MENUITEM "Veliki", MNID_CTXT_FONTS_LARGE - END - POPUP "Pomoć uvek vidljiva" - BEGIN - MENUITEM "Osnovno", MNID_CTXT_HELP_DEFAULT - MENUITEM "Vidljiv", MNID_CTXT_HELP_VISIBLE - MENUITEM "Nije vidljiv", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Koristi sistemske boje", MNID_CTXT_SYSTEM_COLORS - END -END diff --git a/base/applications/winhlp32/lang/Sv.rc b/base/applications/winhlp32/lang/Sv.rc index cf03e05806c..5630b77eef0 100644 --- a/base/applications/winhlp32/lang/Sv.rc +++ b/base/applications/winhlp32/lang/Sv.rc @@ -24,8 +24,6 @@ LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL -/* Menu */ - MAIN_MENU MENU { POPUP "&Arkiv" { @@ -45,12 +43,6 @@ MAIN_MENU MENU MENUITEM "&Definiera...", MNID_BKMK_DEFINE } POPUP "A<ernativ" { - POPUP "Hjlpen alltid synlig" - BEGIN - MENUITEM "Standard", MNID_OPTS_HELP_DEFAULT - MENUITEM "Synlig", MNID_OPTS_HELP_VISIBLE - MENUITEM "Inte synlig", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "Historik", MNID_OPTS_HISTORY POPUP "Typsnitt" BEGIN @@ -58,33 +50,30 @@ MAIN_MENU MENU MENUITEM "Normalt", MNID_OPTS_FONTS_NORMAL MENUITEM "Stort", MNID_OPTS_FONTS_LARGE END - MENUITEM "Anvnd systemfrger", MNID_OPTS_SYSTEM_COLORS } POPUP "&Hjlp" { MENUITEM "Hjlp &fr hjlp", MNID_HELP_HELPON MENUITEM "Alltid &verst", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&Info...", MNID_HELP_ABOUT } } -IDD_INDEX DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Index" -{ - LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER -} +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Kommentar...", MNID_CTXT_ANNOTATE + MENUITEM "Kopiera", MNID_CTXT_COPY + MENUITEM "Skriv ut...", MNID_CTXT_PRINT + POPUP "Typsnitt" + BEGIN + MENUITEM "Litet", MNID_CTXT_FONTS_SMALL + MENUITEM "Normalt", MNID_CTXT_FONTS_NORMAL + MENUITEM "Stort", MNID_CTXT_FONTS_LARGE + END + END +END -IDD_SEARCH DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Sk" -{ - LTEXT "Inte implementerat nnu", -1, 10, 10, 180, 150 -} - -/* Strings */ STRINGTABLE { STID_WINE_HELP, "Wine Hjlp" @@ -103,25 +92,18 @@ STID_NO_RICHEDIT "Kan inte hitta en implementation av richedit... Avslutar" STID_PSH_INDEX, "Hjlprubriker: " } -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Kommentar...", MNID_CTXT_ANNOTATE - MENUITEM "Kopiera", MNID_CTXT_COPY - MENUITEM "Skriv ut...", MNID_CTXT_PRINT - POPUP "Typsnitt" - BEGIN - MENUITEM "Litet", MNID_CTXT_FONTS_SMALL - MENUITEM "Normalt", MNID_CTXT_FONTS_NORMAL - MENUITEM "Stort", MNID_CTXT_FONTS_LARGE - END - POPUP "Hjlp alltid synlig" - BEGIN - MENUITEM "Standard", MNID_CTXT_HELP_DEFAULT - MENUITEM "Synlig", MNID_CTXT_HELP_VISIBLE - MENUITEM "Ej synlig", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Anvnd systemfrger", MNID_CTXT_SYSTEM_COLORS - END -END +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Index" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Sk" +{ + LTEXT "Inte implementerat nnu", -1, 10, 10, 180, 150 +} diff --git a/base/applications/winhlp32/lang/Tr.rc b/base/applications/winhlp32/lang/Tr.rc index 04bcaf63265..c76b1dd5bb8 100644 --- a/base/applications/winhlp32/lang/Tr.rc +++ b/base/applications/winhlp32/lang/Tr.rc @@ -20,50 +20,74 @@ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT -/* Menu */ - MAIN_MENU MENU { POPUP "&Kütük" { - MENUITEM "&Aç...", MNID_FILE_OPEN + MENUITEM "&Aç...", MNID_FILE_OPEN MENUITEM SEPARATOR - MENUITEM "&Yazdır...", MNID_FILE_PRINT - MENUITEM "Ya&zıcı Ayarla...", MNID_FILE_SETUP - MENUITEM SEPARATOR - MENUITEM "&Çıkış", MNID_FILE_EXIT + MENUITEM "&Yazdır...", MNID_FILE_PRINT + MENUITEM "Ya&zıcı Ayarla...", MNID_FILE_SETUP + MENUITEM SEPARATOR + MENUITEM "&Çıkış", MNID_FILE_EXIT } POPUP "&Düzen" { - MENUITEM "&Çoğalt", MNID_EDIT_COPYDLG + MENUITEM "&Çoğalt", MNID_EDIT_COPYDLG MENUITEM SEPARATOR - MENUITEM "&Hâşiye Ekle...", MNID_EDIT_ANNOTATE + MENUITEM "&Hâşiye Ekle...", MNID_EDIT_ANNOTATE } POPUP "Y&er İmleri" { - MENUITEM "&Belirle...", MNID_BKMK_DEFINE + MENUITEM "&Belirle...", MNID_BKMK_DEFINE } POPUP "&Seçenekler" { - POPUP "&Sürekli Görünür" - BEGIN - MENUITEM "&Ön Tanımlı", MNID_OPTS_HELP_DEFAULT - MENUITEM "&Evet", MNID_OPTS_HELP_VISIBLE - MENUITEM "&Hayır", MNID_OPTS_HELP_NONVISIBLE - END - MENUITEM "&Geçmiş", MNID_OPTS_HISTORY - POPUP "&Yazı Tipi" + MENUITEM "&Geçmiş", MNID_OPTS_HISTORY + POPUP "&Yazı Tipi" BEGIN - MENUITEM "&Küçük", MNID_OPTS_FONTS_SMALL - MENUITEM "&Düzgülü", MNID_OPTS_FONTS_NORMAL - MENUITEM "&Büyük", MNID_OPTS_FONTS_LARGE + MENUITEM "&Küçük", MNID_OPTS_FONTS_SMALL + MENUITEM "&Düzgülü", MNID_OPTS_FONTS_NORMAL + MENUITEM "&Büyük", MNID_OPTS_FONTS_LARGE END - MENUITEM "&Dizge Renklerini Kullan", MNID_OPTS_SYSTEM_COLORS } POPUP "&Yardım" { - MENUITEM "&Yardım İçin Yardım", MNID_HELP_HELPON - MENUITEM "&Sürekli Üstte", MNID_HELP_HELPTOP - MENUITEM SEPARATOR - MENUITEM "&Üzerine...", MNID_HELP_ABOUT + MENUITEM "&Yardım İçin Yardım", MNID_HELP_HELPON + MENUITEM "&Sürekli Üstte", MNID_HELP_HELPTOP + MENUITEM "&Üzerine...", MNID_HELP_ABOUT } } +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Hâşiye Ekleme...", MNID_CTXT_ANNOTATE + MENUITEM "&Çoğalt", MNID_CTXT_COPY + MENUITEM "&Yazdır...", MNID_CTXT_PRINT + POPUP "Y&azı Tipi" + BEGIN + MENUITEM "&Küçük", MNID_CTXT_FONTS_SMALL + MENUITEM "&Düzgülü", MNID_CTXT_FONTS_NORMAL + MENUITEM "&Büyük", MNID_CTXT_FONTS_LARGE + END + END +END + +STRINGTABLE +{ +STID_WINE_HELP, "Yardım" +STID_WHERROR, "YANLIŞLIK" +STID_WARNING, "UYARI" +STID_INFO, "Bilgi" +STID_NOT_IMPLEMENTED, "Daha bitirilmemiştir." +STID_HLPFILE_ERROR_s, """%s"" kütüğü okunurken bir yanlışlık oldu." +STID_INDEX, "D&izin" +STID_CONTENTS, "İ&çindekiler" +STID_BACK, "&Geri" +STID_ALL_FILES, "Tüm Kütükler (*.*)" +STID_HELP_FILES_HLP, "Yardım Kütükleri (*.hlp)" +STID_FILE_NOT_FOUND_s """%s"" bulunamıyor. Bu kütüğü kendiniz bulmak istiyor musunuz?" +STID_NO_RICHEDIT "Zengin metin kitaplığı bulunamıyor. Çıkılacaktır." +STID_PSH_INDEX, "Yardım Konuları: " +} + IDD_INDEX DIALOG 0, 0, 200, 190 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU FONT 8, "MS Shell Dlg" @@ -79,45 +103,3 @@ CAPTION "Bul" { LTEXT "Daha bitirilmemiştir.", -1, 10, 10, 180, 150 } - -/* Strings */ -STRINGTABLE -{ -STID_WINE_HELP, "Yardım" -STID_WHERROR, "YANLIŞLIK" -STID_WARNING, "UYARI" -STID_INFO, "Bilgi" -STID_NOT_IMPLEMENTED, "Daha bitirilmemiştir." -STID_HLPFILE_ERROR_s, """%s"" kütüğü okunurken bir yanlışlık oldu." -STID_INDEX, "D&izin" -STID_CONTENTS, "İ&çindekiler" -STID_BACK, "&Geri" -STID_ALL_FILES, "Tüm Kütükler (*.*)" -STID_HELP_FILES_HLP, "Yardım Kütükleri (*.hlp)" -STID_FILE_NOT_FOUND_s, """%s"" bulunamıyor. Bu kütüğü kendiniz bulmak istiyor musunuz?" -STID_NO_RICHEDIT, "Zengin metin kitaplığı bulunamıyor. Çıkılacaktır." -STID_PSH_INDEX, "Yardım Konuları: " -} - -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "&Hâşiye Ekleme...", MNID_CTXT_ANNOTATE - MENUITEM "&Çoğalt", MNID_CTXT_COPY - MENUITEM "&Yazdır...", MNID_CTXT_PRINT - POPUP "Y&azı Tipi" - BEGIN - MENUITEM "&Küçük", MNID_CTXT_FONTS_SMALL - MENUITEM "&Düzgülü", MNID_CTXT_FONTS_NORMAL - MENUITEM "&Büyük", MNID_CTXT_FONTS_LARGE - END - POPUP "&Sürekli Görünür" - BEGIN - MENUITEM "&Ön Tanımlı", MNID_CTXT_HELP_DEFAULT - MENUITEM "&Evet", MNID_CTXT_HELP_VISIBLE - MENUITEM "&Hayır", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "&Dizge Renklerini Kullan", MNID_CTXT_SYSTEM_COLORS - END -END diff --git a/base/applications/winhlp32/lang/Uk.rc b/base/applications/winhlp32/lang/Uk.rc index e71332dc3b0..33a44d04000 100644 --- a/base/applications/winhlp32/lang/Uk.rc +++ b/base/applications/winhlp32/lang/Uk.rc @@ -28,8 +28,6 @@ LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT -/* Menu */ - MAIN_MENU MENU { POPUP "&Файл" { @@ -49,12 +47,6 @@ MAIN_MENU MENU MENUITEM "&Задати...", MNID_BKMK_DEFINE } POPUP "&Налаштування" { - POPUP "Видимість Довідки" - BEGIN - MENUITEM "За замовчуванням", MNID_OPTS_HELP_DEFAULT - MENUITEM "Зверху", MNID_OPTS_HELP_VISIBLE - MENUITEM "Не зверху", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "Історія", MNID_OPTS_HISTORY POPUP "Шрифти" BEGIN @@ -62,33 +54,30 @@ MAIN_MENU MENU MENUITEM "Нормальний", MNID_OPTS_FONTS_NORMAL MENUITEM "Великий", MNID_OPTS_FONTS_LARGE END - MENUITEM "Використати системні кольори", MNID_OPTS_SYSTEM_COLORS } POPUP "&Довідка" { MENUITEM "Довідка &про Довідку", MNID_HELP_HELPON MENUITEM "Завжди &зверху", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "&Інформація...", MNID_HELP_ABOUT } } -IDD_INDEX DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Вказівник" -{ - LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER -} +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Замітки...", MNID_CTXT_ANNOTATE + MENUITEM "Копіювати", MNID_CTXT_COPY + MENUITEM "Друк...", MNID_CTXT_PRINT + POPUP "Шрифти" + BEGIN + MENUITEM "Малий", MNID_CTXT_FONTS_SMALL + MENUITEM "Нормальний", MNID_CTXT_FONTS_NORMAL + MENUITEM "Великий", MNID_CTXT_FONTS_LARGE + END + END +END -IDD_SEARCH DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "Пошук" -{ - LTEXT "Ще не впроваджено", -1, 10, 10, 180, 150 -} - -/* Strings */ STRINGTABLE { STID_WINE_HELP, "Довідка Wine" @@ -107,25 +96,18 @@ STID_NO_RICHEDIT "Не можу знайти richedit... Скасовую" STID_PSH_INDEX, "Розділи Довідки: " } -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "Замітки...", MNID_CTXT_ANNOTATE - MENUITEM "Копіювати", MNID_CTXT_COPY - MENUITEM "Друк...", MNID_CTXT_PRINT - POPUP "Шрифти" - BEGIN - MENUITEM "Малий", MNID_CTXT_FONTS_SMALL - MENUITEM "Нормальний", MNID_CTXT_FONTS_NORMAL - MENUITEM "Великий", MNID_CTXT_FONTS_LARGE - END - POPUP "Видимість Довідки" - BEGIN - MENUITEM "За замовчуванням", MNID_CTXT_HELP_DEFAULT - MENUITEM "Зверху", MNID_CTXT_HELP_VISIBLE - MENUITEM "Не зверху", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "Використати системні кольори", MNID_CTXT_SYSTEM_COLORS - END -END +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Вказівник" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Пошук" +{ + LTEXT "Ще не впроваджено", -1, 10, 10, 180, 150 +} diff --git a/base/applications/winhlp32/lang/Zh.rc b/base/applications/winhlp32/lang/Zh.rc index 5c40837d51e..06af702b06c 100644 --- a/base/applications/winhlp32/lang/Zh.rc +++ b/base/applications/winhlp32/lang/Zh.rc @@ -26,8 +26,6 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED -/* Menu */ - MAIN_MENU MENU { POPUP "文件(&F)" { @@ -47,12 +45,6 @@ MAIN_MENU MENU MENUITEM "定义(&D)...", MNID_BKMK_DEFINE } POPUP "选项(&O)" { - POPUP "总是显示帮助" - BEGIN - MENUITEM "默认", MNID_OPTS_HELP_DEFAULT - MENUITEM "显示", MNID_OPTS_HELP_VISIBLE - MENUITEM "不显示", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "历史", MNID_OPTS_HISTORY POPUP "字体" BEGIN @@ -60,33 +52,30 @@ MAIN_MENU MENU MENUITEM "中号", MNID_OPTS_FONTS_NORMAL MENUITEM "大号", MNID_OPTS_FONTS_LARGE END - MENUITEM "使用系统颜色", MNID_OPTS_SYSTEM_COLORS } POPUP "帮助(&H)" { MENUITEM "如何使用帮助(&O)", MNID_HELP_HELPON MENUITEM "总是在最前面(&T)", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "关于 Wine 帮助(&I)...", MNID_HELP_ABOUT } } -IDD_INDEX DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "索引" -{ - LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER -} +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "注释...", MNID_CTXT_ANNOTATE + MENUITEM "复制", MNID_CTXT_COPY + MENUITEM "打印...", MNID_CTXT_PRINT + POPUP "字体" + BEGIN + MENUITEM "小号", MNID_CTXT_FONTS_SMALL + MENUITEM "中号", MNID_CTXT_FONTS_NORMAL + MENUITEM "大号", MNID_CTXT_FONTS_LARGE + END + END +END -IDD_SEARCH DIALOG 0, 0, 200, 190 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -FONT 8, "MS Shell Dlg" -CAPTION "搜索" -{ - LTEXT "尚未实现", -1, 10, 10, 180, 150 -} - -/* Strings */ STRINGTABLE { STID_WINE_HELP, "Wine 帮助" @@ -105,33 +94,24 @@ STID_NO_RICHEDIT "找不到 richedit 的实现……终止" STID_PSH_INDEX, "帮助主题:" } -CONTEXT_MENU MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "注释...", MNID_CTXT_ANNOTATE - MENUITEM "复制", MNID_CTXT_COPY - MENUITEM "打印...", MNID_CTXT_PRINT - POPUP "字体" - BEGIN - MENUITEM "小号", MNID_CTXT_FONTS_SMALL - MENUITEM "中号", MNID_CTXT_FONTS_NORMAL - MENUITEM "大号", MNID_CTXT_FONTS_LARGE - END - POPUP "总是显示帮助" - BEGIN - MENUITEM "默认", MNID_CTXT_HELP_DEFAULT - MENUITEM "显示", MNID_CTXT_HELP_VISIBLE - MENUITEM "不显示", MNID_CTXT_HELP_NONVISIBLE - END - MENUITEM "使用系统颜色", MNID_CTXT_SYSTEM_COLORS - END -END +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "索引" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "搜索" +{ + LTEXT "尚未实现", -1, 10, 10, 180, 150 +} LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL -/* Menu */ - MAIN_MENU MENU { POPUP "檔案(&F)" { @@ -151,12 +131,6 @@ MAIN_MENU MENU MENUITEM "定義(&D)...", MNID_BKMK_DEFINE } POPUP "選項(&O)" { - POPUP "顯示幫助" - BEGIN - MENUITEM "默認", MNID_OPTS_HELP_DEFAULT - MENUITEM "顯示", MNID_OPTS_HELP_VISIBLE - MENUITEM "不顯示", MNID_OPTS_HELP_NONVISIBLE - END MENUITEM "歷史", MNID_OPTS_HISTORY POPUP "字型" BEGIN @@ -164,17 +138,30 @@ MAIN_MENU MENU MENUITEM "中號", MNID_OPTS_FONTS_NORMAL MENUITEM "大號", MNID_OPTS_FONTS_LARGE END - MENUITEM "使用系統顏色", MNID_OPTS_SYSTEM_COLORS } POPUP "幫助(&H)" { MENUITEM "如何使用幫助(&O)", MNID_HELP_HELPON MENUITEM "總是在最上面(&T)", MNID_HELP_HELPTOP - MENUITEM SEPARATOR MENUITEM "資訊(&I)...", MNID_HELP_ABOUT } } -/* Strings */ +CONTEXT_MENU MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Annotation...", MNID_CTXT_ANNOTATE + MENUITEM "Copy", MNID_CTXT_COPY + MENUITEM "Print...", MNID_CTXT_PRINT + POPUP "Fonts" + BEGIN + MENUITEM "Small", MNID_CTXT_FONTS_SMALL + MENUITEM "Normal", MNID_CTXT_FONTS_NORMAL + MENUITEM "Large", MNID_CTXT_FONTS_LARGE + END + END +END + STRINGTABLE { STID_WINE_HELP, "Wine 幫助" @@ -192,3 +179,19 @@ STID_FILE_NOT_FOUND_s "不能開啟檔案 '%s'. 你想要自己找這個檔案 STID_NO_RICHEDIT "找不到 richedit... 終止" STID_PSH_INDEX, "幫助內容: " } + +IDD_INDEX DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Index" +{ + LISTBOX IDC_INDEXLIST, 10, 10, 180, 150, LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_BORDER +} + +IDD_SEARCH DIALOG 0, 0, 200, 190 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +FONT 8, "MS Shell Dlg" +CAPTION "Search" +{ + LTEXT "Not yet implemented", -1, 10, 10, 180, 150 +} diff --git a/base/applications/winhlp32/macro.c b/base/applications/winhlp32/macro.c index 5a86c8188fe..8852eb7f5af 100644 --- a/base/applications/winhlp32/macro.c +++ b/base/applications/winhlp32/macro.c @@ -795,7 +795,7 @@ static void CALLBACK MACRO_RegisterRoutine(LPCSTR dll_name, LPCSTR proc, LPCSTR else MACRO_Loaded = HeapReAlloc(GetProcessHeap(), 0, MACRO_Loaded, size); MACRO_Loaded[MACRO_NumLoaded - 1].name = StrDup(proc); /* FIXME: never freed */ MACRO_Loaded[MACRO_NumLoaded - 1].alias = NULL; - MACRO_Loaded[MACRO_NumLoaded - 1].isBool = 0; + MACRO_Loaded[MACRO_NumLoaded - 1].isBool = FALSE; MACRO_Loaded[MACRO_NumLoaded - 1].arguments = StrDup(args); /* FIXME: never freed */ MACRO_Loaded[MACRO_NumLoaded - 1].fn = fn; WINE_TRACE("Added %s(%s) at %p\n", proc, args, fn); diff --git a/base/applications/winhlp32/rsrc.rc b/base/applications/winhlp32/rsrc.rc index c18863531f6..7c9c20db492 100644 --- a/base/applications/winhlp32/rsrc.rc +++ b/base/applications/winhlp32/rsrc.rc @@ -24,6 +24,14 @@ #include "winhelp_res.h" +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL + + +MAIN_ACCEL ACCELERATORS +{ + VK_F1, MNID_HELP_HELPON, VIRTKEY +} + /* @makedep: winhelp.ico */ IDI_WINHELP ICON "res/winhelp.ico" diff --git a/base/applications/winhlp32/winhelp.c b/base/applications/winhlp32/winhelp.c index 754fc1ad6f6..86e181d7cdd 100644 --- a/base/applications/winhlp32/winhelp.c +++ b/base/applications/winhlp32/winhelp.c @@ -51,7 +51,7 @@ static void WINHELP_InitFonts(HWND hWnd) #define FONTS_LEN (sizeof(logfontlist)/sizeof(*logfontlist)) static HFONT fonts[FONTS_LEN]; - static BOOL init = 0; + static BOOL init = FALSE; win->fonts_len = FONTS_LEN; win->fonts = fonts; @@ -65,7 +65,7 @@ static void WINHELP_InitFonts(HWND hWnd) fonts[i] = CreateFontIndirectW(&logfontlist[i]); } - init = 1; + init = TRUE; } } @@ -161,7 +161,7 @@ BOOL WINHELP_GetOpenFileName(LPSTR lpszFile, int len) openfilename.nMaxFileTitle = 0; openfilename.lpstrInitialDir = szDir; openfilename.lpstrTitle = 0; - openfilename.Flags = OFN_ENABLESIZING; + openfilename.Flags = OFN_ENABLESIZING | OFN_HIDEREADONLY | OFN_READONLY; openfilename.nFileOffset = 0; openfilename.nFileExtension = 0; openfilename.lpstrDefExt = 0; @@ -1112,7 +1112,6 @@ static LRESULT CALLBACK WINHELP_HistoryWndProc(HWND hWnd, UINT msg, WPARAM wPara win->hHistoryWnd = hWnd; break; case WM_CREATE: - win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0); hDc = GetDC(hWnd); GetTextMetricsW(hDc, &tm); GetWindowRect(hWnd, &r); @@ -1127,7 +1126,6 @@ static LRESULT CALLBACK WINHELP_HistoryWndProc(HWND hWnd, UINT msg, WPARAM wPara ReleaseDC(hWnd, hDc); break; case WM_LBUTTONDOWN: - win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0); hDc = GetDC(hWnd); GetTextMetricsW(hDc, &tm); i = HIWORD(lParam) / tm.tmHeight; @@ -1137,7 +1135,6 @@ static LRESULT CALLBACK WINHELP_HistoryWndProc(HWND hWnd, UINT msg, WPARAM wPara break; case WM_PAINT: hDc = BeginPaint(hWnd, &ps); - win = (WINHELP_WINDOW*) GetWindowLongPtrW(hWnd, 0); GetTextMetricsW(hDc, &tm); for (i = 0; i < Globals.history.index; i++) diff --git a/base/applications/winhlp32/winhelp_res.h b/base/applications/winhlp32/winhelp_res.h index 9c8324dab62..dccf2304906 100644 --- a/base/applications/winhlp32/winhelp_res.h +++ b/base/applications/winhlp32/winhelp_res.h @@ -10,14 +10,10 @@ #define MNID_BKMK_DEFINE 0x121 -#define MNID_OPTS_HELP_DEFAULT 0x131 -#define MNID_OPTS_HELP_VISIBLE 0x132 -#define MNID_OPTS_HELP_NONVISIBLE 0x133 #define MNID_OPTS_HISTORY 0x134 #define MNID_OPTS_FONTS_SMALL 0x135 #define MNID_OPTS_FONTS_NORMAL 0x136 #define MNID_OPTS_FONTS_LARGE 0x137 -#define MNID_OPTS_SYSTEM_COLORS 0x138 #define MNID_HELP_HELPON 0x141 #define MNID_HELP_HELPTOP 0x142 @@ -29,10 +25,6 @@ #define MNID_CTXT_FONTS_SMALL 0x210 #define MNID_CTXT_FONTS_NORMAL 0x211 #define MNID_CTXT_FONTS_LARGE 0x212 -#define MNID_CTXT_HELP_DEFAULT 0x220 -#define MNID_CTXT_HELP_VISIBLE 0x221 -#define MNID_CTXT_HELP_NONVISIBLE 0x222 -#define MNID_CTXT_SYSTEM_COLORS 0x230 #define MAIN_MENU 0xF000 #define CONTEXT_MENU 0xF001 diff --git a/base/applications/wordpad/CMakeLists.txt b/base/applications/wordpad/CMakeLists.txt index 96f5f3c7db0..4a1c36e54f4 100644 --- a/base/applications/wordpad/CMakeLists.txt +++ b/base/applications/wordpad/CMakeLists.txt @@ -2,7 +2,6 @@ remove_definitions(-D_WIN32_IE=0x600) add_definitions(-D__ROS_LONG64__) - include_directories(BEFORE ${REACTOS_SOURCE_DIR}/include/reactos/wine) list(APPEND SOURCE @@ -13,7 +12,6 @@ list(APPEND SOURCE rsrc.rc) add_executable(wordpad ${SOURCE}) - set_module_type(wordpad win32gui) target_link_libraries(wordpad wine uuid) add_importlibs(wordpad comdlg32 ole32 shell32 user32 gdi32 advapi32 comctl32 msvcrt kernel32 ntdll) diff --git a/base/applications/wordpad/lang/Da.rc b/base/applications/wordpad/lang/Da.rc index 02760c53140..caa61970031 100644 --- a/base/applications/wordpad/lang/Da.rc +++ b/base/applications/wordpad/lang/Da.rc @@ -17,8 +17,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - #pragma code_page(65001) LANGUAGE LANG_DANISH, SUBLANG_DEFAULT @@ -27,27 +25,27 @@ IDM_MAINMENU MENU BEGIN POPUP "&Fil" BEGIN - MENUITEM "&Ny...\tCtrl+N", ID_FILE_NEW - MENUITEM "&Åben...\tCtrl+O", ID_FILE_OPEN - MENUITEM "&Gemme\tCtrl+S", ID_FILE_SAVE - MENUITEM "Gemme &som...", ID_FILE_SAVEAS + MENUITEM "&Ny...\tCtrl+N", ID_FILE_NEW + MENUITEM "&Åben...\tCtrl+O", ID_FILE_OPEN + MENUITEM "&Gemme\tCtrl+S", ID_FILE_SAVE + MENUITEM "Gemme &som...", ID_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "&Udskriv...\tCtrl+P", ID_PRINT - MENUITEM "&Forhåndsvisning...", ID_PREVIEW - MENUITEM "&Side indstillinger...", ID_PRINTSETUP + MENUITEM "&Udskriv...\tCtrl+P", ID_PRINT + MENUITEM "&Forhåndsvisning...", ID_PREVIEW + MENUITEM "&Side indstillinger...", ID_PRINTSETUP MENUITEM SEPARATOR - MENUITEM "&Afslut", ID_FILE_EXIT + MENUITEM "&Afslut", ID_FILE_EXIT END POPUP "R&ediger" BEGIN - MENUITEM "&Fortryd\tCtrl+Z", ID_EDIT_UNDO - MENUITEM "&Gendag\tCtrl+Y", ID_EDIT_REDO + MENUITEM "&Fortryd\tCtrl+Z", ID_EDIT_UNDO + MENUITEM "&Gendag\tCtrl+Y", ID_EDIT_REDO MENUITEM SEPARATOR - MENUITEM "&Klip\tCtrl+X", ID_EDIT_CUT - MENUITEM "K&opier\tCtrl+C", ID_EDIT_COPY - MENUITEM "&Indsæt\tCtrl+V", ID_EDIT_PASTE - MENUITEM "&Fjern\tDEL", ID_EDIT_CLEAR - MENUITEM "&Marker alt\tCtrl+A", ID_EDIT_SELECTALL + MENUITEM "&Klip\tCtrl+X", ID_EDIT_CUT + MENUITEM "K&opier\tCtrl+C", ID_EDIT_COPY + MENUITEM "&Indsæt\tCtrl+V", ID_EDIT_PASTE + MENUITEM "&Fjern\tDEL", ID_EDIT_CLEAR + MENUITEM "&Marker alt\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR MENUITEM "&Søg efter...\tCtrl+F", ID_FIND MENUITEM "Søg efter &næste\tF3", ID_FIND_NEXT @@ -59,40 +57,40 @@ BEGIN POPUP "&Ekstra" BEGIN MENUITEM "&Information om markeret område", ID_EDIT_SELECTIONINFO - MENUITEM "Tegn&format", ID_EDIT_CHARFORMAT - MENUITEM "Stan&dard tegnformat", ID_EDIT_DEFCHARFORMAT - MENUITEM "&Afsnitsformat", ID_EDIT_PARAFORMAT - MENUITEM "&Hent tekst", ID_EDIT_GETTEXT + MENUITEM "Tegn&format", ID_EDIT_CHARFORMAT + MENUITEM "Stan&dard tegnformat", ID_EDIT_DEFCHARFORMAT + MENUITEM "&Afsnitsformat", ID_EDIT_PARAFORMAT + MENUITEM "&Hent tekst", ID_EDIT_GETTEXT END END POPUP "&Vis" BEGIN - MENUITEM "Værk&tøjslinie", ID_TOGGLE_TOOLBAR - MENUITEM "&Formatteringlinie", ID_TOGGLE_FORMATBAR - MENUITEM "&Lineal", ID_TOGGLE_RULER - MENUITEM "&Statuslinie", ID_TOGGLE_STATUSBAR + MENUITEM "Værk&tøjslinie", ID_TOGGLE_TOOLBAR + MENUITEM "&Formatteringlinie", ID_TOGGLE_FORMATBAR + MENUITEM "&Lineal", ID_TOGGLE_RULER + MENUITEM "&Statuslinie", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR - MENUITEM "&Alternativer...", ID_VIEWPROPERTIES + MENUITEM "&Alternativer...", ID_VIEWPROPERTIES END POPUP "&Indsæt" BEGIN - MENUITEM "&Dato og tid...", ID_DATETIME + MENUITEM "&Dato og tid...", ID_DATETIME END POPUP "F&ormat" BEGIN - MENUITEM "&Skrifttype...", ID_FONTSETTINGS - MENUITEM "&Bullets", ID_BULLET - MENUITEM "&Afsnit...", ID_PARAFORMAT - MENUITEM "&Tabulatorer...", ID_TABSTOPS + MENUITEM "&Skrifttype...", ID_FONTSETTINGS + MENUITEM "&Bullets", ID_BULLET + MENUITEM "&Afsnit...", ID_PARAFORMAT + MENUITEM "&Tabulatorer...", ID_TABSTOPS POPUP "&Baggrund" BEGIN - MENUITEM "&System\tCtrl+1", ID_BACK_1 - MENUITEM "&Huskeseddel\tCtrl+2", ID_BACK_2 + MENUITEM "&System\tCtrl+1", ID_BACK_1 + MENUITEM "&Huskeseddel\tCtrl+2", ID_BACK_2 END END POPUP "&Hjælp" BEGIN - MENUITEM "&Om Wine Wordpad", ID_ABOUT + MENUITEM "&Om Wine Wordpad", ID_ABOUT END END @@ -113,110 +111,36 @@ IDM_COLOR_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "Sort", ID_COLOR_BLACK - MENUITEM "Mørkerød", ID_COLOR_MAROON - MENUITEM "Grøn", ID_COLOR_GREEN - MENUITEM "Oliven", ID_COLOR_OLIVE - MENUITEM "Navy", ID_COLOR_NAVY - MENUITEM "Lilla", ID_COLOR_PURPLE - MENUITEM "Teal", ID_COLOR_TEAL - MENUITEM "Grå", ID_COLOR_GRAY - MENUITEM "Sølv", ID_COLOR_SILVER - MENUITEM "Rød", ID_COLOR_RED - MENUITEM "Lime", ID_COLOR_LIME - MENUITEM "Gul", ID_COLOR_YELLOW - MENUITEM "Blå", ID_COLOR_BLUE - MENUITEM "Violet", ID_COLOR_FUCHSIA - MENUITEM "Cyan", ID_COLOR_AQUA - MENUITEM "Hvid", ID_COLOR_WHITE - MENUITEM "Automatic", ID_COLOR_AUTOMATIC + MENUITEM "Sort", ID_COLOR_BLACK + MENUITEM "Mørkerød", ID_COLOR_MAROON + MENUITEM "Grøn", ID_COLOR_GREEN + MENUITEM "Oliven", ID_COLOR_OLIVE + MENUITEM "Navy", ID_COLOR_NAVY + MENUITEM "Lilla", ID_COLOR_PURPLE + MENUITEM "Teal", ID_COLOR_TEAL + MENUITEM "Grå", ID_COLOR_GRAY + MENUITEM "Sølv", ID_COLOR_SILVER + MENUITEM "Rød", ID_COLOR_RED + MENUITEM "Lime", ID_COLOR_LIME + MENUITEM "Gul", ID_COLOR_YELLOW + MENUITEM "Blå", ID_COLOR_BLUE + MENUITEM "Violet", ID_COLOR_FUCHSIA + MENUITEM "Cyan", ID_COLOR_AQUA + MENUITEM "Hvid", ID_COLOR_WHITE + MENUITEM "Automatic", ID_COLOR_AUTOMATIC END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Dato og tid" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Tilgængelige formater",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "&Annuller",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Ny" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Ny dokumenttype",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "&Annuller",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Formater afsnit" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Indryk", -1, 10, 10, 120, 68 - LTEXT "Venstre", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Højre", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Første linie", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Justering", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Annuller", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Tabulatorer" -FONT 8, "MS SHell DLg" -BEGIN - GROUPBOX "Tabulatorstop", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Tilføj", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "&Fjern", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Annuller", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "Fjern all&e", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Liniebrydning", -1, 10, 10, 130, 85 - RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "Bryd tekst efter v&indusbredden", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "Bryd tekst efter &margen", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Værktøjslinier", -1, 150, 10, 120, 85 - CHECKBOX "&Værktøjslinie", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "&Formatteringlinie", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Lineal", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "&Statuslinie", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN - STRING_RICHTEXT_FILES_RTF, "Rig tekstformat (*.rtf)" + STRING_ALL_FILES, "Alle filer (*.*)" STRING_TEXT_FILES_TXT, "Tekstdokument (*.txt)" STRING_TEXT_FILES_UNICODE_TXT, "Unicode-tekstdokument (*.txt)" - STRING_ALL_FILES, "Alle filer (*.*)" -END - -STRINGTABLE -BEGIN - STRING_NEWFILE_RICHTEXT, "Rig tekstdokument" - STRING_NEWFILE_TXT, "Tekstdokument" - STRING_NEWFILE_TXT_UNICODE, "Tekstdokument (Unicode)" + STRING_RICHTEXT_FILES_RTF, "Rig tekstformat (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Rig tekstdokument" + STRING_NEWFILE_TXT, "Tekstdokument" + STRING_NEWFILE_TXT_UNICODE, "Tekstdokument (Unicode)" + STRING_PRINTER_FILES_PRN, "Printerfiler (*.PRN)" END STRINGTABLE @@ -226,11 +150,6 @@ BEGIN STRING_ALIGN_CENTER, "Midterstillet" END -STRINGTABLE -BEGIN - STRING_PRINTER_FILES_PRN, "Printerfiler (*.PRN)" -END - STRINGTABLE BEGIN STRING_VIEWPROPS_TITLE, "Alternativer" @@ -272,3 +191,74 @@ BEGIN STRING_PRINTING_NOT_IMPLEMENTED, "Udskrivning er endnu ikke implementeret." STRING_MAX_TAB_STOPS, "Kan ikke tilføje mere end 32 tabulatorer." END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Dato og tid" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Tilgængelige formater",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "&Annuller",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Ny" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Ny dokumenttype",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "&Annuller",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Formater afsnit" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Indryk", -1, 10, 10, 140, 68 + LTEXT "Venstre", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Højre", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Første linie", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Justering", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "&Annuller", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabulatorer" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Tabulatorstop", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Tilføj", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Fjern", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "&Annuller", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Fjern all&e", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Liniebrydning", -1, 5, 10, 145, 85 + RADIOBUTTON "&No line wrapping", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "Bryd tekst efter v&indusbredden", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Bryd tekst efter &margen", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Værktøjslinier", -1, 155, 10, 115, 85 + CHECKBOX "&Værktøjslinie", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "&Formatteringlinie", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Lineal", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "&Statuslinie", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/De.rc b/base/applications/wordpad/lang/De.rc index d22f978062a..eaa82f57ff5 100644 --- a/base/applications/wordpad/lang/De.rc +++ b/base/applications/wordpad/lang/De.rc @@ -16,17 +16,15 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" +#pragma code_page(65001) LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL -#pragma code_page(65001) - IDM_MAINMENU MENU BEGIN POPUP "&Datei" BEGIN - MENUITEM "&Neu...\tStrg+N", ID_FILE_NEW + MENUITEM "&Neu...\tStrg+N", ID_FILE_NEW MENUITEM "Ö&ffnen...\tStrg+O", ID_FILE_OPEN MENUITEM "&Speichern\tStrg+S", ID_FILE_SAVE MENUITEM "Speichern &unter...", ID_FILE_SAVEAS @@ -66,16 +64,16 @@ BEGIN END POPUP "&Ansicht" BEGIN - MENUITEM "&Symbolleiste", ID_TOGGLE_TOOLBAR - MENUITEM "&Formatierungsleiste", ID_TOGGLE_FORMATBAR - MENUITEM "L&ineal", ID_TOGGLE_RULER - MENUITEM "Status&leiste", ID_TOGGLE_STATUSBAR + MENUITEM "&Symbolleiste", ID_TOGGLE_TOOLBAR + MENUITEM "&Formatierungsleiste", ID_TOGGLE_FORMATBAR + MENUITEM "L&ineal", ID_TOGGLE_RULER + MENUITEM "Status&leiste", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR - MENUITEM "&Optionen...", ID_VIEWPROPERTIES + MENUITEM "&Optionen...", ID_VIEWPROPERTIES END POPUP "&Einfügen" BEGIN - MENUITEM "&Datum und Uhrzeit...", ID_DATETIME + MENUITEM "&Datum und Uhrzeit...", ID_DATETIME END POPUP "Forma&t" BEGIN @@ -86,12 +84,12 @@ BEGIN POPUP "&Hintergrund" BEGIN MENUITEM "&System\tStrg+1", ID_BACK_1 - MENUITEM "&PostIt-Notiz\tStrg+2", ID_BACK_2 + MENUITEM "&PostIt-Notiz\tStrg+2", ID_BACK_2 END END POPUP "&?" BEGIN - MENUITEM "Ü&ber Wine Wordpad", ID_ABOUT + MENUITEM "Ü&ber Wine Wordpad", ID_ABOUT END END @@ -112,103 +110,36 @@ IDM_COLOR_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "Schwarz", ID_COLOR_BLACK - MENUITEM "Kastanienbraun",ID_COLOR_MAROON - MENUITEM "Grün", ID_COLOR_GREEN - MENUITEM "Olivgrün", ID_COLOR_OLIVE - MENUITEM "Dunkelblau", ID_COLOR_NAVY - MENUITEM "Lila", ID_COLOR_PURPLE - MENUITEM "Blaugrün", ID_COLOR_TEAL - MENUITEM "Grau", ID_COLOR_GRAY - MENUITEM "Silber", ID_COLOR_SILVER - MENUITEM "Rot", ID_COLOR_RED - MENUITEM "Hellgrün", ID_COLOR_LIME - MENUITEM "Gelb", ID_COLOR_YELLOW - MENUITEM "Blau", ID_COLOR_BLUE - MENUITEM "Pink", ID_COLOR_FUCHSIA - MENUITEM "Aquamarin", ID_COLOR_AQUA - MENUITEM "Weiß", ID_COLOR_WHITE - MENUITEM "Automatisch", ID_COLOR_AUTOMATIC + MENUITEM "Schwarz", ID_COLOR_BLACK + MENUITEM "Kastanienbraun", ID_COLOR_MAROON + MENUITEM "Grün", ID_COLOR_GREEN + MENUITEM "Olivgrün", ID_COLOR_OLIVE + MENUITEM "Dunkelblau", ID_COLOR_NAVY + MENUITEM "Lila", ID_COLOR_PURPLE + MENUITEM "Blaugrün", ID_COLOR_TEAL + MENUITEM "Grau", ID_COLOR_GRAY + MENUITEM "Silber", ID_COLOR_SILVER + MENUITEM "Rot", ID_COLOR_RED + MENUITEM "Hellgrün", ID_COLOR_LIME + MENUITEM "Gelb", ID_COLOR_YELLOW + MENUITEM "Blau", ID_COLOR_BLUE + MENUITEM "Pink", ID_COLOR_FUCHSIA + MENUITEM "Aquamarin", ID_COLOR_AQUA + MENUITEM "Weiß", ID_COLOR_WHITE + MENUITEM "Automatisch", ID_COLOR_AUTOMATIC END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Datum und Uhrzeit" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Verfügbare Formate",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "A&bbrechen",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Neu" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Neuer Dokumenttyp",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "A&bbrechen",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Absatz" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Einzug", -1, 10, 10, 120, 68 - LTEXT "Links", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Rechts", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Erste Zeile", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Ausrichtung", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "A&bbrechen", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Tabstopps" -FONT 8, "MS SHell DLg" -BEGIN - GROUPBOX "Tabstoppposition", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Festlegen", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "&Löschen", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "A&bbrechen", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "&Alle löschen", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Zeilenumbruch", -1, 10, 10, 130, 85 - RADIOBUTTON "&Kein Zeilenumbruch", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "&Am Fenster umbrechen", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "A&m Lineal umbrechen", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Symbolleisten", -1, 150, 10, 120, 85 - CHECKBOX "&Symbolleiste", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "&Formatierungsleiste", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "L&ineal", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "Status&leiste", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN - STRING_RICHTEXT_FILES_RTF, "RTF-Format (*.rtf)" + STRING_ALL_FILES, "Alle Dokumente (*.*)" STRING_TEXT_FILES_TXT, "Textdokumente (*.txt)" STRING_TEXT_FILES_UNICODE_TXT, "Unicode-Textdokumente (*.txt)" - STRING_ALL_FILES, "Alle Dokumente (*.*)" + STRING_RICHTEXT_FILES_RTF, "RTF-Format (*.rtf)" + STRING_NEWFILE_RICHTEXT, "RTF-Dokument" + STRING_NEWFILE_TXT, "Textdokument" + STRING_NEWFILE_TXT_UNICODE, "Unicode-Textdokument" + STRING_PRINTER_FILES_PRN, "Druckerdateien (*.PRN)" END STRINGTABLE @@ -218,18 +149,6 @@ BEGIN STRING_ALIGN_CENTER, "Zentriert" END -STRINGTABLE -BEGIN - STRING_NEWFILE_RICHTEXT, "RTF-Dokument" - STRING_NEWFILE_TXT, "Textdokument" - STRING_NEWFILE_TXT_UNICODE, "Unicode-Textdokument" -END - -STRINGTABLE -BEGIN - STRING_PRINTER_FILES_PRN, "Druckerdateien (*.PRN)" -END - STRINGTABLE BEGIN STRING_VIEWPROPS_TITLE, "Optionen" @@ -264,10 +183,81 @@ BEGIN STRING_SAVE_LOSEFORMATTING, "Sie sind dabei, die Datei als Textdatei zu speichern. Dadurch geht die Formatierung verloren. Möchten Sie den Vorgang trotzdem fortsetzen?" STRING_INVALID_NUMBER, "Diese Maßeinheit ist nicht zulässig." STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE-Dokumentenspeicherung wird nicht unterstützt." - STRING_WRITE_FAILED, "Die Datei konnte nicht gespeichert werden." - STRING_WRITE_ACCESS_DENIED, "Sie haben keine ausreichende Zugriffsberechtigung um die Datei zu speichern." - STRING_OPEN_FAILED, "Die Datei konnte nicht geöffnet werden." - STRING_OPEN_ACCESS_DENIED, "Sie haben keine ausreichende Zugriffsberechtigung um die Datei zu öffnen." - STRING_PRINTING_NOT_IMPLEMENTED, "Drucken ist nicht implementiert" - STRING_MAX_TAB_STOPS, "Es können nur maximal 32 Tabstopps definiert werden." + STRING_WRITE_FAILED, "Die Datei konnte nicht gespeichert werden." + STRING_WRITE_ACCESS_DENIED, "Sie haben keine ausreichende Zugriffsberechtigung um die Datei zu speichern." + STRING_OPEN_FAILED, "Die Datei konnte nicht geöffnet werden." + STRING_OPEN_ACCESS_DENIED, "Sie haben keine ausreichende Zugriffsberechtigung um die Datei zu öffnen." + STRING_PRINTING_NOT_IMPLEMENTED, "Drucken ist nicht implementiert" + STRING_MAX_TAB_STOPS, "Es können nur maximal 32 Tabstopps definiert werden." +END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Datum und Uhrzeit" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Verfügbare Formate",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "A&bbrechen",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Neu" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Neuer Dokumenttyp",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "A&bbrechen",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Absatz" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Einzug", -1, 10, 10, 140, 68 + LTEXT "Links", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Rechts", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Erste Zeile", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Ausrichtung", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "A&bbrechen", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabstopps" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Tabstoppposition", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Festlegen", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Löschen", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "A&bbrechen", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "&Alle löschen", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Zeilenumbruch", -1, 5, 10, 145, 85 + RADIOBUTTON "&Kein Zeilenumbruch", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "&Am Fenster umbrechen", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "A&m Lineal umbrechen", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Symbolleisten", -1, 155, 10, 115, 85 + CHECKBOX "&Symbolleiste", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "&Formatierungsleiste", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "L&ineal", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "Status&leiste", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 END diff --git a/base/applications/wordpad/lang/En.rc b/base/applications/wordpad/lang/En.rc index 5b3d73187de..f4836590ca3 100644 --- a/base/applications/wordpad/lang/En.rc +++ b/base/applications/wordpad/lang/En.rc @@ -16,8 +16,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT IDM_MAINMENU MENU @@ -30,8 +28,8 @@ BEGIN MENUITEM "Save &as...", ID_FILE_SAVEAS MENUITEM SEPARATOR MENUITEM "&Print...\tCtrl+P", ID_PRINT - MENUITEM "Print previe&w...", ID_PREVIEW - MENUITEM "Pag&e setup...", ID_PRINTSETUP + MENUITEM "Print previe&w", ID_PREVIEW + MENUITEM "Page Se&tup...", ID_PRINTSETUP MENUITEM SEPARATOR MENUITEM "E&xit", ID_FILE_EXIT END @@ -43,7 +41,7 @@ BEGIN MENUITEM "Cu&t\tCtrl+X", ID_EDIT_CUT MENUITEM "&Copy\tCtrl+C", ID_EDIT_COPY MENUITEM "&Paste\tCtrl+V", ID_EDIT_PASTE - MENUITEM "&Clear\tDEL", ID_EDIT_CLEAR + MENUITEM "&Clear\tDel", ID_EDIT_CLEAR MENUITEM "&Select all\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR MENUITEM "&Find...\tCtrl+F", ID_FIND @@ -65,9 +63,9 @@ BEGIN POPUP "&View" BEGIN MENUITEM "&Toolbar", ID_TOGGLE_TOOLBAR - MENUITEM "&Formatbar", ID_TOGGLE_FORMATBAR + MENUITEM "&Format Bar", ID_TOGGLE_FORMATBAR MENUITEM "&Ruler", ID_TOGGLE_RULER - MENUITEM "&Statusbar", ID_TOGGLE_STATUSBAR + MENUITEM "&Status Bar", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR MENUITEM "&Options...", ID_VIEWPROPERTIES END @@ -84,12 +82,12 @@ BEGIN POPUP "Backgroun&d" BEGIN MENUITEM "&System\tCtrl+1", ID_BACK_1 - MENUITEM "&PostThat yellowish\tCtrl+2", ID_BACK_2 + MENUITEM "&Pale yellow\tCtrl+2", ID_BACK_2 END END POPUP "&Help" BEGIN - MENUITEM "&About Wine Wordpad", ID_ABOUT + MENUITEM "&About Wine Wordpad", ID_ABOUT END END @@ -130,77 +128,6 @@ BEGIN END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Date and time" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Available formats",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "&Cancel",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "New" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "New document type",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "&Cancel",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Paragraph format" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Indentation", -1, 10, 10, 120, 68 - LTEXT "Left", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Right", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "First line", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Alignment", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Cancel", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Tabs" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Tab stops", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Add", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "&Remove", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Cancel", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "Remove al&l", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Line wrapping", -1, 10, 10, 130, 85 - RADIOBUTTON "&No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Toolbars", -1, 150, 10, 120, 85 - CHECKBOX "&Toolbar", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "&Formatbar", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Ruler", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "&Statusbar", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN STRING_ALL_FILES, "All documents (*.*)" @@ -210,7 +137,7 @@ BEGIN STRING_NEWFILE_RICHTEXT, "Rich text document" STRING_NEWFILE_TXT, "Text document" STRING_NEWFILE_TXT_UNICODE, "Unicode text document" - STRING_PRINTER_FILES_PRN, "Printer files (*.PRN)" + STRING_PRINTER_FILES_PRN, "Printer files (*.prn)" END STRINGTABLE @@ -252,21 +179,83 @@ BEGIN STRING_SEARCH_FINISHED, "Finished searching the document." STRING_LOAD_RICHED_FAILED, "Failed to load the RichEdit library." STRING_SAVE_LOSEFORMATTING, "You have chosen to save in plain text format, which will cause all formatting to be lost. Are you sure that you wish to do this?" - STRING_INVALID_NUMBER, "Invalid number format" - STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage documents are not supported" + STRING_INVALID_NUMBER, "Invalid number format." + STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage documents are not supported." STRING_WRITE_FAILED, "Could not save the file." STRING_WRITE_ACCESS_DENIED, "You do not have access to save the file." STRING_OPEN_FAILED, "Could not open the file." STRING_OPEN_ACCESS_DENIED, "You do not have access to open the file." - STRING_PRINTING_NOT_IMPLEMENTED, "Printing not implemented" + STRING_PRINTING_NOT_IMPLEMENTED, "Printing not implemented." STRING_MAX_TAB_STOPS, "Cannot add more than 32 tab stops." END -LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL - -STRINGTABLE +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Date and time" +FONT 8, "MS Shell Dlg" BEGIN - STRING_ALIGN_LEFT, "Left" - STRING_ALIGN_RIGHT, "Right" - STRING_ALIGN_CENTER, "Centre" + LTEXT "Available formats",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "Cancel",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "New" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "New document type",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "Cancel",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Paragraph format" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Indentation", -1, 10, 10, 140, 68 + LTEXT "Left", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Right", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "First line", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Alignment", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "Cancel", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabs" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Tab stops", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Add", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Remove", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "Cancel", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Remove al&l", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Line wrapping", -1, 5, 10, 145, 85 + RADIOBUTTON "&No line wrapping", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Toolbars", -1, 155, 10, 115, 85 + CHECKBOX "&Toolbar", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "&Format Bar", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Ruler", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "&Status Bar", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 END diff --git a/base/applications/wordpad/lang/Es.rc b/base/applications/wordpad/lang/Es.rc new file mode 100644 index 00000000000..76db69d95e3 --- /dev/null +++ b/base/applications/wordpad/lang/Es.rc @@ -0,0 +1,262 @@ +/* + * Copyright 2004 by Krzysztof Foltman + * Copyright 2014 Ismael Ferreras Morezuelas + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL + +IDM_MAINMENU MENU +BEGIN + POPUP "&Archivo" + BEGIN + MENUITEM "&Nuevo...\tCtrl+N", ID_FILE_NEW + MENUITEM "&Abrir...\tCtrl+O", ID_FILE_OPEN + MENUITEM "&Guardar\tCtrl+S", ID_FILE_SAVE + MENUITEM "Guardar &como...", ID_FILE_SAVEAS + MENUITEM SEPARATOR + MENUITEM "&Imprimir...\tCtrl+P", ID_PRINT + MENUITEM "&Vista previa de impresión", ID_PREVIEW + MENUITEM "&Configuración de página...", ID_PRINTSETUP + MENUITEM SEPARATOR + MENUITEM "&Salir", ID_FILE_EXIT + END + POPUP "&Edición" + BEGIN + MENUITEM "&Deshacer\tCtrl+Z", ID_EDIT_UNDO + MENUITEM "&Rehacer\tCtrl+Y", ID_EDIT_REDO + MENUITEM SEPARATOR + MENUITEM "&Cortar\tCtrl+X", ID_EDIT_CUT + MENUITEM "Cop&iar\tCtrl+C", ID_EDIT_COPY + MENUITEM "&Pegar\tCtrl+V", ID_EDIT_PASTE + MENUITEM "&Borrar todo\tDel", ID_EDIT_CLEAR + MENUITEM "S&eleccionar todo\tCtrl+A", ID_EDIT_SELECTALL + MENUITEM SEPARATOR + MENUITEM "&Buscar...\tCtrl+F", ID_FIND + MENUITEM "&Buscar siguiente\tF3", ID_FIND_NEXT + MENUITEM "&Reemplazar...\tCtrl+H", ID_REPLACE + MENUITEM SEPARATOR + MENUITEM "Sólo &lectura", ID_EDIT_READONLY + MENUITEM "&Modificado", ID_EDIT_MODIFIED + MENUITEM SEPARATOR + POPUP "E&xtras" + BEGIN + MENUITEM "&Información de selección", ID_EDIT_SELECTIONINFO + MENUITEM "Formato de caracteres", ID_EDIT_CHARFORMAT + MENUITEM "&Formato de caracteres por defecto", ID_EDIT_DEFCHARFORMAT + MENUITEM "&Formato de párrafo", ID_EDIT_PARAFORMAT + MENUITEM "&Mostrar texto", ID_EDIT_GETTEXT + END + END + POPUP "&Ver" + BEGIN + MENUITEM "&Barra de herramientas", ID_TOGGLE_TOOLBAR + MENUITEM "&Barra de formato", ID_TOGGLE_FORMATBAR + MENUITEM "&Regla", ID_TOGGLE_RULER + MENUITEM "&Barra de estado", ID_TOGGLE_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Opciones...", ID_VIEWPROPERTIES + END + POPUP "&Insertar" + BEGIN + MENUITEM "&Fecha y hora...", ID_DATETIME + END + POPUP "F&ormato" + BEGIN + MENUITEM "&Fuente...", ID_FONTSETTINGS + MENUITEM "&Viñetas", ID_BULLET + MENUITEM "&Párrafo...", ID_PARAFORMAT + MENUITEM "&Tabulación...", ID_TABSTOPS + POPUP "&Fondo" + BEGIN + MENUITEM "&Sistema\tCtrl+1", ID_BACK_1 + MENUITEM "&Amarillo pálido\tCtrl+2", ID_BACK_2 + END + END + POPUP "&Ayuda" + BEGIN + MENUITEM "&Acerca del Wordpad de Wine", ID_ABOUT + END +END + +IDM_POPUP MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Cortar", ID_EDIT_CUT + MENUITEM "Cop&iar", ID_EDIT_COPY + MENUITEM "P&egar", ID_EDIT_PASTE + MENUITEM SEPARATOR + MENUITEM "&Viñetas", ID_BULLET + MENUITEM "&Párrafo...", ID_PARAFORMAT + END +END + +IDM_COLOR_POPUP MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Negro", ID_COLOR_BLACK + MENUITEM "Granate", ID_COLOR_MAROON + MENUITEM "Verde", ID_COLOR_GREEN + MENUITEM "Aceitunado", ID_COLOR_OLIVE + MENUITEM "Azul marino", ID_COLOR_NAVY + MENUITEM "Morado", ID_COLOR_PURPLE + MENUITEM "Verde azulado", ID_COLOR_TEAL + MENUITEM "Gris", ID_COLOR_GRAY + MENUITEM "Plateado", ID_COLOR_SILVER + MENUITEM "Rojo", ID_COLOR_RED + MENUITEM "Lima", ID_COLOR_LIME + MENUITEM "Amarillo", ID_COLOR_YELLOW + MENUITEM "Azul", ID_COLOR_BLUE + MENUITEM "Fucsia", ID_COLOR_FUCHSIA + MENUITEM "Aguamarina", ID_COLOR_AQUA + MENUITEM "Blanco", ID_COLOR_WHITE + MENUITEM "Automático", ID_COLOR_AUTOMATIC + END +END + +STRINGTABLE +BEGIN + STRING_ALL_FILES, "Todos los documentos (*.*)" + STRING_TEXT_FILES_TXT, "Documentos de texto (*.txt)" + STRING_TEXT_FILES_UNICODE_TXT, "Documentos de texto Unicode (*.txt)" + STRING_RICHTEXT_FILES_RTF, "Texto en formato enriquecido (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Documento de texto enriquecido" + STRING_NEWFILE_TXT, "Documento de texto" + STRING_NEWFILE_TXT_UNICODE, "Documento de texto Unicode" + STRING_PRINTER_FILES_PRN, "Archivos de impresión (*.prn)" +END + +STRINGTABLE +BEGIN + STRING_ALIGN_LEFT, "Izquierda" + STRING_ALIGN_RIGHT, "Derecha" + STRING_ALIGN_CENTER, "Centrado" +END + +STRINGTABLE +BEGIN + STRING_VIEWPROPS_TITLE, "Opciones" + STRING_VIEWPROPS_TEXT, "Texto" + STRING_VIEWPROPS_RICHTEXT, "Texto enriquecido" +END + +STRINGTABLE +BEGIN + STRING_PREVIEW_PRINT, "Imprimir" + STRING_PREVIEW_NEXTPAGE, "Siguiente página" + STRING_PREVIEW_PREVPAGE, "Página anterior" + STRING_PREVIEW_TWOPAGES, "Dos páginas" + STRING_PREVIEW_ONEPAGE, "Una página" + STRING_PREVIEW_ZOOMIN, "Acercar" + STRING_PREVIEW_ZOOMOUT, "Alejar" + STRING_PREVIEW_CLOSE, "Cerrar" + STRING_PREVIEW_PAGE, "Página" + STRING_PREVIEW_PAGES, "Páginas" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "in" + STRING_UNITS_INCH, "pulgadas" + STRING_UNITS_PT, "pt" +END + +STRINGTABLE +BEGIN + STRING_DEFAULT_FILENAME, "Documento" + STRING_PROMPT_SAVE_CHANGES, "¿Guardar cambios a '%s'?" + STRING_SEARCH_FINISHED, "Ha terminado la búsqueda en el documento." + STRING_LOAD_RICHED_FAILED, "No se ha podido cargar la biblioteca RichEdit." + STRING_SAVE_LOSEFORMATTING, "Has elegido guardar en formato de texto plano, lo que causará que se pierda todo el formato. ¿Seguro que quieres hacerlo?" + STRING_INVALID_NUMBER, "El formato numérico no es válido." + STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage documents are not supported." + STRING_WRITE_FAILED, "No se pudo guardar el archivo." + STRING_WRITE_ACCESS_DENIED, "No hay permisos suficientes para escribir en el archivo." + STRING_OPEN_FAILED, "No se pudo leer el archivo." + STRING_OPEN_ACCESS_DENIED, "No hay permisos suficientes para abrir el archivo." + STRING_PRINTING_NOT_IMPLEMENTED, "La impresión todavía no se ha implementado." + STRING_MAX_TAB_STOPS, "No se pueden añadir más de 32 marcas de tabulación." +END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Fecha y hora" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Formatos disponibles",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "Aceptar",IDOK,87,12,40,12 + PUSHBUTTON "Cancelar",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Nuevo" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Nuevo tipo de documento",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "Aceptar",IDOK,97,12,40,12 + PUSHBUTTON "Cancelar",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Formato de párrafo" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Sangría", -1, 10, 10, 140, 68 + LTEXT "Izquierda", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Derecha", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Primera línea", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Alineación", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "Aceptar", IDOK, 160, 15, 50, 15 + PUSHBUTTON "Cancelar", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Pestañas" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Marcas de tabulación", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Añadir", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Borrar", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "Aceptar", IDOK, 135, 15, 58, 15 + PUSHBUTTON "Cancelar", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Borrar todo", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Ajuste de línea", -1, 5, 10, 145, 85 + RADIOBUTTON "&Sin ajuste de línea", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "Ajustar texto a la ventana", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Ajustar texto al margen", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Barras de herramientas", -1, 155, 10, 115, 85 + CHECKBOX "&Barra de herramientas", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "&Barra de formato", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Regla", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "&Barra de estado", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/Fr.rc b/base/applications/wordpad/lang/Fr.rc index 9f202d39370..b8506fd0561 100644 --- a/base/applications/wordpad/lang/Fr.rc +++ b/base/applications/wordpad/lang/Fr.rc @@ -17,45 +17,40 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - -/* UTF-8 */ -#pragma code_page(65001) - LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL IDM_MAINMENU MENU BEGIN POPUP "&Fichier" BEGIN - MENUITEM "&Nouveau...\tCtrl+N", ID_FILE_NEW - MENUITEM "&Ouvrir...\tCtrl+O", ID_FILE_OPEN - MENUITEM "&Enregistrer\tCtrl+S", ID_FILE_SAVE - MENUITEM "Enregistrer &sous...", ID_FILE_SAVEAS + MENUITEM "&Nouveau...\tCtrl+N", ID_FILE_NEW + MENUITEM "&Ouvrir...\tCtrl+O", ID_FILE_OPEN + MENUITEM "&Enregistrer\tCtrl+S", ID_FILE_SAVE + MENUITEM "Enregistrer &sous...", ID_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "&Imprimer...\tCtrl+P", ID_PRINT - MENUITEM "A&perçu avant impression...", ID_PREVIEW - MENUITEM "&Mise en page...", ID_PRINTSETUP + MENUITEM "&Imprimer...\tCtrl+P", ID_PRINT + MENUITEM "A&perçu avant impression...", ID_PREVIEW + MENUITEM "&Mise en page...", ID_PRINTSETUP MENUITEM SEPARATOR - MENUITEM "&Quitter", ID_FILE_EXIT + MENUITEM "&Quitter", ID_FILE_EXIT END POPUP "É&dition" BEGIN - MENUITEM "&Annuler\tCtrl+Z", ID_EDIT_UNDO - MENUITEM "&Rétablir\tCtrl+Y", ID_EDIT_REDO + MENUITEM "&Annuler\tCtrl+Z", ID_EDIT_UNDO + MENUITEM "&Rétablir\tCtrl+Y", ID_EDIT_REDO MENUITEM SEPARATOR - MENUITEM "&Couper\tCtrl+X", ID_EDIT_CUT - MENUITEM "Co&pier\tCtrl+C", ID_EDIT_COPY - MENUITEM "C&oller\tCtrl+V", ID_EDIT_PASTE - MENUITEM "&Effacer\tDel", ID_EDIT_CLEAR - MENUITEM "&Sélectionner tout\tCtrl+A", ID_EDIT_SELECTALL + MENUITEM "&Couper\tCtrl+X", ID_EDIT_CUT + MENUITEM "Co&pier\tCtrl+C", ID_EDIT_COPY + MENUITEM "C&oller\tCtrl+V", ID_EDIT_PASTE + MENUITEM "&Effacer\tDel", ID_EDIT_CLEAR + MENUITEM "&Sélectionner tout\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "&Rechercher...\tCtrl+F", ID_FIND - MENUITEM "Rechercher le &suivant\tF3", ID_FIND_NEXT - MENUITEM "&Remplacer...\tCtrl+H", ID_REPLACE + MENUITEM "&Rechercher...\tCtrl+F", ID_FIND + MENUITEM "Rechercher le &suivant\tF3", ID_FIND_NEXT + MENUITEM "&Remplacer...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR - MENUITEM "Lecture &seule", ID_EDIT_READONLY - MENUITEM "&Modifié", ID_EDIT_MODIFIED + MENUITEM "Lecture &seule", ID_EDIT_READONLY + MENUITEM "&Modifié", ID_EDIT_MODIFIED MENUITEM SEPARATOR POPUP "&Avancé" BEGIN @@ -68,12 +63,12 @@ BEGIN END POPUP "&Affichage" BEGIN - MENUITEM "&Barre d'outils", ID_TOGGLE_TOOLBAR - MENUITEM "&Barre de format", ID_TOGGLE_FORMATBAR - MENUITEM "&Règle", ID_TOGGLE_RULER - MENUITEM "&Barre d'état", ID_TOGGLE_STATUSBAR + MENUITEM "&Barre d'outils", ID_TOGGLE_TOOLBAR + MENUITEM "&Barre de format", ID_TOGGLE_FORMATBAR + MENUITEM "&Règle", ID_TOGGLE_RULER + MENUITEM "&Barre d'état", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR - MENUITEM "&Options...", ID_VIEWPROPERTIES + MENUITEM "&Options...", ID_VIEWPROPERTIES END POPUP "&Insertion" BEGIN @@ -81,19 +76,19 @@ BEGIN END POPUP "Forma&t" BEGIN - MENUITEM "&Police...", ID_FONTSETTINGS - MENUITEM "Pu&ces", ID_BULLET - MENUITEM "Para&graphe...", ID_PARAFORMAT - MENUITEM "&Tabulations...", ID_TABSTOPS + MENUITEM "&Police...", ID_FONTSETTINGS + MENUITEM "Pu&ces", ID_BULLET + MENUITEM "Para&graphe...", ID_PARAFORMAT + MENUITEM "&Tabulations...", ID_TABSTOPS POPUP "&Arrière-plan" BEGIN - MENUITEM "&Système\tCtrl+1", ID_BACK_1 - MENUITEM "&Jaune pâle\tCtrl+2", ID_BACK_2 + MENUITEM "&Système\tCtrl+1", ID_BACK_1 + MENUITEM "&Jaune pâle\tCtrl+2", ID_BACK_2 END END POPUP "Aid&e" BEGIN - MENUITEM "À &propos du Wordpad de Wine", ID_ABOUT + MENUITEM "À &propos du Wordpad de Wine", ID_ABOUT END END @@ -105,8 +100,8 @@ BEGIN MENUITEM "Co&pier", ID_EDIT_COPY MENUITEM "C&oller", ID_EDIT_PASTE MENUITEM SEPARATOR - MENUITEM "P&uces", ID_BULLET - MENUITEM "Para&graphe", ID_PARAFORMAT + MENUITEM "P&uces", ID_BULLET + MENUITEM "Para&graphe", ID_PARAFORMAT END END @@ -134,83 +129,16 @@ BEGIN END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Date et heure" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Formats disponibles",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "&Annuler",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Nouveau" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Nouveau type de document",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "&Annuler",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Format de paragraphe" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Indentation", -1, 10, 10, 120, 68 - LTEXT "Gauche", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Droite", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Première ligne", -1, 15, 58, 40, 18 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Alignement", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Annuler", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Tabulations" -FONT 8, "MS SHell DLg" -BEGIN - GROUPBOX "Taquets de tabulation", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "A&jouter", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "&Supprimer", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 137, 15, 56, 15 - PUSHBUTTON "&Annuler", IDCANCEL, 137, 33, 56, 15 - PUSHBUTTON "Supprimer &tous", ID_TAB_EMPTY, 137, 51, 56, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Passage à la ligne automatique", -1, 10, 10, 140, 85 - RADIOBUTTON "&Aucun", IDC_PAGEFMT_WN, 18, 25, 127, 15 - RADIOBUTTON "Au niveau de la bordure de fe&nêtre", IDC_PAGEFMT_WW, 18, 45, 127, 15 - RADIOBUTTON "Au niveau de la &marge", IDC_PAGEFMT_WM, 18, 65, 127, 15 - GROUPBOX "Barres d'outils", -1, 156, 10, 115, 85 - CHECKBOX "&Barre d'outils", IDC_PAGEFMT_TB, 166, 20, 80, 15 - CHECKBOX "Barre de &format", IDC_PAGEFMT_FB, 166, 38, 80, 15 - CHECKBOX "&Règle", IDC_PAGEFMT_RU, 166, 56, 80, 15 - CHECKBOX "Barre de &statut", IDC_PAGEFMT_SB, 166, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN + STRING_ALL_FILES, "Tous les documents (*.*)" STRING_RICHTEXT_FILES_RTF, "Format de texte enrichi (*.rtf)" STRING_TEXT_FILES_TXT, "Documents texte (*.txt)" STRING_TEXT_FILES_UNICODE_TXT, "Documents texte Unicode (*.txt)" - STRING_ALL_FILES, "Tous les documents (*.*)" + STRING_NEWFILE_RICHTEXT, "Format de texte enrichi (RTF)" + STRING_NEWFILE_TXT, "Document texte" + STRING_NEWFILE_TXT_UNICODE, "Document texte Unicode" + STRING_PRINTER_FILES_PRN, "Fichiers d'impression (*.PRN)" END STRINGTABLE @@ -220,18 +148,6 @@ BEGIN STRING_ALIGN_CENTER, "Centrer" END -STRINGTABLE -BEGIN - STRING_NEWFILE_RICHTEXT, "Format de texte enrichi (RTF)" - STRING_NEWFILE_TXT, "Document texte" - STRING_NEWFILE_TXT_UNICODE, "Document texte Unicode" -END - -STRINGTABLE -BEGIN - STRING_PRINTER_FILES_PRN, "Fichiers d'impression (*.PRN)" -END - STRINGTABLE BEGIN STRING_VIEWPROPS_TITLE, "Options" @@ -273,3 +189,74 @@ BEGIN STRING_PRINTING_NOT_IMPLEMENTED, "L'impression n'est pas implémentée" STRING_MAX_TAB_STOPS, "Impossible d'ajouter plus de 32 taquets de tabulation." END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Date et heure" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Formats disponibles",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "&Annuler",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Nouveau" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Nouveau type de document",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "&Annuler",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Format de paragraphe" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Indentation", -1, 10, 10, 140, 68 + LTEXT "Gauche", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Droite", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Première ligne", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Alignement", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "&Annuler", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabulations" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Taquets de tabulation", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "A&jouter", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Supprimer", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "&Annuler", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Supprimer &tous", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Passage à la ligne automatique", -1, 5, 10, 145, 85 + RADIOBUTTON "&Aucun", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "Au niveau de la bordure de fe&nêtre", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Au niveau de la &marge", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Barres d'outils", -1, 156, 10, 115, 85 + CHECKBOX "&Barre d'outils", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "Barre de &format", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Règle", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "Barre de &statut", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/He.rc b/base/applications/wordpad/lang/He.rc index 21ff7b80c5a..f56a71391d5 100644 --- a/base/applications/wordpad/lang/He.rc +++ b/base/applications/wordpad/lang/He.rc @@ -18,8 +18,6 @@ * Translated by Baruch Rutman 2013 */ -#include "wordpad.h" - /* UTF-8 */ #pragma code_page(65001) @@ -83,9 +81,9 @@ BEGIN POPUP "עיצוב" BEGIN MENUITEM "גופן...", ID_FONTSETTINGS - MENUITEM "&Bullet points", ID_BULLET - MENUITEM "פסקה...", ID_PARAFORMAT - MENUITEM "&Tabs...", ID_TABSTOPS + MENUITEM "&Bullet points", ID_BULLET + MENUITEM "פסקה...", ID_PARAFORMAT + MENUITEM "&Tabs...", ID_TABSTOPS POPUP "רקע" BEGIN MENUITEM "מערכת\tCtrl+1", ID_BACK_1 @@ -102,12 +100,12 @@ IDM_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "גזור", ID_EDIT_CUT - MENUITEM "העתק", ID_EDIT_COPY - MENUITEM "הדבק", ID_EDIT_PASTE + MENUITEM "גזור", ID_EDIT_CUT + MENUITEM "העתק", ID_EDIT_COPY + MENUITEM "הדבק", ID_EDIT_PASTE MENUITEM SEPARATOR MENUITEM "&Bullet points", ID_BULLET - MENUITEM "פיסקה...", ID_PARAFORMAT + MENUITEM "פיסקה...", ID_PARAFORMAT END END @@ -115,97 +113,26 @@ IDM_COLOR_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "שחור", ID_COLOR_BLACK + MENUITEM "שחור", ID_COLOR_BLACK MENUITEM "Maroon", ID_COLOR_MAROON - MENUITEM "ירוק", ID_COLOR_GREEN - MENUITEM "ירוק זית", ID_COLOR_OLIVE + MENUITEM "ירוק", ID_COLOR_GREEN + MENUITEM "ירוק זית", ID_COLOR_OLIVE MENUITEM "Navy", ID_COLOR_NAVY - MENUITEM "סגול", ID_COLOR_PURPLE + MENUITEM "סגול", ID_COLOR_PURPLE MENUITEM "Teal", ID_COLOR_TEAL - MENUITEM "אפור", ID_COLOR_GRAY - MENUITEM "כסוף", ID_COLOR_SILVER - MENUITEM "אדום", ID_COLOR_RED - MENUITEM "ירוק ליים", ID_COLOR_LIME - MENUITEM "צהוב", ID_COLOR_YELLOW - MENUITEM "כחול", ID_COLOR_BLUE - MENUITEM "פוקסיה", ID_COLOR_FUCHSIA + MENUITEM "אפור", ID_COLOR_GRAY + MENUITEM "כסוף", ID_COLOR_SILVER + MENUITEM "אדום", ID_COLOR_RED + MENUITEM "ירוק ליים", ID_COLOR_LIME + MENUITEM "צהוב", ID_COLOR_YELLOW + MENUITEM "כחול", ID_COLOR_BLUE + MENUITEM "פוקסיה", ID_COLOR_FUCHSIA MENUITEM "Aqua", ID_COLOR_AQUA - MENUITEM "לבן", ID_COLOR_WHITE - MENUITEM "אוטומטי", ID_COLOR_AUTOMATIC + MENUITEM "לבן", ID_COLOR_WHITE + MENUITEM "אוטומטי", ID_COLOR_AUTOMATIC END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "תאריך ושעה" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "תצורות זמינות",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "אישור",IDOK,87,12,40,12 - PUSHBUTTON "ביטול",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "חדש" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "סוג המסמך החדש",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "אישור",IDOK,97,12,40,12 - PUSHBUTTON "ביטול",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "עיצוב פסקה" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "ריווח", -1, 10, 10, 120, 68 - LTEXT "שמאל", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "ימין", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "שורה ראשונה", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "יישור", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "אישור", IDOK, 137, 15, 50, 15 - PUSHBUTTON "ביטול", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "טאבים" -FONT 8, "MS SHell DLg" -BEGIN - GROUPBOX "Tab stops", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "הוסף", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "הסר", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "אישור", IDOK, 137, 15, 50, 15 - PUSHBUTTON "ביטול", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "הסר הכל", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "גלישת שורות", -1, 10, 10, 130, 85 - RADIOBUTTON "ללא גלישת שורות", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "סרגלי כלים", -1, 150, 10, 120, 85 - CHECKBOX "סרגל כלים", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "סרגל עיצוב", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Ruler", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "שורת מצב", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN STRING_ALL_FILES, "כל המסמכים (*.*)" @@ -215,7 +142,7 @@ BEGIN STRING_NEWFILE_RICHTEXT, "מסמך טקסט עשיר" STRING_NEWFILE_TXT, "מסמך טקסט" STRING_NEWFILE_TXT_UNICODE, "מסמך טקסט (יוניקוד)" - STRING_PRINTER_FILES_PRN, "Printer files (*.PRN)" + STRING_PRINTER_FILES_PRN, "Printer files (*.prn)" END STRINGTABLE @@ -266,3 +193,74 @@ BEGIN STRING_PRINTING_NOT_IMPLEMENTED, "Printing not implemented" STRING_MAX_TAB_STOPS, "Cannot add more than 32 tab stops." END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "תאריך ושעה" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "תצורות זמינות",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "אישור",IDOK,87,12,40,12 + PUSHBUTTON "ביטול",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "חדש" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "סוג המסמך החדש",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "אישור",IDOK,97,12,40,12 + PUSHBUTTON "ביטול",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "עיצוב פסקה" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "ריווח", -1, 10, 10, 140, 68 + LTEXT "שמאל", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "ימין", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "שורה ראשונה", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "יישור", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "אישור", IDOK, 160, 15, 50, 15 + PUSHBUTTON "ביטול", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "טאבים" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Tab stops", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "הוסף", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "הסר", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "אישור", IDOK, 135, 15, 58, 15 + PUSHBUTTON "ביטול", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "הסר הכל", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "גלישת שורות", -1, 5, 10, 145, 85 + RADIOBUTTON "ללא גלישת שורות", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "סרגלי כלים", -1, 155, 10, 115, 85 + CHECKBOX "סרגל כלים", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "סרגל עיצוב", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Ruler", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "שורת מצב", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/Hu.rc b/base/applications/wordpad/lang/Hu.rc index c73f16d7b3e..62c24d6f2b2 100644 --- a/base/applications/wordpad/lang/Hu.rc +++ b/base/applications/wordpad/lang/Hu.rc @@ -16,24 +16,22 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT IDM_MAINMENU MENU BEGIN POPUP "&Fjl" BEGIN - MENUITEM "&j...\tCtrl+N", ID_FILE_NEW + MENUITEM "&j...\tCtrl+N", ID_FILE_NEW MENUITEM "&Megnyits...\tCtrl+O", ID_FILE_OPEN MENUITEM "M&ents\tCtrl+S", ID_FILE_SAVE - MENUITEM "Ments m&sknt...", ID_FILE_SAVEAS + MENUITEM "Ments m&sknt...", ID_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "&Print...\tCtrl+P", ID_PRINT - MENUITEM "Print previe&w...", ID_PREVIEW - MENUITEM "Page setup...", ID_PRINTSETUP + MENUITEM "&Print...\tCtrl+P", ID_PRINT + MENUITEM "Print previe&w...", ID_PREVIEW + MENUITEM "Page setup...", ID_PRINTSETUP MENUITEM SEPARATOR - MENUITEM "&Kilps", ID_FILE_EXIT + MENUITEM "&Kilps", ID_FILE_EXIT END POPUP "Sz&erkeszts" BEGIN @@ -46,30 +44,30 @@ BEGIN MENUITEM "Tr&ls\tDel", ID_EDIT_CLEAR MENUITEM "M&indet kijelli\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "&Find...\tCtrl+F", ID_FIND + MENUITEM "&Find...\tCtrl+F", ID_FIND MENUITEM "Find &next\tF3", ID_FIND_NEXT - MENUITEM "&Replace...\tCtrl+H", ID_REPLACE + MENUITEM "&Replace...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR MENUITEM "Csak &olvashat", ID_EDIT_READONLY MENUITEM "M&dostva", ID_EDIT_MODIFIED MENUITEM SEPARATOR POPUP "&Extrk" BEGIN - MENUITEM "Kijells &informci", ID_EDIT_SELECTIONINFO - MENUITEM "Karakter&formtum", ID_EDIT_CHARFORMAT - MENUITEM "A&laprtelmezett karakter formtum", ID_EDIT_DEFCHARFORMAT - MENUITEM "&Bekezds formtum", ID_EDIT_PARAFORMAT - MENUITEM "Sz&vegszerzs", ID_EDIT_GETTEXT + MENUITEM "Kijells &informci", ID_EDIT_SELECTIONINFO + MENUITEM "Karakter&formtum", ID_EDIT_CHARFORMAT + MENUITEM "A&laprtelmezett karakter formtum", ID_EDIT_DEFCHARFORMAT + MENUITEM "&Bekezds formtum", ID_EDIT_PARAFORMAT + MENUITEM "Sz&vegszerzs", ID_EDIT_GETTEXT END END POPUP "&View" BEGIN MENUITEM "&Toolbar", ID_TOGGLE_TOOLBAR - MENUITEM "&Formatbar", ID_TOGGLE_FORMATBAR + MENUITEM "&Format Bar", ID_TOGGLE_FORMATBAR MENUITEM "&Ruler", ID_TOGGLE_RULER - MENUITEM "&Statusbar", ID_TOGGLE_STATUSBAR + MENUITEM "&Status Bar", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR - MENUITEM "&Options...", ID_VIEWPROPERTIES + MENUITEM "&Options...", ID_VIEWPROPERTIES END POPUP "&Insert" BEGIN @@ -77,19 +75,19 @@ BEGIN END POPUP "F&ormtum" BEGIN - MENUITEM "&Font...", ID_FONTSETTINGS - MENUITEM "&Bullet points", ID_BULLET - MENUITEM "&Paragraph...", ID_PARAFORMAT - MENUITEM "&Tabs...", ID_TABSTOPS + MENUITEM "&Font...", ID_FONTSETTINGS + MENUITEM "&Bullet points", ID_BULLET + MENUITEM "&Paragraph...", ID_PARAFORMAT + MENUITEM "&Tabs...", ID_TABSTOPS POPUP "&Httr" BEGIN - MENUITEM "&Rendszer\tCtrl+1", ID_BACK_1 - MENUITEM "&Srgban krem\tCtrl+2", ID_BACK_2 + MENUITEM "&Rendszer\tCtrl+1", ID_BACK_1 + MENUITEM "&Srgban krem\tCtrl+2", ID_BACK_2 END END POPUP "&Help" BEGIN - MENUITEM "&About Wine Wordpad", ID_ABOUT + MENUITEM "&About Wine Wordpad", ID_ABOUT END END @@ -105,3 +103,159 @@ BEGIN MENUITEM "&Paragraph...", ID_PARAFORMAT END END + +IDM_COLOR_POPUP MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Black", ID_COLOR_BLACK + MENUITEM "Maroon", ID_COLOR_MAROON + MENUITEM "Green", ID_COLOR_GREEN + MENUITEM "Olive", ID_COLOR_OLIVE + MENUITEM "Navy", ID_COLOR_NAVY + MENUITEM "Purple", ID_COLOR_PURPLE + MENUITEM "Teal", ID_COLOR_TEAL + MENUITEM "Gray", ID_COLOR_GRAY + MENUITEM "Silver", ID_COLOR_SILVER + MENUITEM "Red", ID_COLOR_RED + MENUITEM "Lime", ID_COLOR_LIME + MENUITEM "Yellow", ID_COLOR_YELLOW + MENUITEM "Blue", ID_COLOR_BLUE + MENUITEM "Fuchsia", ID_COLOR_FUCHSIA + MENUITEM "Aqua", ID_COLOR_AQUA + MENUITEM "White", ID_COLOR_WHITE + MENUITEM "Automatic", ID_COLOR_AUTOMATIC + END +END + +STRINGTABLE +BEGIN + STRING_ALL_FILES, "All documents (*.*)" + STRING_TEXT_FILES_TXT, "Text documents (*.txt)" + STRING_TEXT_FILES_UNICODE_TXT, "Unicode text document (*.txt)" + STRING_RICHTEXT_FILES_RTF, "Rich text format (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Rich text document" + STRING_NEWFILE_TXT, "Text document" + STRING_NEWFILE_TXT_UNICODE, "Unicode text document" + STRING_PRINTER_FILES_PRN, "Printer files (*.prn)" +END + +STRINGTABLE +BEGIN + STRING_ALIGN_LEFT, "Left" + STRING_ALIGN_RIGHT, "Right" + STRING_ALIGN_CENTER, "Center" +END + +STRINGTABLE +BEGIN + STRING_VIEWPROPS_TITLE, "Options" + STRING_VIEWPROPS_TEXT, "Text" + STRING_VIEWPROPS_RICHTEXT, "Rich text" +END + +STRINGTABLE +BEGIN + STRING_PREVIEW_PRINT, "Print" + STRING_PREVIEW_NEXTPAGE, "Next page" + STRING_PREVIEW_PREVPAGE, "Previous page" + STRING_PREVIEW_TWOPAGES, "Two pages" + STRING_PREVIEW_ONEPAGE, "One page" + STRING_PREVIEW_ZOOMIN, "Zoom in" + STRING_PREVIEW_ZOOMOUT, "Zoom out" + STRING_PREVIEW_CLOSE, "Close" + STRING_PREVIEW_PAGE, "Page" + STRING_PREVIEW_PAGES, "Pages" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "in" + STRING_UNITS_INCH, "inch" + STRING_UNITS_PT, "pt" +END + +STRINGTABLE +BEGIN + STRING_DEFAULT_FILENAME, "Document" + STRING_PROMPT_SAVE_CHANGES, "Save changes to '%s'?" + STRING_SEARCH_FINISHED, "Finished searching the document." + STRING_LOAD_RICHED_FAILED, "Failed to load the RichEdit library." + STRING_SAVE_LOSEFORMATTING, "You have chosen to save in plain text format, which will cause all formatting to be lost. Are you sure that you wish to do this?" + STRING_INVALID_NUMBER, "Invalid number format." + STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage documents are not supported." + STRING_WRITE_FAILED, "Could not save the file." + STRING_WRITE_ACCESS_DENIED, "You do not have access to save the file." + STRING_OPEN_FAILED, "Could not open the file." + STRING_OPEN_ACCESS_DENIED, "You do not have access to open the file." + STRING_PRINTING_NOT_IMPLEMENTED, "Printing not implemented." + STRING_MAX_TAB_STOPS, "Cannot add more than 32 tab stops." +END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Date and time" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Available formats",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "Cancel",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "New" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "New document type",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "Cancel",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Paragraph format" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Indentation", -1, 10, 10, 140, 68 + LTEXT "Left", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Right", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "First line", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Alignment", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "Cancel", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabs" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Tab stops", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Add", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Remove", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "Cancel", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Remove al&l", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Line wrapping", -1, 5, 10, 145, 85 + RADIOBUTTON "&No line wrapping", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "Wrap text by the &window border", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Wrap text by the &margin", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Toolbars", -1, 155, 10, 115, 85 + CHECKBOX "&Toolbar", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "&Format Bar", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Ruler", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "&Status Bar", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/It.rc b/base/applications/wordpad/lang/It.rc index 9881509d815..fe2fea0c2cd 100644 --- a/base/applications/wordpad/lang/It.rc +++ b/base/applications/wordpad/lang/It.rc @@ -17,8 +17,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - /*UTF-8*/ #pragma code_page(65001) @@ -28,52 +26,52 @@ IDM_MAINMENU MENU BEGIN POPUP "&File" BEGIN - MENUITEM "&Nuovo...\tCtrl+N", ID_FILE_NEW - MENUITEM "&Apri...\tCtrl+O", ID_FILE_OPEN - MENUITEM "&Salva\tCtrl+S", ID_FILE_SAVE - MENUITEM "Salva &come...", ID_FILE_SAVEAS + MENUITEM "&Nuovo...\tCtrl+N", ID_FILE_NEW + MENUITEM "&Apri...\tCtrl+O", ID_FILE_OPEN + MENUITEM "&Salva\tCtrl+S", ID_FILE_SAVE + MENUITEM "Salva &come...", ID_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "&Stampa...\tCtrl+P", ID_PRINT - MENUITEM "An&teprima di stampa...", ID_PREVIEW - MENUITEM "&Impostazioni di stampa...", ID_PRINTSETUP + MENUITEM "&Stampa...\tCtrl+P", ID_PRINT + MENUITEM "An&teprima di stampa...", ID_PREVIEW + MENUITEM "&Impostazioni di stampa...", ID_PRINTSETUP MENUITEM SEPARATOR - MENUITEM "E&sci", ID_FILE_EXIT + MENUITEM "E&sci", ID_FILE_EXIT END POPUP "&Modifica" BEGIN - MENUITEM "&Annulla\tCtrl+Z", ID_EDIT_UNDO - MENUITEM "&Rifai\tCtrl+Y", ID_EDIT_REDO + MENUITEM "&Annulla\tCtrl+Z", ID_EDIT_UNDO + MENUITEM "&Rifai\tCtrl+Y", ID_EDIT_REDO MENUITEM SEPARATOR - MENUITEM "&Taglia\tCtrl+X", ID_EDIT_CUT - MENUITEM "&Copia\tCtrl+C", ID_EDIT_COPY - MENUITEM "&Incolla\tCtrl+V", ID_EDIT_PASTE - MENUITEM "Ca&ncella\tDEL", ID_EDIT_CLEAR - MENUITEM "&Seleziona tutto\tCtrl+A", ID_EDIT_SELECTALL + MENUITEM "&Taglia\tCtrl+X", ID_EDIT_CUT + MENUITEM "&Copia\tCtrl+C", ID_EDIT_COPY + MENUITEM "&Incolla\tCtrl+V", ID_EDIT_PASTE + MENUITEM "Ca&ncella\tDEL", ID_EDIT_CLEAR + MENUITEM "&Seleziona tutto\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "T&rova...\tCtrl+F", ID_FIND - MENUITEM "Trova s&uccessivo\tF3", ID_FIND_NEXT - MENUITEM "S&ostituisci...\tCtrl+H", ID_REPLACE + MENUITEM "T&rova...\tCtrl+F", ID_FIND + MENUITEM "Trova s&uccessivo\tF3", ID_FIND_NEXT + MENUITEM "S&ostituisci...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR - MENUITEM "Sola &lettura", ID_EDIT_READONLY - MENUITEM "&Modificato", ID_EDIT_MODIFIED + MENUITEM "Sola &lettura", ID_EDIT_READONLY + MENUITEM "&Modificato", ID_EDIT_MODIFIED MENUITEM SEPARATOR POPUP "E&xtra" BEGIN - MENUITEM "&Informazioni sulla selezione", ID_EDIT_SELECTIONINFO - MENUITEM "&Formato del carattere", ID_EDIT_CHARFORMAT - MENUITEM "Formato del &def. char", ID_EDIT_DEFCHARFORMAT - MENUITEM "Formato del ¶grafo", ID_EDIT_PARAFORMAT - MENUITEM "&Ricava il testo", ID_EDIT_GETTEXT + MENUITEM "&Informazioni sulla selezione", ID_EDIT_SELECTIONINFO + MENUITEM "&Formato del carattere", ID_EDIT_CHARFORMAT + MENUITEM "Formato del &def. char", ID_EDIT_DEFCHARFORMAT + MENUITEM "Formato del ¶grafo", ID_EDIT_PARAFORMAT + MENUITEM "&Ricava il testo", ID_EDIT_GETTEXT END END POPUP "&Visualizza" BEGIN - MENUITEM "Barra degli &strumenti", ID_TOGGLE_TOOLBAR - MENUITEM "Barra del &formato", ID_TOGGLE_FORMATBAR - MENUITEM "&Righello", ID_TOGGLE_RULER - MENUITEM "Barra di s&tato", ID_TOGGLE_STATUSBAR + MENUITEM "Barra degli &strumenti", ID_TOGGLE_TOOLBAR + MENUITEM "Barra del &formato", ID_TOGGLE_FORMATBAR + MENUITEM "&Righello", ID_TOGGLE_RULER + MENUITEM "Barra di s&tato", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR - MENUITEM "&Opzioni...", ID_VIEWPROPERTIES + MENUITEM "&Opzioni...", ID_VIEWPROPERTIES END POPUP "&Inserisci" BEGIN @@ -81,19 +79,19 @@ BEGIN END POPUP "F&ormato" BEGIN - MENUITEM "&Carattere...", ID_FONTSETTINGS - MENUITEM "&Elenco", ID_BULLET + MENUITEM "&Carattere...", ID_FONTSETTINGS + MENUITEM "&Elenco", ID_BULLET MENUITEM "&Paragrafo...", ID_PARAFORMAT - MENUITEM "&Tabulazioni...", ID_TABSTOPS + MENUITEM "&Tabulazioni...", ID_TABSTOPS POPUP "Sfon&do" BEGIN - MENUITEM "Di &sistema\tCtrl+1", ID_BACK_1 - MENUITEM "&Giallo di PostThat\tCtrl+2", ID_BACK_2 + MENUITEM "Di &sistema\tCtrl+1", ID_BACK_1 + MENUITEM "&Giallo di PostThat\tCtrl+2", ID_BACK_2 END END POPUP "&Aiuto" BEGIN - MENUITEM "&Riguardo a Wine Wordpad", ID_ABOUT + MENUITEM "&Riguardo a Wine Wordpad", ID_ABOUT END END @@ -101,11 +99,11 @@ IDM_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "&Taglia", ID_EDIT_CUT - MENUITEM "&Copia", ID_EDIT_COPY - MENUITEM "&Incolla", ID_EDIT_PASTE + MENUITEM "&Taglia", ID_EDIT_CUT + MENUITEM "&Copia", ID_EDIT_COPY + MENUITEM "&Incolla", ID_EDIT_PASTE MENUITEM SEPARATOR - MENUITEM "&Elenco", ID_BULLET + MENUITEM "&Elenco", ID_BULLET MENUITEM "&Paragrafo...", ID_PARAFORMAT END END @@ -114,97 +112,26 @@ IDM_COLOR_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "Nero", ID_COLOR_BLACK - MENUITEM "Marrone rossiccio",ID_COLOR_MAROON - MENUITEM "Verde", ID_COLOR_GREEN - MENUITEM "Verde oliva", ID_COLOR_OLIVE - MENUITEM "Blu oltremare", ID_COLOR_NAVY - MENUITEM "Porpora", ID_COLOR_PURPLE - MENUITEM "Foglia di Tè", ID_COLOR_TEAL - MENUITEM "Grigio", ID_COLOR_GRAY - MENUITEM "Argento", ID_COLOR_SILVER - MENUITEM "Rosso", ID_COLOR_RED - MENUITEM "Verde cedro", ID_COLOR_LIME - MENUITEM "Giallo", ID_COLOR_YELLOW - MENUITEM "Blu", ID_COLOR_BLUE - MENUITEM "Fucsia", ID_COLOR_FUCHSIA - MENUITEM "Acqua", ID_COLOR_AQUA - MENUITEM "Bianco", ID_COLOR_WHITE - MENUITEM "Automatico", ID_COLOR_AUTOMATIC + MENUITEM "Nero", ID_COLOR_BLACK + MENUITEM "Marrone rossiccio", ID_COLOR_MAROON + MENUITEM "Verde", ID_COLOR_GREEN + MENUITEM "Verde oliva", ID_COLOR_OLIVE + MENUITEM "Blu oltremare", ID_COLOR_NAVY + MENUITEM "Porpora", ID_COLOR_PURPLE + MENUITEM "Foglia di Tè", ID_COLOR_TEAL + MENUITEM "Grigio", ID_COLOR_GRAY + MENUITEM "Argento", ID_COLOR_SILVER + MENUITEM "Rosso", ID_COLOR_RED + MENUITEM "Verde cedro", ID_COLOR_LIME + MENUITEM "Giallo", ID_COLOR_YELLOW + MENUITEM "Blu", ID_COLOR_BLUE + MENUITEM "Fucsia", ID_COLOR_FUCHSIA + MENUITEM "Acqua", ID_COLOR_AQUA + MENUITEM "Bianco", ID_COLOR_WHITE + MENUITEM "Automatico", ID_COLOR_AUTOMATIC END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Data e ora" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Formati disponibili",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "&Annulla",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Nuovo" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Nuovo tipo di documento",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "&Annulla",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Formato del paragrafo" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Rientro", -1, 10, 10, 120, 68 - LTEXT "Sinistra", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Destra", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Prima riga", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Allineamento", -1, 15, 87, 45, 13 - COMBOBOX IDC_PARA_ALIGN, 60, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Annulla", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Tabulazioni" -FONT 8, "MS SHell DLg" -BEGIN - GROUPBOX "Punti di fermata delle tabulazioni", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Aggiungi", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "&Rimuovi", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Annulla", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "Rimuovi &tutti", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 310, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Linea di margine", -1, 10, 10, 150, 85 - RADIOBUTTON "&Nessuna linea di margine", IDC_PAGEFMT_WN, 18, 25, 140, 15 - RADIOBUTTON "Confina il testo nel &bordo della finestra", IDC_PAGEFMT_WW, 18, 45, 140, 15 - RADIOBUTTON "Confina il testo nel &margine", IDC_PAGEFMT_WM, 18, 65, 140, 15 - GROUPBOX "Barre", -1, 170, 10, 120, 85 - CHECKBOX "Barra degli &strumenti", IDC_PAGEFMT_TB, 180, 20, 80, 15 - CHECKBOX "Barra del &formato", IDC_PAGEFMT_FB, 180, 38, 80, 15 - CHECKBOX "&Righello", IDC_PAGEFMT_RU, 180, 56, 80, 15 - CHECKBOX "Barra di s&tato", IDC_PAGEFMT_SB, 180, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN STRING_ALL_FILES, "Tutti i file (*.*)" @@ -265,3 +192,74 @@ BEGIN STRING_PRINTING_NOT_IMPLEMENTED, "Stampa non implementata" STRING_MAX_TAB_STOPS, "Non si possono aggiungere più di 32 punti di fermata delle tabulazioni." END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Data e ora" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Formati disponibili",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "&Annulla",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Nuovo" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Nuovo tipo di documento",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "&Annulla",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Formato del paragrafo" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Rientro", -1, 10, 10, 140, 68 + LTEXT "Sinistra", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Destra", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Prima riga", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Allineamento", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "&Annulla", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabulazioni" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Punti di fermata delle tabulazioni", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Aggiungi", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Rimuovi", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "&Annulla", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Rimuovi &tutti", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Linea di margine", -1, 5, 10, 145, 85 + RADIOBUTTON "&Nessuna linea di margine", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "Confina il testo nel &bordo della finestra", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Confina il testo nel &margine", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Barre", -1, 155, 10, 115, 85 + CHECKBOX "Barra degli &strumenti", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "Barra del &formato", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Righello", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "Barra di s&tato", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/Ja.rc b/base/applications/wordpad/lang/Ja.rc index 6aa518712a6..b7ff828e537 100644 --- a/base/applications/wordpad/lang/Ja.rc +++ b/base/applications/wordpad/lang/Ja.rc @@ -16,8 +16,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - /* UTF-8 */ #pragma code_page(65001) @@ -58,11 +56,11 @@ BEGIN MENUITEM SEPARATOR POPUP "E&xtras" BEGIN - MENUITEM "Selection &info", ID_EDIT_SELECTIONINFO - MENUITEM "Character &format", ID_EDIT_CHARFORMAT - MENUITEM "&Def. char format", ID_EDIT_DEFCHARFORMAT - MENUITEM "Paragrap&h format", ID_EDIT_PARAFORMAT - MENUITEM "&Get text", ID_EDIT_GETTEXT + MENUITEM "Selection &info", ID_EDIT_SELECTIONINFO + MENUITEM "Character &format", ID_EDIT_CHARFORMAT + MENUITEM "&Def. char format", ID_EDIT_DEFCHARFORMAT + MENUITEM "Paragrap&h format", ID_EDIT_PARAFORMAT + MENUITEM "&Get text", ID_EDIT_GETTEXT END END POPUP "表示(&V)" @@ -104,8 +102,8 @@ BEGIN MENUITEM "コピー(&C)", ID_EDIT_COPY MENUITEM "貼り付け(&P)", ID_EDIT_PASTE MENUITEM SEPARATOR - MENUITEM "箇条書き(&B)", ID_BULLET - MENUITEM "段落(&P)...", ID_PARAFORMAT + MENUITEM "箇条書き(&B)", ID_BULLET + MENUITEM "段落(&P)...", ID_PARAFORMAT END END @@ -116,7 +114,7 @@ BEGIN MENUITEM "黒", ID_COLOR_BLACK MENUITEM "茶色", ID_COLOR_MAROON MENUITEM "緑", ID_COLOR_GREEN - MENUITEM "オリーブ",ID_COLOR_OLIVE + MENUITEM "オリーブ", ID_COLOR_OLIVE MENUITEM "紺", ID_COLOR_NAVY MENUITEM "紫", ID_COLOR_PURPLE MENUITEM "青緑", ID_COLOR_TEAL @@ -133,77 +131,6 @@ BEGIN END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "日付と時刻" -FONT 10, "MS Shell Dlg" -BEGIN - LTEXT "利用できる形式",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "キャンセル(&C)",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "新規作成" -FONT 10, "MS Shell Dlg" -BEGIN - LTEXT "新しい文書形式",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "キャンセル(&C)",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "段落の設定" -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX "インデント", -1, 10, 10, 120, 68 - LTEXT "左(&L)", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "右(&R)", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "最初の行(&F)", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "整列(&A)", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "キャンセル(&C)", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "タブの設定" -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX "タブの停止位置(&T)", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "追加(&A)", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "削除(&R)", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "キャンセル(&C)", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "すべて削除(&L)", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX "行の折り返し", -1, 10, 10, 130, 85 - RADIOBUTTON "折り返ししない", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "ウィンドウの境界で折り返す(&W)", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "マージンで折り返す(&M)", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "ツールバー", -1, 150, 10, 120, 85 - CHECKBOX "ツールバー(&T)", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "書式バー(&F)", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "ルーラー(&R)", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "ステータスバー(&S)", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN STRING_ALL_FILES, "すべてのファイル (*.*)" @@ -264,3 +191,74 @@ BEGIN STRING_PRINTING_NOT_IMPLEMENTED, "プリントが実装されていません。" STRING_MAX_TAB_STOPS, "32以上なタブを追加できません。" END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "日付と時刻" +FONT 10, "MS Shell Dlg" +BEGIN + LTEXT "利用できる形式",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "キャンセル(&C)",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "新規作成" +FONT 10, "MS Shell Dlg" +BEGIN + LTEXT "新しい文書形式",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "キャンセル(&C)",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "段落の設定" +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX "インデント", -1, 10, 10, 140, 68 + LTEXT "左(&L)", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "右(&R)", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "最初の行(&F)", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "整列(&A)", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "キャンセル(&C)", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "タブの設定" +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX "タブの停止位置(&T)", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "追加(&A)", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "削除(&R)", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "&OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "キャンセル(&C)", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "すべて削除(&L)", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX "行の折り返し", -1, 5, 10, 145, 85 + RADIOBUTTON "折り返ししない", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "ウィンドウの境界で折り返す(&W)", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "マージンで折り返す(&M)", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "ツールバー", -1, 155, 10, 115, 85 + CHECKBOX "ツールバー(&T)", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "書式バー(&F)", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "ルーラー(&R)", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "ステータスバー(&S)", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/Ko.rc b/base/applications/wordpad/lang/Ko.rc index 4daaa6275e6..30e02e189fd 100644 --- a/base/applications/wordpad/lang/Ko.rc +++ b/base/applications/wordpad/lang/Ko.rc @@ -1,4 +1,4 @@ - /* +/* * Copyright 2004 by Krzysztof Foltman * Copyright 2006,2007 by YunSong Hwang * @@ -17,8 +17,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT IDM_MAINMENU MENU @@ -49,7 +47,7 @@ BEGIN MENUITEM SEPARATOR MENUITEM "ã(&F)...\tCtrl+F", ID_FIND MENUITEM " ã(&N)\tF3", ID_FIND_NEXT - MENUITEM " ٲٱ(&R)...\tCtrl+H", ID_REPLACE + MENUITEM " ٲٱ(&R)...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR MENUITEM "б (&O)", ID_EDIT_READONLY MENUITEM " (&M)", ID_EDIT_MODIFIED @@ -78,7 +76,7 @@ BEGIN END POPUP "(&O)" BEGIN - MENUITEM "۲(&F)...", ID_FONTSETTINGS + MENUITEM "۲(&F)...", ID_FONTSETTINGS MENUITEM " (&U)", ID_BULLET MENUITEM "ܶ(&P)...", ID_PARAFORMAT MENUITEM "(&T)...", ID_TABSTOPS @@ -131,90 +129,18 @@ BEGIN END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "¥ ð" -FONT 10, "MS Shell Dlg" -BEGIN - LTEXT " ",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "Ȯ(&O)",IDOK,87,12,40,12 - PUSHBUTTON "(&C)",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION " " -FONT 10, "MS Shell Dlg" -BEGIN - LTEXT " ",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "Ȯ(&O)",IDOK,97,12,40,12 - PUSHBUTTON "(&C)",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "ܶ " -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX "鿩", -1, 10, 10, 120, 68 - LTEXT "", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "ù° ", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "Ȯ(&O)", IDOK, 137, 15, 50, 15 - PUSHBUTTON "(&C)", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "" -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX " ", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "ϱ(&A)", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "(&R)", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "Ȯ(&O)", IDOK, 137, 15, 50, 15 - PUSHBUTTON "(&C)", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON " (&L)", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX " ѱ", -1, 10, 10, 130, 85 - RADIOBUTTON "ٳѱ ", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "â ڸ ѱ(&W)", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "ڸ ѱ(&M)", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX " ", -1, 150, 10, 120, 85 - CHECKBOX "(&T)", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "Ĺ(&F)", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "̹(&R)", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "¹(&S)", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN - STRING_ALL_FILES, " (*.*)" - STRING_TEXT_FILES_TXT, "ؽƮ (*.txt)" - STRING_TEXT_FILES_UNICODE_TXT, "ڵ ؽƮ (*.txt)" - STRING_RICHTEXT_FILES_RTF, "ġ ؽƮ (*.rtf)" - STRING_NEWFILE_RICHTEXT, "ġ ؽƮ " - STRING_NEWFILE_TXT, "ؽƮ " - STRING_NEWFILE_TXT_UNICODE, "ڵ ؽƮ " - STRING_PRINTER_FILES_PRN, " (*.PRN)" + STRING_ALL_FILES, " (*.*)" + STRING_TEXT_FILES_TXT, "ؽƮ (*.txt)" + STRING_TEXT_FILES_UNICODE_TXT, "ڵ ؽƮ (*.txt)" + STRING_RICHTEXT_FILES_RTF, "ġ ؽƮ (*.rtf)" + STRING_NEWFILE_RICHTEXT, "ġ ؽƮ " + STRING_NEWFILE_TXT, "ؽƮ " + STRING_NEWFILE_TXT_UNICODE, "ڵ ؽƮ " + STRING_PRINTER_FILES_PRN, " (*.PRN)" END - STRINGTABLE BEGIN STRING_ALIGN_LEFT, "" @@ -260,6 +186,77 @@ BEGIN STRING_WRITE_ACCESS_DENIED, " ϴ." STRING_OPEN_FAILED, " ϴ." STRING_OPEN_ACCESS_DENIED, " ϴ." - STRING_PRINTING_NOT_IMPLEMENTED, "μ ʽϴ" + STRING_PRINTING_NOT_IMPLEMENTED, "μ ʽϴ" STRING_MAX_TAB_STOPS, " 32 ̻ ߰ ϴ." END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "¥ ð" +FONT 10, "MS Shell Dlg" +BEGIN + LTEXT " ",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "Ȯ(&O)",IDOK,87,12,40,12 + PUSHBUTTON "(&C)",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION " " +FONT 10, "MS Shell Dlg" +BEGIN + LTEXT " ",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "Ȯ(&O)",IDOK,97,12,40,12 + PUSHBUTTON "(&C)",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "ܶ " +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX "鿩", -1, 10, 10, 140, 68 + LTEXT "", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "ù° ", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "Ȯ(&O)", IDOK, 160, 15, 50, 15 + PUSHBUTTON "(&C)", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "" +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX " ", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "ϱ(&A)", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "(&R)", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "Ȯ(&O)", IDOK, 135, 15, 58, 15 + PUSHBUTTON "(&C)", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON " (&L)", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX " ѱ", -1, 5, 10, 145, 85 + RADIOBUTTON "ٳѱ ", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "â ڸ ѱ(&W)", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "ڸ ѱ(&M)", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "", -1, 155, 10, 115, 85 + CHECKBOX "(&T)", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "Ĺ(&F)", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "̹(&R)", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "¹(&S)", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/Lt.rc b/base/applications/wordpad/lang/Lt.rc index 5a7e3d829b0..d8ddfcfdd5a 100644 --- a/base/applications/wordpad/lang/Lt.rc +++ b/base/applications/wordpad/lang/Lt.rc @@ -16,8 +16,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - /* UTF-8 */ #pragma code_page(65001) @@ -133,83 +131,16 @@ BEGIN END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Data ir laikas" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Galimi formatai",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&Gerai",IDOK,87,12,40,12 - PUSHBUTTON "&Atsisakyti",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Naujas" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Naujo dokumento tipas",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&Gerai",IDOK,97,12,40,12 - PUSHBUTTON "&Atsisakyti",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Pastraipos formatas" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Įtrauka", -1, 10, 10, 120, 68 - LTEXT "Iš kairės", -1, 15, 22, 45, 13 - EDITTEXT IDC_PARA_LEFT, 60, 20, 55, 13 - LTEXT "Iš dešinės", -1, 15, 40, 45, 13 - EDITTEXT IDC_PARA_RIGHT, 60, 38, 55, 13 - LTEXT "Pirmoji eilutė", -1, 15, 58, 45, 13 - EDITTEXT IDC_PARA_FIRST, 60, 56, 55, 13 - LTEXT "Lygiuotė", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&Gerai", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Atsisakyti", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Tabuliavimo žymės" -FONT 8, "MS SHell DLg" -BEGIN - GROUPBOX "Tabuliavimo pozicija", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Pridėti", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "Pa&šalinti", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&Gerai", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Atsisakyti", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "Pašalinti &visas", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Eilutės skaidymas", -1, 10, 10, 130, 85 - RADIOBUTTON "&Eilutės neskaidomos", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "Skaidyti tekstą prie lango &rėmelio", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "Skaidyti tekstą prie ¶štės", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Įrankių juostos", -1, 150, 10, 120, 85 - CHECKBOX "Įran&kių juosta", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "&Formatų juosta", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Liniuotė", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "&Būsenos juosta", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN - STRING_RICHTEXT_FILES_RTF, "Raiškiojo teksto dokumentai (*.rtf)" + STRING_ALL_FILES, "Visi dokumentai (*.*)" STRING_TEXT_FILES_TXT, "Tekstiniai dokumentai (*.txt)" STRING_TEXT_FILES_UNICODE_TXT, "Teksto unikodu dokumentai (*.txt)" - STRING_ALL_FILES, "Visi dokumentai (*.*)" + STRING_RICHTEXT_FILES_RTF, "Raiškiojo teksto dokumentai (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Raiškiojo teksto dokumentas" + STRING_NEWFILE_TXT, "Tekstinis dokumentas" + STRING_NEWFILE_TXT_UNICODE, "Teksto unikodu dokumentas" + STRING_PRINTER_FILES_PRN, "Spausdintuvo failai (*.PRN)" END STRINGTABLE @@ -219,18 +150,6 @@ BEGIN STRING_ALIGN_CENTER, "Centrinė" END -STRINGTABLE -BEGIN - STRING_NEWFILE_RICHTEXT, "Raiškiojo teksto dokumentas" - STRING_NEWFILE_TXT, "Tekstinis dokumentas" - STRING_NEWFILE_TXT_UNICODE, "Teksto unikodu dokumentas" -END - -STRINGTABLE -BEGIN - STRING_PRINTER_FILES_PRN, "Spausdintuvo failai (*.PRN)" -END - STRINGTABLE BEGIN STRING_VIEWPROPS_TITLE, "Parinktys" @@ -272,3 +191,74 @@ BEGIN STRING_PRINTING_NOT_IMPLEMENTED, "Spausdinimas nerealizuotas" STRING_MAX_TAB_STOPS, "Negalima pridėti daugiau negu 32-jų tabuliavimo pozicijų." END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Data ir laikas" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Galimi formatai",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "&Gerai",IDOK,87,12,40,12 + PUSHBUTTON "&Atsisakyti",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Naujas" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Naujo dokumento tipas",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "&Gerai",IDOK,97,12,40,12 + PUSHBUTTON "&Atsisakyti",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Pastraipos formatas" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Įtrauka", -1, 10, 10, 140, 68 + LTEXT "Iš kairės", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Iš dešinės", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Pirmoji eilutė", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Lygiuotė", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "&Gerai", IDOK, 160, 15, 50, 15 + PUSHBUTTON "&Atsisakyti", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabuliavimo žymės" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Tabuliavimo pozicija", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Pridėti", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "Pa&šalinti", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "&Gerai", IDOK, 135, 15, 58, 15 + PUSHBUTTON "&Atsisakyti", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Pašalinti &visas", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Eilutės skaidymas", -1, 5, 10, 145, 85 + RADIOBUTTON "&Eilutės neskaidomos", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "Skaidyti tekstą prie lango &rėmelio", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Skaidyti tekstą prie ¶štės", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Įrankių juostos", -1, 155, 10, 115, 85 + CHECKBOX "Įran&kių juosta", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "&Formatų juosta", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Liniuotė", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "&Būsenos juosta", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/Nl.rc b/base/applications/wordpad/lang/Nl.rc index a7e87005d0c..680f077c76b 100644 --- a/base/applications/wordpad/lang/Nl.rc +++ b/base/applications/wordpad/lang/Nl.rc @@ -17,26 +17,24 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" +#pragma code_page(65001) LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL -#pragma code_page(65001) - IDM_MAINMENU MENU BEGIN POPUP "&Bestand" BEGIN - MENUITEM "&Nieuw...\tCtrl+N", ID_FILE_NEW - MENUITEM "&Openen...\tCtrl+O", ID_FILE_OPEN - MENUITEM "Op&slaan\tCtrl+S", ID_FILE_SAVE - MENUITEM "Ops&laan als...", ID_FILE_SAVEAS + MENUITEM "&Nieuw...\tCtrl+N", ID_FILE_NEW + MENUITEM "&Openen...\tCtrl+O", ID_FILE_OPEN + MENUITEM "Op&slaan\tCtrl+S", ID_FILE_SAVE + MENUITEM "Ops&laan als...", ID_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "Af&drukken...\tCtrl+P", ID_PRINT + MENUITEM "Af&drukken...\tCtrl+P", ID_PRINT MENUITEM "Afdruk&voorbeeld...", ID_PREVIEW - MENUITEM "Pa&gina-instellingen...", ID_PRINTSETUP + MENUITEM "Pa&gina-instellingen...", ID_PRINTSETUP MENUITEM SEPARATOR - MENUITEM "&Afsluiten", ID_FILE_EXIT + MENUITEM "&Afsluiten", ID_FILE_EXIT END POPUP "Be&werken" BEGIN @@ -49,9 +47,9 @@ BEGIN MENUITEM "&Verwijderen\tDel", ID_EDIT_CLEAR MENUITEM "&Alles selecteren\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "&Zoeken...\tCtrl+F", ID_FIND - MENUITEM "Zoek vo&lgende\tF3", ID_FIND_NEXT - MENUITEM "Ve&rvangen...\tCtrl+H", ID_REPLACE + MENUITEM "&Zoeken...\tCtrl+F", ID_FIND + MENUITEM "Zoek vo&lgende\tF3", ID_FIND_NEXT + MENUITEM "Ve&rvangen...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR MENUITEM "Alleen &lezen", ID_EDIT_READONLY MENUITEM "&Gewijzigd", ID_EDIT_MODIFIED @@ -68,11 +66,11 @@ BEGIN POPUP "&Bekijken" BEGIN MENUITEM "&Gereedschapsbalk", ID_TOGGLE_TOOLBAR - MENUITEM "&Formaatbalk", ID_TOGGLE_FORMATBAR - MENUITEM "&Liniaal", ID_TOGGLE_RULER - MENUITEM "&Statusbalk", ID_TOGGLE_STATUSBAR + MENUITEM "&Formaatbalk", ID_TOGGLE_FORMATBAR + MENUITEM "&Liniaal", ID_TOGGLE_RULER + MENUITEM "&Statusbalk", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR - MENUITEM "&Opties...", ID_VIEWPROPERTIES + MENUITEM "&Opties...", ID_VIEWPROPERTIES END POPUP "&Invoegen" BEGIN @@ -102,9 +100,9 @@ BEGIN BEGIN MENUITEM "K&nippen", ID_EDIT_CUT MENUITEM "&Kopiëren", ID_EDIT_COPY - MENUITEM "&Plakken", ID_EDIT_PASTE + MENUITEM "&Plakken", ID_EDIT_PASTE MENUITEM SEPARATOR - MENUITEM "&Bullet points", ID_BULLET + MENUITEM "&Bullet points", ID_BULLET MENUITEM "&Paragraaf...", ID_PARAFORMAT END END @@ -113,97 +111,26 @@ IDM_COLOR_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "Zwart", ID_COLOR_BLACK - MENUITEM "Kastanjebruin",ID_COLOR_MAROON - MENUITEM "Groen", ID_COLOR_GREEN - MENUITEM "Olijfgroen", ID_COLOR_OLIVE - MENUITEM "Marineblauw", ID_COLOR_NAVY - MENUITEM "Paars", ID_COLOR_PURPLE - MENUITEM "Groenblauw", ID_COLOR_TEAL - MENUITEM "Grijs", ID_COLOR_GRAY - MENUITEM "Zilver", ID_COLOR_SILVER - MENUITEM "Rood", ID_COLOR_RED - MENUITEM "Lichtgroen", ID_COLOR_LIME - MENUITEM "Geel", ID_COLOR_YELLOW - MENUITEM "Blauw", ID_COLOR_BLUE - MENUITEM "Fuchsiapaars", ID_COLOR_FUCHSIA - MENUITEM "Zeeblauw", ID_COLOR_AQUA - MENUITEM "Wit", ID_COLOR_WHITE - MENUITEM "Automatisch", ID_COLOR_AUTOMATIC + MENUITEM "Zwart", ID_COLOR_BLACK + MENUITEM "Kastanjebruin", ID_COLOR_MAROON + MENUITEM "Groen", ID_COLOR_GREEN + MENUITEM "Olijfgroen", ID_COLOR_OLIVE + MENUITEM "Marineblauw", ID_COLOR_NAVY + MENUITEM "Paars", ID_COLOR_PURPLE + MENUITEM "Groenblauw", ID_COLOR_TEAL + MENUITEM "Grijs", ID_COLOR_GRAY + MENUITEM "Zilver", ID_COLOR_SILVER + MENUITEM "Rood", ID_COLOR_RED + MENUITEM "Lichtgroen", ID_COLOR_LIME + MENUITEM "Geel", ID_COLOR_YELLOW + MENUITEM "Blauw", ID_COLOR_BLUE + MENUITEM "Fuchsiapaars", ID_COLOR_FUCHSIA + MENUITEM "Zeeblauw", ID_COLOR_AQUA + MENUITEM "Wit", ID_COLOR_WHITE + MENUITEM "Automatisch", ID_COLOR_AUTOMATIC END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Datum en tijd" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Beschikbare formaten",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "&Annuleren",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Nieuw" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Nieuw documenttype",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "&Annuleren",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Paragraaf formaat" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Inspringing", -1, 10, 10, 120, 68 - LTEXT "Links", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Rechts", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Eerste regel", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Uitlijning", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Annuleren", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Tabs" -FONT 8, "MS SHell DLg" -BEGIN - GROUPBOX "Tab-einden", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Toevoegen", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "&Verwijderen", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Annuleren", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "Verwijder al&len", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Regel afbreken", -1, 10, 10, 130, 85 - RADIOBUTTON "Geen regelafbraak", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "Breek tekst af bij &venster rand", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "Breek tekst af bij de &marge", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Gereedschapsbalken", -1, 150, 10, 120, 85 - CHECKBOX "&Gereedschapsbalk", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "&Formaatbalk", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Liniaal", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "&Statusbalk", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN STRING_ALL_FILES, "Alle documenten (*.*)" @@ -213,7 +140,7 @@ BEGIN STRING_NEWFILE_RICHTEXT, "Rich tekstdocument" STRING_NEWFILE_TXT, "Tekstdocument" STRING_NEWFILE_TXT_UNICODE, "Unicode tekstdocument" - STRING_PRINTER_FILES_PRN, "Afdrukbestanden (*.PRN)" + STRING_PRINTER_FILES_PRN, "Afdrukbestanden (*.prn)" END STRINGTABLE @@ -257,10 +184,81 @@ BEGIN STRING_SAVE_LOSEFORMATTING, "U koos voor opslaan in gewoon tekst formaat, waardoor alle formattering verloren zal gaan. Weet u zeker dat u dit wilt?" STRING_INVALID_NUMBER, "Foutief nummerformaat" STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage documenten worden niet ondersteund" - STRING_WRITE_FAILED, "Bestand kon niet worden opgeslagen." - STRING_WRITE_ACCESS_DENIED, "Onvoldoende rechten om het bestand op te slaan." - STRING_OPEN_FAILED, "Bestand kon niet worden geopend." - STRING_OPEN_ACCESS_DENIED, "Onvoldoende rechten om het bestand te openen." - STRING_PRINTING_NOT_IMPLEMENTED, "Printen is nog niet geïmplementeerd" - STRING_MAX_TAB_STOPS, "Onmogelijk om meer dan 32 tab stops toe te voegen." + STRING_WRITE_FAILED, "Bestand kon niet worden opgeslagen." + STRING_WRITE_ACCESS_DENIED, "Onvoldoende rechten om het bestand op te slaan." + STRING_OPEN_FAILED, "Bestand kon niet worden geopend." + STRING_OPEN_ACCESS_DENIED, "Onvoldoende rechten om het bestand te openen." + STRING_PRINTING_NOT_IMPLEMENTED, "Printen is nog niet geïmplementeerd" + STRING_MAX_TAB_STOPS, "Onmogelijk om meer dan 32 tab stops toe te voegen." +END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Datum en tijd" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Beschikbare formaten",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "&Annuleren",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Nieuw" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Nieuw documenttype",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "&Annuleren",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Paragraaf formaat" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Inspringing", -1, 10, 10, 140, 68 + LTEXT "Links", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Rechts", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Eerste regel", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Uitlijning", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "&Annuleren", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabs" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Tab-einden", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Toevoegen", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Verwijderen", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "&Annuleren", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Verwijder al&len", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Regel afbreken", -1, 5, 10, 145, 85 + RADIOBUTTON "Geen regelafbraak", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "Breek tekst af bij &venster rand", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Breek tekst af bij de &marge", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Gereedschapsbalken", -1, 155, 10, 115, 85 + CHECKBOX "&Gereedschapsbalk", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "&Formaatbalk", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Liniaal", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "&Statusbalk", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 END diff --git a/base/applications/wordpad/lang/No.rc b/base/applications/wordpad/lang/No.rc index 97f07403e97..d6604f5191f 100644 --- a/base/applications/wordpad/lang/No.rc +++ b/base/applications/wordpad/lang/No.rc @@ -16,8 +16,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - #pragma code_page(65001) LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL @@ -80,9 +78,9 @@ BEGIN POPUP "F&ormat" BEGIN MENUITEM "&Skrift...", ID_FONTSETTINGS - MENUITEM "&Punktmerking", ID_BULLET - MENUITEM "&Avsnitt...", ID_PARAFORMAT - MENUITEM "&Tabulatorer...", ID_TABSTOPS + MENUITEM "&Punktmerking" ID_BULLET + MENUITEM "&Avsnitt..." ID_PARAFORMAT + MENUITEM "&Tabulatorer..." ID_TABSTOPS POPUP "&Bakgrunn" BEGIN MENUITEM "&System\tCtrl+1", ID_BACK_1 @@ -91,7 +89,7 @@ BEGIN END POPUP "&Hjelp" BEGIN - MENUITEM "&Om Wine Wordpad", ID_ABOUT + MENUITEM "&Om Wine Wordpad" ID_ABOUT END END @@ -103,8 +101,8 @@ BEGIN MENUITEM "&Kopier", ID_EDIT_COPY MENUITEM "&Lim inn", ID_EDIT_PASTE MENUITEM SEPARATOR - MENUITEM "&Punktmerking", ID_BULLET - MENUITEM "&Avsnitt...", ID_PARAFORMAT + MENUITEM "&Punktmerking" ID_BULLET + MENUITEM "&Avsnitt..." ID_PARAFORMAT END END @@ -115,107 +113,33 @@ BEGIN MENUITEM "Svart", ID_COLOR_BLACK MENUITEM "Rødbrun", ID_COLOR_MAROON MENUITEM "Grønn", ID_COLOR_GREEN - MENUITEM "Oliven", ID_COLOR_OLIVE - MENUITEM "Marineblå", ID_COLOR_NAVY - MENUITEM "Purpur", ID_COLOR_PURPLE - MENUITEM "Blågrønn", ID_COLOR_TEAL - MENUITEM "Grå", ID_COLOR_GRAY - MENUITEM "Sølv", ID_COLOR_SILVER - MENUITEM "Rød", ID_COLOR_RED - MENUITEM "Lime-grønn",ID_COLOR_LIME - MENUITEM "Gul", ID_COLOR_YELLOW - MENUITEM "Blå", ID_COLOR_BLUE - MENUITEM "Fuchsia", ID_COLOR_FUCHSIA - MENUITEM "Turkis", ID_COLOR_AQUA - MENUITEM "Hvit", ID_COLOR_WHITE - MENUITEM "Automatisk",ID_COLOR_AUTOMATIC + MENUITEM "Oliven" ID_COLOR_OLIVE + MENUITEM "Marineblå" ID_COLOR_NAVY + MENUITEM "Purpur" ID_COLOR_PURPLE + MENUITEM "Blågrønn" ID_COLOR_TEAL + MENUITEM "Grå" ID_COLOR_GRAY + MENUITEM "Sølv" ID_COLOR_SILVER + MENUITEM "Rød" ID_COLOR_RED + MENUITEM "Lime-grønn" ID_COLOR_LIME + MENUITEM "Gul" ID_COLOR_YELLOW + MENUITEM "Blå" ID_COLOR_BLUE + MENUITEM "Fuchsia" ID_COLOR_FUCHSIA + MENUITEM "Turkis" ID_COLOR_AQUA + MENUITEM "Hvit" ID_COLOR_WHITE + MENUITEM "Automatisk" ID_COLOR_AUTOMATIC END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Dato og klokkeslett" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Tilgjengelige formater",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "&Avbryt",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Ny" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Ny dokumenttype",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "&Avbryt",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Formater avsnitt" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Innrykk", -1, 10, 10, 120, 68 - LTEXT "Venstre", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Høyre", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Første linje", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Justering", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Avbryt", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Tabulatorer" -FONT 8, "MS SHell DLg" -BEGIN - GROUPBOX "Tabulatorstopp", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Legg til", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "&Fjern", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Avbryt", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "Fjern all&e", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Linjebryting", -1, 10, 10, 130, 85 - RADIOBUTTON "Ingen linjebryting", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "Bryt tekst etter v&indusbredden", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "Bryt tekst etter &margen", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Verktøylinjer", -1, 150, 10, 120, 85 - CHECKBOX "&Verktøylinje", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "&Formatlinje", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Linjal", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "&Statuslinje", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN - STRING_RICHTEXT_FILES_RTF, "Rikt tekstformat (*.rtf)" + STRING_ALL_FILES, "Alle filer (*.*)" STRING_TEXT_FILES_TXT, "Tekstdokument (*.txt)" STRING_TEXT_FILES_UNICODE_TXT, "Unicode-tekstdokument (*.txt)" - STRING_ALL_FILES, "Alle filer (*.*)" -END - -STRINGTABLE -BEGIN - STRING_NEWFILE_RICHTEXT, "Rikt tekstdokument" - STRING_NEWFILE_TXT, "Tekstdokument" - STRING_NEWFILE_TXT_UNICODE, "Tekstdokument (Unicode)" + STRING_RICHTEXT_FILES_RTF, "Rikt tekstformat (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Rikt tekstdokument" + STRING_NEWFILE_TXT, "Tekstdokument" + STRING_NEWFILE_TXT_UNICODE, "Tekstdokument (Unicode)" + STRING_PRINTER_FILES_PRN, "Skriverfiler (*.prn)" END STRINGTABLE @@ -225,11 +149,6 @@ BEGIN STRING_ALIGN_CENTER, "Midtstilt" END -STRINGTABLE -BEGIN - STRING_PRINTER_FILES_PRN, "Skriverfiler (*.PRN)" -END - STRINGTABLE BEGIN STRING_VIEWPROPS_TITLE, "Alternativer" @@ -271,3 +190,74 @@ BEGIN STRING_PRINTING_NOT_IMPLEMENTED, "Utskriftfunksjonen er ikke laget ennå." STRING_MAX_TAB_STOPS, "Kan ikke legge til mer enn 32 tabulatorstopp." END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Dato og klokkeslett" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Tilgjengelige formater",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "&Avbryt",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Ny" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Ny dokumenttype",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "&Avbryt",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Formater avsnitt" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Innrykk", -1, 10, 10, 140, 68 + LTEXT "Venstre", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Høyre", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Første linje", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Justering", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "&Avbryt", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabulatorer" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Tabulatorstopp", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Legg til", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Fjern", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "&Avbryt", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Fjern all&e", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Linjebryting", -1, 5, 10, 145, 85 + RADIOBUTTON "Ingen linjebryting", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "Bryt tekst etter v&indusbredden", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Bryt tekst etter &margen", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Verktøylinjer", -1, 155, 10, 115, 85 + CHECKBOX "&Verktøylinje", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "&Formatlinje", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Linjal", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "&Statuslinje", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/Pl.rc b/base/applications/wordpad/lang/Pl.rc index 2cb0700176c..94d2f0dc854 100644 --- a/base/applications/wordpad/lang/Pl.rc +++ b/base/applications/wordpad/lang/Pl.rc @@ -18,60 +18,58 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - LANGUAGE LANG_POLISH, SUBLANG_DEFAULT IDM_MAINMENU MENU BEGIN POPUP "&Plik" BEGIN - MENUITEM "&Nowy...\tCtrl+N", ID_FILE_NEW - MENUITEM "&Otwrz...\tCtrl+O", ID_FILE_OPEN - MENUITEM "&Zapisz\tCtrl+S", ID_FILE_SAVE - MENUITEM "Z&apisz jako...", ID_FILE_SAVEAS + MENUITEM "&Nowy...\tCtrl+N", ID_FILE_NEW + MENUITEM "&Otwrz...\tCtrl+O", ID_FILE_OPEN + MENUITEM "&Zapisz\tCtrl+S", ID_FILE_SAVE + MENUITEM "Z&apisz jako...", ID_FILE_SAVEAS MENUITEM SEPARATOR MENUITEM "&Drukuj...\tCtrl+P", ID_PRINT - MENUITEM "&Podgld wydruku...", ID_PREVIEW - MENUITEM "&Ustawienia strony...", ID_PRINTSETUP + MENUITEM "&Podgld wydruku...", ID_PREVIEW + MENUITEM "&Ustawienia strony...", ID_PRINTSETUP MENUITEM SEPARATOR - MENUITEM "Za&kocz", ID_FILE_EXIT + MENUITEM "Za&kocz", ID_FILE_EXIT END POPUP "&Edycja" BEGIN MENUITEM "&Cofnij\tCtrl+Z", ID_EDIT_UNDO - MENUITEM "&Powtrz\tCtrl+Y", ID_EDIT_REDO + MENUITEM "&Powtrz\tCtrl+Y", ID_EDIT_REDO MENUITEM SEPARATOR - MENUITEM "Wy&tnij\tCtrl+X", ID_EDIT_CUT + MENUITEM "Wy&tnij\tCtrl+X", ID_EDIT_CUT MENUITEM "&Kopiuj\tCtrl+C", ID_EDIT_COPY MENUITEM "Wkl&ej\tCtrl+V", ID_EDIT_PASTE MENUITEM "&Usu\tDel", ID_EDIT_CLEAR - MENUITEM "&Zaznacz wszystko\tCtrl+A", ID_EDIT_SELECTALL + MENUITEM "&Zaznacz wszystko\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "Znaj&d...\tCtrl+F", ID_FIND - MENUITEM "Z&najd nastpny\tF3", ID_FIND_NEXT - MENUITEM "Za&mie...\tCtrl+H", ID_REPLACE + MENUITEM "Znaj&d...\tCtrl+F", ID_FIND + MENUITEM "Z&najd nastpny\tF3", ID_FIND_NEXT + MENUITEM "Za&mie...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR - MENUITEM "Tylko do &odczytu", ID_EDIT_READONLY - MENUITEM "&Zmodifykowany", ID_EDIT_MODIFIED + MENUITEM "Tylko do &odczytu", ID_EDIT_READONLY + MENUITEM "&Zmodifykowany", ID_EDIT_MODIFIED MENUITEM SEPARATOR POPUP "&Dodatki" BEGIN - MENUITEM "Zaznaczenie - &info", ID_EDIT_SELECTIONINFO - MENUITEM "&Format znakw", ID_EDIT_CHARFORMAT - MENUITEM "&Standardowy format znakw", ID_EDIT_DEFCHARFORMAT - MENUITEM "Format aka&pitu", ID_EDIT_PARAFORMAT - MENUITEM "&Pobierz tekst", ID_EDIT_GETTEXT + MENUITEM "Zaznaczenie - &info", ID_EDIT_SELECTIONINFO + MENUITEM "&Format znakw", ID_EDIT_CHARFORMAT + MENUITEM "&Standardowy format znakw", ID_EDIT_DEFCHARFORMAT + MENUITEM "Format aka&pitu", ID_EDIT_PARAFORMAT + MENUITEM "&Pobierz tekst", ID_EDIT_GETTEXT END END POPUP "Wido&k" BEGIN - MENUITEM "Pasek &narzdzi", ID_TOGGLE_TOOLBAR - MENUITEM "Pasek &formatu", ID_TOGGLE_FORMATBAR - MENUITEM "&Linijka", ID_TOGGLE_RULER - MENUITEM "Pasek &stanu", ID_TOGGLE_STATUSBAR + MENUITEM "Pasek &narzdzi", ID_TOGGLE_TOOLBAR + MENUITEM "Pasek &formatu", ID_TOGGLE_FORMATBAR + MENUITEM "&Linijka", ID_TOGGLE_RULER + MENUITEM "Pasek &stanu", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR - MENUITEM "&Opcje...", ID_VIEWPROPERTIES + MENUITEM "&Opcje...", ID_VIEWPROPERTIES END POPUP "&Wstaw" BEGIN @@ -79,10 +77,10 @@ BEGIN END POPUP "For&mat" BEGIN - MENUITEM "&Czcionka...", ID_FONTSETTINGS + MENUITEM "&Czcionka...", ID_FONTSETTINGS MENUITEM "&Wypunktowanie", ID_BULLET - MENUITEM "&Akapit...", ID_PARAFORMAT - MENUITEM "&Tabulatory...", ID_TABSTOPS + MENUITEM "&Akapit...", ID_PARAFORMAT + MENUITEM "&Tabulatory...", ID_TABSTOPS POPUP "T&o" BEGIN MENUITEM "&System\tCtrl+1", ID_BACK_1 @@ -104,7 +102,7 @@ BEGIN MENUITEM "Wkl&ej", ID_EDIT_PASTE MENUITEM SEPARATOR MENUITEM "&Wypunktowanie", ID_BULLET - MENUITEM "&Akapit...", ID_PARAFORMAT + MENUITEM "&Akapit...", ID_PARAFORMAT END END @@ -112,103 +110,36 @@ IDM_COLOR_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "Czarny", ID_COLOR_BLACK - MENUITEM "Kasztanowy", ID_COLOR_MAROON - MENUITEM "Zielony", ID_COLOR_GREEN - MENUITEM "Oliwkowy", ID_COLOR_OLIVE - MENUITEM "Granatowy", ID_COLOR_NAVY - MENUITEM "Purpurowy", ID_COLOR_PURPLE - MENUITEM "Zielonomodry",ID_COLOR_TEAL - MENUITEM "Szary", ID_COLOR_GRAY - MENUITEM "Srebrny", ID_COLOR_SILVER - MENUITEM "Czerwony", ID_COLOR_RED - MENUITEM "Limonowy", ID_COLOR_LIME - MENUITEM "ty", ID_COLOR_YELLOW - MENUITEM "Niebieski", ID_COLOR_BLUE - MENUITEM "Fuksja", ID_COLOR_FUCHSIA - MENUITEM "Akwamaryna", ID_COLOR_AQUA - MENUITEM "Biay", ID_COLOR_WHITE - MENUITEM "Automatycznie", ID_COLOR_AUTOMATIC + MENUITEM "Czarny", ID_COLOR_BLACK + MENUITEM "Kasztanowy", ID_COLOR_MAROON + MENUITEM "Zielony", ID_COLOR_GREEN + MENUITEM "Oliwkowy", ID_COLOR_OLIVE + MENUITEM "Granatowy", ID_COLOR_NAVY + MENUITEM "Purpurowy", ID_COLOR_PURPLE + MENUITEM "Zielonomodry", ID_COLOR_TEAL + MENUITEM "Szary", ID_COLOR_GRAY + MENUITEM "Srebrny", ID_COLOR_SILVER + MENUITEM "Czerwony", ID_COLOR_RED + MENUITEM "Limonowy", ID_COLOR_LIME + MENUITEM "ty", ID_COLOR_YELLOW + MENUITEM "Niebieski", ID_COLOR_BLUE + MENUITEM "Fuksja", ID_COLOR_FUCHSIA + MENUITEM "Akwamaryna", ID_COLOR_AQUA + MENUITEM "Biay", ID_COLOR_WHITE + MENUITEM "Automatycznie",ID_COLOR_AUTOMATIC END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Data i godzina" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Dostpne formaty",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "&Anuluj",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Nowy" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Typ nowego dokumentu",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "&Anuluj",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Format akapitu" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Wcicia", -1, 10, 10, 120, 68 - LTEXT "Z lewej", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Z prawej", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Pierwszy wiersz", -1, 15, 55, 40, 19 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Wyrwnanie", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Anuluj", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Tabulatory" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Pozycje tabulatorw", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Dodaj", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "&Usu", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 137, 15, 57, 15 - PUSHBUTTON "&Anuluj", IDCANCEL, 137, 33, 57, 15 - PUSHBUTTON "Usu &wszystkie", ID_TAB_EMPTY, 137, 51, 57, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Zawijanie wierszy", -1, 10, 10, 130, 85 - RADIOBUTTON "Bez zawijania wierszy", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "Zawijaj do &brzegu okna", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "Zawijaj do &marginesu", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Paski narzdzi", -1, 150, 10, 120, 85 - CHECKBOX "Pasek &narzdzi", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "Pasek &formatu", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Linijka", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "Pasek &stanu", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN - STRING_RICHTEXT_FILES_RTF, "Tekst sformatowany - RTF (*.rtf)" + STRING_ALL_FILES, "Wszystkie dokumenty (*.*)" STRING_TEXT_FILES_TXT, "Dokument tekstowy (*.txt)" STRING_TEXT_FILES_UNICODE_TXT, "Dokument tekstowy Unicode (*.txt)" - STRING_ALL_FILES, "Wszystkie dokumenty (*.*)" + STRING_RICHTEXT_FILES_RTF, "Tekst sformatowany - RTF (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Dokument sformatowany (RTF)" + STRING_NEWFILE_TXT, "Dokument tekstowy" + STRING_NEWFILE_TXT_UNICODE, "Dokument tekstowy Unicode" + STRING_PRINTER_FILES_PRN, "Pliki drukarki (*.prn)" END STRINGTABLE @@ -218,18 +149,6 @@ BEGIN STRING_ALIGN_CENTER, "Wyrodkowane" END -STRINGTABLE -BEGIN - STRING_NEWFILE_RICHTEXT, "Dokument sformatowany (RTF)" - STRING_NEWFILE_TXT, "Dokument tekstowy" - STRING_NEWFILE_TXT_UNICODE, "Dokument tekstowy Unicode" -END - -STRINGTABLE -BEGIN - STRING_PRINTER_FILES_PRN, "Pliki drukarki (*.PRN)" -END - STRINGTABLE BEGIN STRING_VIEWPROPS_TITLE, "Opcje" @@ -271,3 +190,74 @@ BEGIN STRING_PRINTING_NOT_IMPLEMENTED, "Drukowanie niezaimplementowane" STRING_MAX_TAB_STOPS, "Nie mona doda wicej ni 32 punkty tabulacji." END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Data i godzina" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Dostpne formaty",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "&OK",IDOK,87,12,40,12 + PUSHBUTTON "&Anuluj",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Nowy" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Typ nowego dokumentu",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "&Anuluj",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Format akapitu" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Wcicia", -1, 10, 10, 140, 68 + LTEXT "Z lewej", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Z prawej", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Pierwszy wiersz", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Wyrwnanie", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "&Anuluj", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabulatory" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Pozycje tabulatorw", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Dodaj", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Usu", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "&OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "&Anuluj", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Usu &wszystkie", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Zawijanie wierszy", -1, 5, 10, 145, 85 + RADIOBUTTON "Bez zawijania wierszy", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "Zawijaj do &brzegu okna", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Zawijaj do &marginesu", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Paski narzdzi", -1, 155, 10, 115, 85 + CHECKBOX "Pasek &narzdzi", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "Pasek &formatu", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Linijka", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "Pasek &stanu", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/Pt.rc b/base/applications/wordpad/lang/Pt.rc index 73dc6ba97ac..0b85c8bd059 100644 --- a/base/applications/wordpad/lang/Pt.rc +++ b/base/applications/wordpad/lang/Pt.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - #pragma code_page(65001) LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN @@ -29,16 +27,16 @@ IDM_MAINMENU MENU BEGIN POPUP "&Arquivo" BEGIN - MENUITEM "&Novo...\tCtrl+N", ID_FILE_NEW - MENUITEM "&Abrir...\tCtrl+O", ID_FILE_OPEN - MENUITEM "&Salvar\tCtrl+S", ID_FILE_SAVE - MENUITEM "Salvar &como...", ID_FILE_SAVEAS + MENUITEM "&Novo...\tCtrl+N", ID_FILE_NEW + MENUITEM "&Abrir...\tCtrl+O", ID_FILE_OPEN + MENUITEM "&Salvar\tCtrl+S", ID_FILE_SAVE + MENUITEM "Salvar &como...", ID_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "&Imprimir...\tCtrl+P", ID_PRINT - MENUITEM "&Pré visualizar...", ID_PREVIEW - MENUITEM "C&onfigurar página...", ID_PRINTSETUP + MENUITEM "&Imprimir...\tCtrl+P", ID_PRINT + MENUITEM "&Pré visualizar...", ID_PREVIEW + MENUITEM "C&onfigurar página...", ID_PRINTSETUP MENUITEM SEPARATOR - MENUITEM "&Sair", ID_FILE_EXIT + MENUITEM "&Sair", ID_FILE_EXIT END POPUP "&Editar" BEGIN @@ -60,36 +58,36 @@ BEGIN MENUITEM SEPARATOR POPUP "E&xtras" BEGIN - MENUITEM "&Informação da selecção", ID_EDIT_SELECTIONINFO - MENUITEM "&Formato dos caracteres", ID_EDIT_CHARFORMAT - MENUITEM "&Definir formato dos caracteres", ID_EDIT_DEFCHARFORMAT - MENUITEM "F&ormato dos parágrafos", ID_EDIT_PARAFORMAT - MENUITEM "&Buscar texto", ID_EDIT_GETTEXT + MENUITEM "&Informação da selecção", ID_EDIT_SELECTIONINFO + MENUITEM "&Formato dos caracteres", ID_EDIT_CHARFORMAT + MENUITEM "&Definir formato dos caracteres", ID_EDIT_DEFCHARFORMAT + MENUITEM "F&ormato dos parágrafos", ID_EDIT_PARAFORMAT + MENUITEM "&Buscar texto", ID_EDIT_GETTEXT END END POPUP "E&xibir" BEGIN - MENUITEM "&Barra de Ferramentas", ID_TOGGLE_TOOLBAR - MENUITEM "Barra de &Formatação", ID_TOGGLE_FORMATBAR - MENUITEM "&Régua", ID_TOGGLE_RULER - MENUITEM "Barra de &Estado", ID_TOGGLE_STATUSBAR + MENUITEM "&Barra de Ferramentas", ID_TOGGLE_TOOLBAR + MENUITEM "Barra de &Formatação", ID_TOGGLE_FORMATBAR + MENUITEM "&Régua", ID_TOGGLE_RULER + MENUITEM "Barra de &Estado", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR - MENUITEM "&Opções...", ID_VIEWPROPERTIES + MENUITEM "&Opções...", ID_VIEWPROPERTIES END POPUP "&Inserir" BEGIN - MENUITEM "&Data e hora...", ID_DATETIME + MENUITEM "&Data e hora...", ID_DATETIME END POPUP "F&ormatar" BEGIN - MENUITEM "&Fonte...", ID_FONTSETTINGS - MENUITEM "&Marcadores", ID_BULLET - MENUITEM "&Parágrafo...", ID_PARAFORMAT - MENUITEM "T&abulação...", ID_TABSTOPS + MENUITEM "&Fonte...", ID_FONTSETTINGS + MENUITEM "&Marcadores", ID_BULLET + MENUITEM "&Parágrafo...", ID_PARAFORMAT + MENUITEM "T&abulação...", ID_TABSTOPS POPUP "&Fundo" BEGIN - MENUITEM "&Sistema\tCtrl+1", ID_BACK_1 - MENUITEM "&PostThat amarelo\tCtrl+2", ID_BACK_2 + MENUITEM "&Sistema\tCtrl+1", ID_BACK_1 + MENUITEM "&PostThat amarelo\tCtrl+2", ID_BACK_2 END END POPUP "&Ajuda" @@ -98,115 +96,19 @@ BEGIN END END -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE - -IDM_MAINMENU MENU -BEGIN - POPUP "&Ficheiro" - BEGIN - MENUITEM "&Novo...\tCtrl+N", ID_FILE_NEW - MENUITEM "&Abrir...\tCtrl+O", ID_FILE_OPEN - MENUITEM "&Guardar\tCtrl+S", ID_FILE_SAVE - MENUITEM "Guardar &como...", ID_FILE_SAVEAS - MENUITEM SEPARATOR - MENUITEM "&Imprimir...\tCtrl+P", ID_PRINT - MENUITEM "&Pré visualizar...", ID_PREVIEW - MENUITEM "C&onfigurar página...", ID_PRINTSETUP - MENUITEM SEPARATOR - MENUITEM "&Sair", ID_FILE_EXIT - END - POPUP "&Editar" - BEGIN - MENUITEM "&Anular\tCtrl+Z", ID_EDIT_UNDO - MENUITEM "&Refazer\tCtrl+Y", ID_EDIT_REDO - MENUITEM SEPARATOR - MENUITEM "&Cortar\tCtrl+X", ID_EDIT_CUT - MENUITEM "C&opiar\tCtrl+C", ID_EDIT_COPY - MENUITEM "Col&ar\tCtrl+V", ID_EDIT_PASTE - MENUITEM "&Limpar\tDEL", ID_EDIT_CLEAR - MENUITEM "&Seleccionar tudo\tCtrl+A", ID_EDIT_SELECTALL - MENUITEM SEPARATOR - MENUITEM "Local&izar...\tCtrl+F", ID_FIND - MENUITEM "&Encontrar Seguinte\tF3", ID_FIND_NEXT - MENUITEM "&Substituir...\tCtrl+H", ID_REPLACE - MENUITEM SEPARATOR - MENUITEM "Some&nte leitura", ID_EDIT_READONLY - MENUITEM "&Modificado", ID_EDIT_MODIFIED - MENUITEM SEPARATOR - POPUP "E&xtras" - BEGIN - MENUITEM "&Informação da selecção", ID_EDIT_SELECTIONINFO - MENUITEM "&Formato dos caracteres", ID_EDIT_CHARFORMAT - MENUITEM "&Definir formato dos caracteres", ID_EDIT_DEFCHARFORMAT - MENUITEM "F&ormato dos parágrafos", ID_EDIT_PARAFORMAT - MENUITEM "&Buscar texto", ID_EDIT_GETTEXT - END - END - POPUP "&Ver" - BEGIN - MENUITEM "&Barra de Ferramentas", ID_TOGGLE_TOOLBAR - MENUITEM "Barra de &Formatação", ID_TOGGLE_FORMATBAR - MENUITEM "&Régua", ID_TOGGLE_RULER - MENUITEM "Barra de &Estado", ID_TOGGLE_STATUSBAR - MENUITEM SEPARATOR - MENUITEM "&Opções...", ID_VIEWPROPERTIES - END - POPUP "&Inserir" - BEGIN - MENUITEM "&Data e hora...", ID_DATETIME - END - POPUP "F&ormato" - BEGIN - MENUITEM "&Tipo de Letra...", ID_FONTSETTINGS - MENUITEM "&Lista de marcas", ID_BULLET - MENUITEM "&Parágrafo...", ID_PARAFORMAT - MENUITEM "T&abulações...", ID_TABSTOPS - POPUP "&Fundo" - BEGIN - MENUITEM "&Sistema\tCtrl+1", ID_BACK_1 - MENUITEM "&PostThat amarelo\tCtrl+2", ID_BACK_2 - END - END - POPUP "&Ajuda" - BEGIN - MENUITEM "&Sobre Wine Wordpad", ID_ABOUT - END -END - - -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN - IDM_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "&Cortar", ID_EDIT_CUT - MENUITEM "C&opiar", ID_EDIT_COPY - MENUITEM "Co&lar", ID_EDIT_PASTE - MENUITEM SEPARATOR - MENUITEM "&Marcadores", ID_BULLET - MENUITEM "&Parágrafo...", ID_PARAFORMAT - END -END - -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE - -IDM_POPUP MENU -BEGIN - POPUP "" - BEGIN - MENUITEM "&Cortar", ID_EDIT_CUT - MENUITEM "C&opiar", ID_EDIT_COPY + MENUITEM "&Cortar", ID_EDIT_CUT + MENUITEM "C&opiar", ID_EDIT_COPY MENUITEM "Co&lar", ID_EDIT_PASTE MENUITEM SEPARATOR - MENUITEM "&Lista de marcas", ID_BULLET + MENUITEM "&Marcadores", ID_BULLET MENUITEM "&Parágrafo...", ID_PARAFORMAT END END - -LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL - IDM_COLOR_POPUP MENU BEGIN POPUP "" @@ -231,80 +133,6 @@ BEGIN END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Data e hora" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Formatos Disponíveis",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "&Cancelar",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Novo" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Novo tipo de documento",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "&Cancelar",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 220, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Parágrafo" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Identação", -1, 10, 10, 140, 68 - LTEXT "Esquerda", -1, 15, 22, 60, 13 - EDITTEXT IDC_PARA_LEFT, 75, 20, 60, 13 - LTEXT "Direita", -1, 15, 40, 60, 13 - EDITTEXT IDC_PARA_RIGHT, 75, 38, 60, 13 - LTEXT "Primeira Linha", -1, 15, 58, 60, 13 - EDITTEXT IDC_PARA_FIRST, 75, 56, 60, 13 - LTEXT "Alinhamento", -1, 15, 87, 50, 13 - COMBOBOX IDC_PARA_ALIGN, 65, 85, 70, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 157, 15, 50, 15 - PUSHBUTTON "&Cancelar", IDCANCEL, 157, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Tabulações" -FONT 8, "MS SHell DLg" -BEGIN - GROUPBOX "Marca de tabulação", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Adicionar", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "&Remover", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 135, 15, 55, 15 - PUSHBUTTON "&Cancelar", IDCANCEL, 135, 33, 55, 15 - PUSHBUTTON "Remover &todos", ID_TAB_EMPTY, 135, 51, 55, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Moldar o texto", -1, 10, 10, 130, 85 - RADIOBUTTON "&Sem moldagem", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "&Moldar à janela", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "Moldar pela &régua", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Barras de Ferramentas", -1, 150, 10, 120, 85 - CHECKBOX "&Barra de Ferramentas", IDC_PAGEFMT_TB, 160, 20, 90, 15 - CHECKBOX "Barra de &Formatação", IDC_PAGEFMT_FB, 160, 38, 90, 15 - CHECKBOX "&Régua", IDC_PAGEFMT_RU, 160, 56, 90, 15 - CHECKBOX "Barra de &Estado", IDC_PAGEFMT_SB, 160, 74, 90, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - - -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN - STRINGTABLE BEGIN STRING_ALL_FILES, "Todos os documentos (*.*)" @@ -317,23 +145,6 @@ BEGIN STRING_PRINTER_FILES_PRN, "Arquivos de impressora (*.PRN)" END -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE - -STRINGTABLE -BEGIN - STRING_ALL_FILES, "Todos os documentos (*.*)" - STRING_TEXT_FILES_TXT, "Documentos de texto (*.txt)" - STRING_TEXT_FILES_UNICODE_TXT, "Documentos de texto Unicode (*.txt)" - STRING_RICHTEXT_FILES_RTF, "Formato rich text (*.rtf)" - STRING_NEWFILE_RICHTEXT, "Documento rich text" - STRING_NEWFILE_TXT, "Documento de texto" - STRING_NEWFILE_TXT_UNICODE, "Documento de texto Unicode" - STRING_PRINTER_FILES_PRN, "Ficheiros de impressora (*.PRN)" -END - - -LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL - STRINGTABLE BEGIN STRING_ALIGN_LEFT, "Esquerda" @@ -366,9 +177,6 @@ BEGIN STRING_UNITS_PT, "pt" END - -LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN - STRINGTABLE BEGIN STRING_DEFAULT_FILENAME, "Documento" @@ -386,8 +194,233 @@ BEGIN STRING_MAX_TAB_STOPS, "Não é possível adicionar mais de 32 tabulações." END +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Data e hora" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Formatos Disponíveis",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "&Cancelar",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Novo" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Novo tipo de documento",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "&Cancelar",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Parágrafo" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Identação", -1, 10, 10, 140, 68 + LTEXT "Esquerda", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Direita", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Primeira Linha", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Alinhamento", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "&Cancelar", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabulações" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Marca de tabulação", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Adicionar", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Remover", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "&Cancelar", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Remover &todos", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Moldar o texto", -1, 5, 10, 145, 85 + RADIOBUTTON "&Sem moldagem", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "&Moldar à janela", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Moldar pela &régua", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Barras de Ferramentas", -1, 155, 10, 115, 85 + CHECKBOX "&Barra de Ferramentas", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "Barra de &Formatação", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Régua", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "Barra de &Estado", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END + LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE +IDM_MAINMENU MENU +BEGIN + POPUP "&Ficheiro" + BEGIN + MENUITEM "&Novo...\tCtrl+N", ID_FILE_NEW + MENUITEM "&Abrir...\tCtrl+O", ID_FILE_OPEN + MENUITEM "&Guardar\tCtrl+S", ID_FILE_SAVE + MENUITEM "Guardar &como...", ID_FILE_SAVEAS + MENUITEM SEPARATOR + MENUITEM "&Imprimir...\tCtrl+P", ID_PRINT + MENUITEM "&Pré visualizar...", ID_PREVIEW + MENUITEM "C&onfigurar página...", ID_PRINTSETUP + MENUITEM SEPARATOR + MENUITEM "&Sair", ID_FILE_EXIT + END + POPUP "&Editar" + BEGIN + MENUITEM "&Anular\tCtrl+Z", ID_EDIT_UNDO + MENUITEM "&Refazer\tCtrl+Y", ID_EDIT_REDO + MENUITEM SEPARATOR + MENUITEM "&Cortar\tCtrl+X", ID_EDIT_CUT + MENUITEM "C&opiar\tCtrl+C", ID_EDIT_COPY + MENUITEM "Col&ar\tCtrl+V", ID_EDIT_PASTE + MENUITEM "&Limpar\tDEL", ID_EDIT_CLEAR + MENUITEM "&Seleccionar tudo\tCtrl+A", ID_EDIT_SELECTALL + MENUITEM SEPARATOR + MENUITEM "Local&izar...\tCtrl+F", ID_FIND + MENUITEM "&Encontrar Seguinte\tF3", ID_FIND_NEXT + MENUITEM "&Substituir...\tCtrl+H", ID_REPLACE + MENUITEM SEPARATOR + MENUITEM "Some&nte leitura", ID_EDIT_READONLY + MENUITEM "&Modificado", ID_EDIT_MODIFIED + MENUITEM SEPARATOR + POPUP "E&xtras" + BEGIN + MENUITEM "&Informação da selecção", ID_EDIT_SELECTIONINFO + MENUITEM "&Formato dos caracteres", ID_EDIT_CHARFORMAT + MENUITEM "&Definir formato dos caracteres", ID_EDIT_DEFCHARFORMAT + MENUITEM "F&ormato dos parágrafos", ID_EDIT_PARAFORMAT + MENUITEM "&Buscar texto", ID_EDIT_GETTEXT + END + END + POPUP "&Ver" + BEGIN + MENUITEM "&Barra de Ferramentas", ID_TOGGLE_TOOLBAR + MENUITEM "Barra de &Formatação", ID_TOGGLE_FORMATBAR + MENUITEM "&Régua", ID_TOGGLE_RULER + MENUITEM "Barra de &Estado", ID_TOGGLE_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Opções...", ID_VIEWPROPERTIES + END + POPUP "&Inserir" + BEGIN + MENUITEM "&Data e hora...", ID_DATETIME + END + POPUP "F&ormato" + BEGIN + MENUITEM "&Tipo de Letra...", ID_FONTSETTINGS + MENUITEM "&Lista de marcas", ID_BULLET + MENUITEM "&Parágrafo...", ID_PARAFORMAT + MENUITEM "T&abulações...", ID_TABSTOPS + POPUP "&Fundo" + BEGIN + MENUITEM "&Sistema\tCtrl+1", ID_BACK_1 + MENUITEM "&PostThat amarelo\tCtrl+2", ID_BACK_2 + END + END + POPUP "&Ajuda" + BEGIN + MENUITEM "&Sobre Wine Wordpad", ID_ABOUT + END +END + +IDM_POPUP MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Cortar", ID_EDIT_CUT + MENUITEM "C&opiar", ID_EDIT_COPY + MENUITEM "Co&lar", ID_EDIT_PASTE + MENUITEM SEPARATOR + MENUITEM "&Lista de marcas", ID_BULLET + MENUITEM "&Parágrafo...", ID_PARAFORMAT + END +END + +IDM_COLOR_POPUP MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Preto", ID_COLOR_BLACK + MENUITEM "Castanho", ID_COLOR_MAROON + MENUITEM "Verde", ID_COLOR_GREEN + MENUITEM "Verde-oliva", ID_COLOR_OLIVE + MENUITEM "Azul-marinho", ID_COLOR_NAVY + MENUITEM "Roxo", ID_COLOR_PURPLE + MENUITEM "Azul-petróleo",ID_COLOR_TEAL + MENUITEM "Cinza", ID_COLOR_GRAY + MENUITEM "Prateado", ID_COLOR_SILVER + MENUITEM "Vermelho", ID_COLOR_RED + MENUITEM "Verde-limão", ID_COLOR_LIME + MENUITEM "Amarelo", ID_COLOR_YELLOW + MENUITEM "Azul", ID_COLOR_BLUE + MENUITEM "Fúcsia", ID_COLOR_FUCHSIA + MENUITEM "Azul-piscina", ID_COLOR_AQUA + MENUITEM "Branco", ID_COLOR_WHITE + MENUITEM "Automático", ID_COLOR_AUTOMATIC + END +END + +STRINGTABLE +BEGIN + STRING_ALL_FILES, "Todos os documentos (*.*)" + STRING_TEXT_FILES_TXT, "Documentos de texto (*.txt)" + STRING_TEXT_FILES_UNICODE_TXT, "Documentos de texto Unicode (*.txt)" + STRING_RICHTEXT_FILES_RTF, "Formato rich text (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Documento rich text" + STRING_NEWFILE_TXT, "Documento de texto" + STRING_NEWFILE_TXT_UNICODE, "Documento de texto Unicode" + STRING_PRINTER_FILES_PRN, "Ficheiros de impressora (*.prn)" +END + +STRINGTABLE +BEGIN + STRING_ALIGN_LEFT, "Esquerda" + STRING_ALIGN_RIGHT, "Direita" + STRING_ALIGN_CENTER, "Centro" +END + +STRINGTABLE +BEGIN + STRING_VIEWPROPS_TITLE, "Opções" + STRING_VIEWPROPS_TEXT, "Texto" + STRING_VIEWPROPS_RICHTEXT, "Rich text" +END + +STRINGTABLE +BEGIN + STRING_PREVIEW_PRINT, "Imprimir" + STRING_PREVIEW_NEXTPAGE, "Próxima página" + STRING_PREVIEW_PREVPAGE, "Página anterior" + STRING_PREVIEW_TWOPAGES, "Duas páginas" + STRING_PREVIEW_ONEPAGE, "Uma página" + STRING_PREVIEW_ZOOMIN, "Zoom in" + STRING_PREVIEW_ZOOMOUT, "Zoom out" + STRING_PREVIEW_CLOSE, "Fechar" + STRING_PREVIEW_PAGE, "Página" + STRING_PREVIEW_PAGES, "Páginas" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "in" + STRING_UNITS_INCH, "inch" + STRING_UNITS_PT, "pt" +END + STRINGTABLE BEGIN STRING_DEFAULT_FILENAME, "Documento" @@ -404,3 +437,74 @@ BEGIN STRING_PRINTING_NOT_IMPLEMENTED, "Impressão não implementada" STRING_MAX_TAB_STOPS, "Não pode adicionar mais de 32 tabs." END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Data e hora" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Formatos Disponíveis",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "&Cancelar",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Novo" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Novo tipo de documento",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "&Cancelar",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Parágrafo" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Identação", -1, 10, 10, 140, 68 + LTEXT "Esquerda", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Direita", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Primeira Linha", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Alinhamento", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "&Cancelar", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabulações" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Marca de tabulação", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Adicionar", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Remover", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "&Cancelar", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Remover &todos", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Moldar o texto", -1, 5, 10, 145, 85 + RADIOBUTTON "&Sem moldagem", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "&Moldar à janela", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Moldar pela &régua", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Barras de Ferramentas", -1, 155, 10, 115, 85 + CHECKBOX "&Barra de Ferramentas", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "Barra de &Formatação", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Régua", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "Barra de &Estado", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/Ro.rc b/base/applications/wordpad/lang/Ro.rc index b56f0ce6949..0fb89d61144 100644 --- a/base/applications/wordpad/lang/Ro.rc +++ b/base/applications/wordpad/lang/Ro.rc @@ -2,7 +2,7 @@ * Copyright 2004 Krzysztof Foltman * Copyright 2010 Claudia Cotună * Michael Stefaniuc - * 2011 Fulea Ștefan + * 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 @@ -19,82 +19,80 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" +#pragma code_page(65001) LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL -#pragma code_page(65001) - IDM_MAINMENU MENU BEGIN POPUP "&Fișier" BEGIN - 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 "&Nou…\tCtrl+N", ID_FILE_NEW + MENUITEM "&Deschidere…\tCtrl+O", ID_FILE_OPEN + MENUITEM "&Pă&trează\tCtrl+S", ID_FILE_SAVE + MENUITEM "Păst&rare în…", ID_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "&Imprimare…\tCtrl+P", ID_PRINT - MENUITEM "Pre&vizionare imprimare…", ID_PREVIEW - MENUITEM "&Opțiuni pagină…", ID_PRINTSETUP + MENUITEM "I&mprimare…\tCtrl+P", ID_PRINT + MENUITEM "Pre&vizionare imprimare…", ID_PREVIEW + MENUITEM "&Configurare pagină…", ID_PRINTSETUP MENUITEM SEPARATOR - MENUITEM "I&eșire", ID_FILE_EXIT + MENUITEM "I&eșire", ID_FILE_EXIT END POPUP "&Editare" BEGIN - MENUITEM "Des&face\tCtrl+Z", ID_EDIT_UNDO - MENUITEM "&Reface\tCtrl+Y", ID_EDIT_REDO + MENUITEM "Desface\tCtrl+&Z", ID_EDIT_UNDO + MENUITEM "Reface\tCtrl+&Y", ID_EDIT_REDO MENUITEM SEPARATOR - MENUITEM "&Decupează\tCtrl+X", ID_EDIT_CUT - MENUITEM "&Copiază\tCtrl+C", ID_EDIT_COPY - 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 "Decupează\tCtrl+&X", ID_EDIT_CUT + MENUITEM "Copiază\tCtrl+&C", ID_EDIT_COPY + MENUITEM "Lipește\tCtrl+&V", ID_EDIT_PASTE + MENUITEM "Șterge\tD&EL", ID_EDIT_CLEAR + MENUITEM "Selectează tot\tCtrl+&A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "Că&utare…\tCrtl+F", ID_FIND - MENUITEM "Caută u&rmă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 "Nem&odificabil", ID_EDIT_READONLY - MENUITEM "&Modificat", ID_EDIT_MODIFIED + MENUITEM "&Nemodificabil", ID_EDIT_READONLY + MENUITEM "&Modificat", ID_EDIT_MODIFIED MENUITEM SEPARATOR - POPUP "&Suplimente" + POPUP "S&uplimente" BEGIN - 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 + 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 "&Afișare" BEGIN - 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 "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 SEPARATOR - MENUITEM "&Opțiuni…", ID_VIEWPROPERTIES + MENUITEM "&Opțiuni…", ID_VIEWPROPERTIES END - POPUP "&Inserare" + POPUP "I&nserare" BEGIN - MENUITEM "&Data și ora…", ID_DATETIME + MENUITEM "&Data și ora…", ID_DATETIME END POPUP "F&ormatare" BEGIN - MENUITEM "&Font…", ID_FONTSETTINGS - MENUITEM "Punct &bulină", ID_BULLET - MENUITEM "&Paragraf…", ID_PARAFORMAT - MENUITEM "&Taburi…", ID_TABSTOPS + MENUITEM "&Font…", ID_FONTSETTINGS + MENUITEM "Punct &bulină", ID_BULLET + 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 "&Sistem\tCtrl+1", ID_BACK_1 + MENUITEM "&Gălbui de post-it\tCtrl+2", ID_BACK_2 END END POPUP "&?" BEGIN - MENUITEM "&Despre Wine Wordpad…", ID_ABOUT + MENUITEM "&Despre Wine Wordpad…", ID_ABOUT END END @@ -115,97 +113,26 @@ IDM_COLOR_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "Negru", ID_COLOR_BLACK - MENUITEM "Maro", ID_COLOR_MAROON - MENUITEM "Verde", ID_COLOR_GREEN - MENUITEM "Oliv", ID_COLOR_OLIVE - MENUITEM "Bleumarin", ID_COLOR_NAVY - MENUITEM "Violet", ID_COLOR_PURPLE - MENUITEM "Verde-albăstrui", ID_COLOR_TEAL - MENUITEM "Gri", ID_COLOR_GRAY - MENUITEM "Argintiu", ID_COLOR_SILVER - MENUITEM "Roșu", ID_COLOR_RED - MENUITEM "Lămâie verde", ID_COLOR_LIME - MENUITEM "Galben", ID_COLOR_YELLOW - MENUITEM "Albastru", ID_COLOR_BLUE - MENUITEM "Fuchsia", ID_COLOR_FUCHSIA - MENUITEM "Culoarea apei", ID_COLOR_AQUA - MENUITEM "Alb", ID_COLOR_WHITE - MENUITEM "Automată", ID_COLOR_AUTOMATIC + MENUITEM "Negru", ID_COLOR_BLACK + MENUITEM "Maro", ID_COLOR_MAROON + MENUITEM "Verde", ID_COLOR_GREEN + MENUITEM "Oliv", ID_COLOR_OLIVE + MENUITEM "Bleumarin", ID_COLOR_NAVY + MENUITEM "Violet", ID_COLOR_PURPLE + MENUITEM "Verde-albăstrui",ID_COLOR_TEAL + MENUITEM "Gri", ID_COLOR_GRAY + MENUITEM "Argintiu", ID_COLOR_SILVER + MENUITEM "Roșu", ID_COLOR_RED + MENUITEM "Lămâie verde", ID_COLOR_LIME + MENUITEM "Galben", ID_COLOR_YELLOW + MENUITEM "Albastru", ID_COLOR_BLUE + MENUITEM "Fuchsia", ID_COLOR_FUCHSIA + MENUITEM "Culoarea apei", ID_COLOR_AQUA + MENUITEM "Alb", ID_COLOR_WHITE + MENUITEM "Automată", ID_COLOR_AUTOMATIC END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -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 "Con&firmă", IDOK,87,12,40,12 - PUSHBUTTON "A&nulează", IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Nou" -FONT 10, "MS Sans Serif" -BEGIN - 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 -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 "Con&firmă", IDOK, 137, 15, 50, 15 - PUSHBUTTON "A&nulează", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -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 "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 -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 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, "Orice fișier (*.*)" @@ -220,44 +147,44 @@ END STRINGTABLE BEGIN - STRING_ALIGN_LEFT, "Stânga" - STRING_ALIGN_RIGHT, "Dreapta" - STRING_ALIGN_CENTER, "Centru" + STRING_ALIGN_LEFT, "Stânga" + STRING_ALIGN_RIGHT, "Dreapta" + STRING_ALIGN_CENTER, "Centru" END STRINGTABLE BEGIN - STRING_VIEWPROPS_TITLE, "Opțiuni" - STRING_VIEWPROPS_TEXT, "Text" - STRING_VIEWPROPS_RICHTEXT, "Text îmbogățit" + STRING_VIEWPROPS_TITLE, "Opțiuni" + STRING_VIEWPROPS_TEXT, "Text" + STRING_VIEWPROPS_RICHTEXT, "Text îmbogățit" END STRINGTABLE BEGIN - STRING_PREVIEW_PRINT, "Imprimă" - STRING_PREVIEW_NEXTPAGE, "Pagina următoare" - STRING_PREVIEW_PREVPAGE, "Pagina precedentă" - STRING_PREVIEW_TWOPAGES, "Două pagini" - STRING_PREVIEW_ONEPAGE, "O pagină" - STRING_PREVIEW_ZOOMIN, "Mărește" - STRING_PREVIEW_ZOOMOUT, "Micșorează" - STRING_PREVIEW_CLOSE, "Închide" - STRING_PREVIEW_PAGE, "Pagină" - STRING_PREVIEW_PAGES, "Pagini" - STRING_UNITS_CM, "cm" - STRING_UNITS_IN, "in" - STRING_UNITS_INCH, "țol" - STRING_UNITS_PT, "pt" + STRING_PREVIEW_PRINT, "Imprimă" + STRING_PREVIEW_NEXTPAGE, "Pagina următoare" + STRING_PREVIEW_PREVPAGE, "Pagina precedentă" + STRING_PREVIEW_TWOPAGES, "Două pagini" + STRING_PREVIEW_ONEPAGE, "O pagină" + STRING_PREVIEW_ZOOMIN, "Mărește" + STRING_PREVIEW_ZOOMOUT, "Micșorează" + STRING_PREVIEW_CLOSE, "Închide" + STRING_PREVIEW_PAGE, "Pagină" + STRING_PREVIEW_PAGES, "Pagini" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "in" + STRING_UNITS_INCH, "țol" + STRING_UNITS_PT, "pt" END STRINGTABLE BEGIN - STRING_DEFAULT_FILENAME, "Document" - 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?" - STRING_INVALID_NUMBER, "Formatul de număr nu este valid." + STRING_DEFAULT_FILENAME, "Document" + 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?" + STRING_INVALID_NUMBER, "Formatul de număr nu este valid." STRING_OLE_STORAGE_NOT_SUPPORTED, "Documentele de depozitare OLE nu sunt suportate." STRING_WRITE_FAILED, "Nu s-a putut salva fișierul." STRING_WRITE_ACCESS_DENIED, "Nu aveți permisiunea să salvați fișierul." @@ -266,3 +193,74 @@ BEGIN STRING_PRINTING_NOT_IMPLEMENTED, "Imprimarea nu este implementată." STRING_MAX_TAB_STOPS, "Nu se pot adăuga mai mult de 32 de taburi." END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Data și ora" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Formate disponibile",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "Con&firmă",IDOK,87,12,40,12 + PUSHBUTTON "A&nulează",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Nou" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Tip nou de document",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "Con&firmă",IDOK,97,12,40,12 + PUSHBUTTON "A&nulează",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Format paragraf" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Indentare", -1, 10, 10, 140, 68 + LTEXT "Stânga", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Dreapta", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Primul rând", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Aliniere", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "Con&firmă", IDOK, 160, 15, 50, 15 + PUSHBUTTON "A&nulează", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +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 "Con&firmă", IDOK, 135, 15, 58, 15 + PUSHBUTTON "A&nulează", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Elimină t&ot", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Despărțire rânduri", -1, 5, 10, 145, 85 + RADIOBUTTON "Fără &desparțire rânduri", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "Încadrează textul în &chenarul ferestrei", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Încadrează textul în li&mitele riglei", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Panouri de instrumente", -1, 155, 10, 115, 85 + CHECKBOX "Butoane g&enerale", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "Butoane de f&ormatare", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Riglă", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "&Bară de stare", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/Ru.rc b/base/applications/wordpad/lang/Ru.rc index e31d714e4f3..b2c9aa9a066 100644 --- a/base/applications/wordpad/lang/Ru.rc +++ b/base/applications/wordpad/lang/Ru.rc @@ -16,8 +16,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - /* UTF-8 */ #pragma code_page(65001) @@ -27,16 +25,16 @@ IDM_MAINMENU MENU BEGIN POPUP "&Файл" BEGIN - MENUITEM "Созд&ать...\tCtrl+N",ID_FILE_NEW - MENUITEM "&Открыть...\tCtrl+O",ID_FILE_OPEN - MENUITEM "&Сохранить\tCtrl+S", ID_FILE_SAVE - MENUITEM "Сохранить &как...", ID_FILE_SAVEAS + MENUITEM "Созд&ать...\tCtrl+N", ID_FILE_NEW + MENUITEM "&Открыть...\tCtrl+O", ID_FILE_OPEN + MENUITEM "&Сохранить\tCtrl+S", ID_FILE_SAVE + MENUITEM "Сохранить &как...", ID_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "&Печать...\tCtrl+P", ID_PRINT - MENUITEM "Пред&варительный просмотр...", ID_PREVIEW - MENUITEM "&Макет страницы...", ID_PRINTSETUP + MENUITEM "&Печать...\tCtrl+P", ID_PRINT + MENUITEM "Пред&варительный просмотр...", ID_PREVIEW + MENUITEM "&Макет страницы...", ID_PRINTSETUP MENUITEM SEPARATOR - MENUITEM "В&ыход", ID_FILE_EXIT + MENUITEM "В&ыход", ID_FILE_EXIT END POPUP "&Правка" BEGIN @@ -58,25 +56,25 @@ BEGIN MENUITEM SEPARATOR POPUP "&Дополнительно" BEGIN - MENUITEM "&Информация о выделении", ID_EDIT_SELECTIONINFO - MENUITEM "&Формат символов", ID_EDIT_CHARFORMAT - MENUITEM "Формат символов &по умолчанию", ID_EDIT_DEFCHARFORMAT - MENUITEM "Формат &абзаца", ID_EDIT_PARAFORMAT - MENUITEM "П&олучить текст", ID_EDIT_GETTEXT + MENUITEM "&Информация о выделении", ID_EDIT_SELECTIONINFO + MENUITEM "&Формат символов", ID_EDIT_CHARFORMAT + MENUITEM "Формат символов &по умолчанию", ID_EDIT_DEFCHARFORMAT + MENUITEM "Формат &абзаца", ID_EDIT_PARAFORMAT + MENUITEM "П&олучить текст", ID_EDIT_GETTEXT END END POPUP "&Вид" BEGIN - MENUITEM "Панель &инструментов", ID_TOGGLE_TOOLBAR - MENUITEM "П&анель форматирования", ID_TOGGLE_FORMATBAR - MENUITEM "&Линейка", ID_TOGGLE_RULER - MENUITEM "&Строка состояния", ID_TOGGLE_STATUSBAR + MENUITEM "Панель &инструментов", ID_TOGGLE_TOOLBAR + MENUITEM "П&анель форматирования", ID_TOGGLE_FORMATBAR + MENUITEM "&Линейка", ID_TOGGLE_RULER + MENUITEM "&Строка состояния", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR - MENUITEM "&Параметры...", ID_VIEWPROPERTIES + MENUITEM "&Параметры...", ID_VIEWPROPERTIES END POPUP "Вст&авка" BEGIN - MENUITEM "&Дата и время...", ID_DATETIME + MENUITEM "&Дата и время...", ID_DATETIME END POPUP "Фор&мат" BEGIN @@ -104,7 +102,7 @@ BEGIN MENUITEM "&Копировать\tCtrl+C", ID_EDIT_COPY MENUITEM "Вст&авить", ID_EDIT_PASTE MENUITEM SEPARATOR - MENUITEM "&Маркер", ID_BULLET + MENUITEM "&Маркер", ID_BULLET MENUITEM "&Абзац...", ID_PARAFORMAT END END @@ -113,103 +111,36 @@ IDM_COLOR_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "Чёрный", ID_COLOR_BLACK - MENUITEM "Тёмно-бордовый",ID_COLOR_MAROON - MENUITEM "Зелёный", ID_COLOR_GREEN - MENUITEM "Оливковый", ID_COLOR_OLIVE - MENUITEM "Тёмно-синий", ID_COLOR_NAVY - MENUITEM "Пурпурный", ID_COLOR_PURPLE - MENUITEM "Морской волны", ID_COLOR_TEAL - MENUITEM "Серый", ID_COLOR_GRAY - MENUITEM "Серебряный", ID_COLOR_SILVER - MENUITEM "Красный", ID_COLOR_RED - MENUITEM "Лимонный", ID_COLOR_LIME - MENUITEM "Жёлтый", ID_COLOR_YELLOW - MENUITEM "Синий", ID_COLOR_BLUE - MENUITEM "Ярко-розовый", ID_COLOR_FUCHSIA - MENUITEM "Голубой", ID_COLOR_AQUA - MENUITEM "Белый", ID_COLOR_WHITE - MENUITEM "Автоматически", ID_COLOR_AUTOMATIC + MENUITEM "Чёрный", ID_COLOR_BLACK + MENUITEM "Тёмно-бордовый", ID_COLOR_MAROON + MENUITEM "Зелёный", ID_COLOR_GREEN + MENUITEM "Оливковый", ID_COLOR_OLIVE + MENUITEM "Тёмно-синий", ID_COLOR_NAVY + MENUITEM "Пурпурный", ID_COLOR_PURPLE + MENUITEM "Морской волны", ID_COLOR_TEAL + MENUITEM "Серый", ID_COLOR_GRAY + MENUITEM "Серебряный", ID_COLOR_SILVER + MENUITEM "Красный", ID_COLOR_RED + MENUITEM "Лимонный", ID_COLOR_LIME + MENUITEM "Жёлтый", ID_COLOR_YELLOW + MENUITEM "Синий", ID_COLOR_BLUE + MENUITEM "Ярко-розовый", ID_COLOR_FUCHSIA + MENUITEM "Голубой", ID_COLOR_AQUA + MENUITEM "Белый", ID_COLOR_WHITE + MENUITEM "Автоматически", ID_COLOR_AUTOMATIC END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Дата и время" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Доступные форматы",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&ОК",IDOK,87,12,40,12 - PUSHBUTTON "О&тмена",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Новый документ" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Тип создаваемого документа",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&ОК",IDOK,97,12,40,12 - PUSHBUTTON "О&тмена",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Абзац" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Отступ", -1, 10, 10, 120, 68 - LTEXT "Слева", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Справа", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Первая строка", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Выравнивание", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&ОК", IDOK, 137, 15, 50, 15 - PUSHBUTTON "О&тмена", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Табуляция" -FONT 8, "MS SHell DLg" -BEGIN - GROUPBOX "Позиции табуляции", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Установить", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "О&чистить", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&ОК", IDOK, 137, 15, 50, 15 - PUSHBUTTON "О&тмена", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "Очистить &все", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Перенос по словам", -1, 10, 10, 130, 85 - RADIOBUTTON "Не переносить", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "В границах &окна", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "В границах &полей", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Панели", -1, 150, 10, 120, 85 - CHECKBOX "&Инструментов", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "&Форматирования", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Линейка", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "&Строка состояния", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN - STRING_RICHTEXT_FILES_RTF, "Файлы RTF (*.rtf)" + STRING_ALL_FILES, "Все документы (*.*)" STRING_TEXT_FILES_TXT, "Текстовые документы (*.txt)" STRING_TEXT_FILES_UNICODE_TXT, "Документы Unicode (*.txt)" - STRING_ALL_FILES, "Все документы (*.*)" + STRING_RICHTEXT_FILES_RTF, "Файлы RTF (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Файл RTF" + STRING_NEWFILE_TXT, "Текстовый документ" + STRING_NEWFILE_TXT_UNICODE, "Документ в формате Unicode" + STRING_PRINTER_FILES_PRN, "Файлы принтера (*.PRN)" END STRINGTABLE @@ -219,18 +150,6 @@ BEGIN STRING_ALIGN_CENTER, "По центру" END -STRINGTABLE -BEGIN - STRING_NEWFILE_RICHTEXT, "Файл RTF" - STRING_NEWFILE_TXT, "Текстовый документ" - STRING_NEWFILE_TXT_UNICODE, "Документ в формате Unicode" -END - -STRINGTABLE -BEGIN - STRING_PRINTER_FILES_PRN, "Файлы принтера (*.PRN)" -END - STRINGTABLE BEGIN STRING_VIEWPROPS_TITLE, "Настройки" @@ -272,3 +191,74 @@ BEGIN STRING_PRINTING_NOT_IMPLEMENTED, "Печать не поддерживается." STRING_MAX_TAB_STOPS, "Нельзя добавить более 32 позиций табуляции." END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Дата и время" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Доступные форматы",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "О&тмена",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Новый документ" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Тип создаваемого документа",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "О&тмена",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Абзац" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Отступ", -1, 10, 10, 140, 68 + LTEXT "Слева", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Справа", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Первая строка", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Выравнивание", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "О&тмена", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Табуляция" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Позиции табуляции", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Установить", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "О&чистить", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "&ОК", IDOK, 135, 15, 58, 15 + PUSHBUTTON "О&тмена", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Очистить &все", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Перенос по словам", -1, 5, 10, 145, 85 + RADIOBUTTON "Не переносить", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "В границах &окна", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "В границах &полей", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Панели", -1, 155, 10, 115, 85 + CHECKBOX "&Инструментов", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "&Форматирования", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Линейка", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "&Строка состояния", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/Si.rc b/base/applications/wordpad/lang/Si.rc index db9d84cee1f..a626668729a 100644 --- a/base/applications/wordpad/lang/Si.rc +++ b/base/applications/wordpad/lang/Si.rc @@ -16,8 +16,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - #pragma code_page(65001) LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT @@ -26,52 +24,52 @@ IDM_MAINMENU MENU BEGIN POPUP "&Datotka" BEGIN - MENUITEM "&Nova ...\tCtrl+N", ID_FILE_NEW - MENUITEM "&Odpri ...\tCtrl+O", ID_FILE_OPEN + MENUITEM "&Nova ...\tCtrl+N", ID_FILE_NEW + MENUITEM "&Odpri ...\tCtrl+O", ID_FILE_OPEN MENUITEM "&Shrani\tCtrl+S", ID_FILE_SAVE - MENUITEM "Shrani &kot ...", ID_FILE_SAVEAS + MENUITEM "Shrani &kot ...", ID_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "Na&tisni ...\tCtrl+P", ID_PRINT - MENUITEM "Pre&dogled tiskanja ...", ID_PREVIEW - MENUITEM "Pri&prava strani ...", ID_PRINTSETUP + MENUITEM "Na&tisni ...\tCtrl+P", ID_PRINT + MENUITEM "Pre&dogled tiskanja ...", ID_PREVIEW + MENUITEM "Pri&prava strani ...", ID_PRINTSETUP MENUITEM SEPARATOR - MENUITEM "Iz&hod", ID_FILE_EXIT + MENUITEM "Iz&hod", ID_FILE_EXIT END POPUP "&Urejanje" BEGIN - MENUITEM "Ra&zveljavi\tCtrl+Z", ID_EDIT_UNDO - MENUITEM "Po&novi\tCtrl+Y", ID_EDIT_REDO + MENUITEM "Ra&zveljavi\tCtrl+Z", ID_EDIT_UNDO + MENUITEM "Po&novi\tCtrl+Y", ID_EDIT_REDO MENUITEM SEPARATOR - MENUITEM "&Izreži\tCtrl+X", ID_EDIT_CUT - MENUITEM "&Kopiraj\tCtrl+C", ID_EDIT_COPY - MENUITEM "&Prilepi\tCtrl+V", ID_EDIT_PASTE - MENUITEM "Po&briši\tDEL", ID_EDIT_CLEAR + MENUITEM "&Izreži\tCtrl+X", ID_EDIT_CUT + MENUITEM "&Kopiraj\tCtrl+C", ID_EDIT_COPY + MENUITEM "&Prilepi\tCtrl+V", ID_EDIT_PASTE + MENUITEM "Po&briši\tDEL", ID_EDIT_CLEAR MENUITEM "Izberi &vse\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "Na&jdi ...\tCtrl+F", ID_FIND - MENUITEM "Najdi n&aslednje\tF3", ID_FIND_NEXT - MENUITEM "Za&menjaj ...\tCtrl+H", ID_REPLACE + MENUITEM "Na&jdi ...\tCtrl+F", ID_FIND + MENUITEM "Najdi n&aslednje\tF3", ID_FIND_NEXT + MENUITEM "Za&menjaj ...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR - MENUITEM "Samo za b&ranje", ID_EDIT_READONLY - MENUITEM "Spr&emenjeno", ID_EDIT_MODIFIED + MENUITEM "Samo za b&ranje", ID_EDIT_READONLY + MENUITEM "Spr&emenjeno", ID_EDIT_MODIFIED MENUITEM SEPARATOR POPUP "Do&datno" BEGIN - MENUITEM "Poda&tki o izbiri", ID_EDIT_SELECTIONINFO - MENUITEM "Oblika zna&kov", ID_EDIT_CHARFORMAT - MENUITEM "Pr&ivzeta oblika znakov", ID_EDIT_DEFCHARFORMAT - MENUITEM "Ob&lika odstavka", ID_EDIT_PARAFORMAT - MENUITEM "Pridobi &besedilo", ID_EDIT_GETTEXT + MENUITEM "Poda&tki o izbiri", ID_EDIT_SELECTIONINFO + MENUITEM "Oblika zna&kov", ID_EDIT_CHARFORMAT + MENUITEM "Pr&ivzeta oblika znakov", ID_EDIT_DEFCHARFORMAT + MENUITEM "Ob&lika odstavka", ID_EDIT_PARAFORMAT + MENUITEM "Pridobi &besedilo", ID_EDIT_GETTEXT END END POPUP "Po&gled" BEGIN - MENUITEM "O&rodna vrstica", ID_TOGGLE_TOOLBAR - MENUITEM "O&blikovna vrstica", ID_TOGGLE_FORMATBAR - MENUITEM "&Ravnilo", ID_TOGGLE_RULER - MENUITEM "&Vrstica stanja", ID_TOGGLE_STATUSBAR + MENUITEM "O&rodna vrstica", ID_TOGGLE_TOOLBAR + MENUITEM "O&blikovna vrstica", ID_TOGGLE_FORMATBAR + MENUITEM "&Ravnilo", ID_TOGGLE_RULER + MENUITEM "&Vrstica stanja", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR - MENUITEM "&Možnosti ...", ID_VIEWPROPERTIES + MENUITEM "&Možnosti ...", ID_VIEWPROPERTIES END POPUP "&Vstavi" BEGIN @@ -80,9 +78,9 @@ BEGIN POPUP "O&blika" BEGIN MENUITEM "&Pisava ...", ID_FONTSETTINGS - MENUITEM "&Vrstične oznake", ID_BULLET - MENUITEM "O&dstavek ...", ID_PARAFORMAT - MENUITEM "&Tabulator ...", ID_TABSTOPS + MENUITEM "&Vrstične oznake", ID_BULLET + MENUITEM "O&dstavek ...", ID_PARAFORMAT + MENUITEM "&Tabulator ...", ID_TABSTOPS POPUP "Ozad&je" BEGIN MENUITEM "&Sistemsko\tCtrl+1", ID_BACK_1 @@ -91,7 +89,7 @@ BEGIN END POPUP "&Pomoč" BEGIN - MENUITEM "&O Wine Wordpadu", ID_ABOUT + MENUITEM "&O Wine Wordpadu", ID_ABOUT END END @@ -99,12 +97,12 @@ IDM_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "&Izreži", ID_EDIT_CUT - MENUITEM "&Kopiraj", ID_EDIT_COPY - MENUITEM "&Prilepi", ID_EDIT_PASTE + MENUITEM "&Izreži", ID_EDIT_CUT + MENUITEM "&Kopiraj", ID_EDIT_COPY + MENUITEM "&Prilepi", ID_EDIT_PASTE MENUITEM SEPARATOR - MENUITEM "&Vrstične oznake", ID_BULLET - MENUITEM "O&dstavek ...", ID_PARAFORMAT + MENUITEM "&Vrstične oznake", ID_BULLET + MENUITEM "O&dstavek ...", ID_PARAFORMAT END END @@ -132,83 +130,16 @@ BEGIN END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Datum in čas" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Razpoložljive oblike",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&V redu",IDOK,87,12,40,12 - PUSHBUTTON "&Prekliči",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Nov dokument" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Vrsta dokumenta",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&V redu",IDOK,97,12,40,12 - PUSHBUTTON "&Prekliči",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Oblika odstavka" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Zamiki", -1, 10, 10, 120, 68 - LTEXT "Levo", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Desno", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Prva vrstica", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Poravnava", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&V redu", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Prekliči", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Tabulatorji" -FONT 8, "MS SHell DLg" -BEGIN - GROUPBOX "Položaji tabulatorja", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Dodaj", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "&Odstrani", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&V redu", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Prekliči", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "Odstrani v&se", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Prelom vrstic", -1, 10, 10, 130, 85 - RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "Prelomi besedilo na robu o&kna", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "Prelomi besedilo na robu &papirja", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Orodne vrstice", -1, 150, 10, 120, 85 - CHECKBOX "O&rodna vrstica", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "O&blikovna vrstica", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Ravnilo", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "&Vrstica stanja", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN - STRING_RICHTEXT_FILES_RTF, "Dokument z obogatenim besedilom (*.rtf)" + STRING_ALL_FILES, "Vsi dokumenti (*.*)" STRING_TEXT_FILES_TXT, "Dokument z besedilom (*.txt)" STRING_TEXT_FILES_UNICODE_TXT, "Dokument z Unicode besedilom (*.txt)" - STRING_ALL_FILES, "Vsi dokumenti (*.*)" + STRING_RICHTEXT_FILES_RTF, "Dokument z obogatenim besedilom (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Dokument z obogatenim besedilom" + STRING_NEWFILE_TXT, "Dokument z besedilom" + STRING_NEWFILE_TXT_UNICODE, "Dokument z Unicode besedilom" + STRING_PRINTER_FILES_PRN, "Tiskalnikova datoteka (*.PRN)" END STRINGTABLE @@ -218,18 +149,6 @@ BEGIN STRING_ALIGN_CENTER, "Sredina" END -STRINGTABLE -BEGIN - STRING_NEWFILE_RICHTEXT, "Dokument z obogatenim besedilom" - STRING_NEWFILE_TXT, "Dokument z besedilom" - STRING_NEWFILE_TXT_UNICODE, "Dokument z Unicode besedilom" -END - -STRINGTABLE -BEGIN - STRING_PRINTER_FILES_PRN, "Tiskalnikova datoteka (*.PRN)" -END - STRINGTABLE BEGIN STRING_VIEWPROPS_TITLE, "Možnosti" @@ -271,3 +190,74 @@ BEGIN STRING_PRINTING_NOT_IMPLEMENTED, "Tiskanje (še) ni na voljo" STRING_MAX_TAB_STOPS, "Ne morem vstaviti več kot 32 položajev tabulatorja." END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Datum in čas" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Razpoložljive oblike",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "&V redu",IDOK,87,12,40,12 + PUSHBUTTON "&Prekliči",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Nov dokument" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Vrsta dokumenta",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "&V redu",IDOK,97,12,40,12 + PUSHBUTTON "&Prekliči",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Oblika odstavka" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Zamiki", -1, 10, 10, 140, 68 + LTEXT "Levo", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Desno", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Prva vrstica", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Poravnava", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "&V redu", IDOK, 160, 15, 50, 15 + PUSHBUTTON "&Prekliči", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabulatorji" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Položaji tabulatorja", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Dodaj", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Odstrani", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "&V redu", IDOK, 135, 15, 58, 15 + PUSHBUTTON "&Prekliči", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Odstrani v&se", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Prelom vrstic", -1, 5, 10, 145, 85 + RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "Prelomi besedilo na robu o&kna", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Prelomi besedilo na robu &papirja", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Orodne vrstice", -1, 155, 10, 115, 85 + CHECKBOX "O&rodna vrstica", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "O&blikovna vrstica", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Ravnilo", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "&Vrstica stanja", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/Sq.rc b/base/applications/wordpad/lang/Sq.rc index de82ee07f57..ab32f1b3a5a 100644 --- a/base/applications/wordpad/lang/Sq.rc +++ b/base/applications/wordpad/lang/Sq.rc @@ -17,8 +17,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL IDM_MAINMENU MENU @@ -26,15 +24,15 @@ BEGIN POPUP "&File" BEGIN MENUITEM "E Re...\tCtrl+N", ID_FILE_NEW - MENUITEM "Hap...\tCtrl+O", ID_FILE_OPEN - MENUITEM "Ruaj\tCtrl+S", ID_FILE_SAVE - MENUITEM "Ruaj si...", ID_FILE_SAVEAS + MENUITEM "Hap...\tCtrl+O", ID_FILE_OPEN + MENUITEM "Ruaj\tCtrl+S", ID_FILE_SAVE + MENUITEM "Ruaj si...", ID_FILE_SAVEAS MENUITEM SEPARATOR - MENUITEM "&Printo...\tCtrl+P", ID_PRINT + MENUITEM "&Printo...\tCtrl+P", ID_PRINT MENUITEM "Print previe&w...", ID_PREVIEW - MENUITEM "Faqe setup...", ID_PRINTSETUP + MENUITEM "Faqe setup...", ID_PRINTSETUP MENUITEM SEPARATOR - MENUITEM "Dil", ID_FILE_EXIT + MENUITEM "Dil", ID_FILE_EXIT END POPUP "Modifiko" BEGIN @@ -43,15 +41,15 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Prej\tCtrl+X", ID_EDIT_CUT MENUITEM "Kopjo\tCtrl+C", ID_EDIT_COPY - MENUITEM "Ngjit\tCtrl+V", ID_EDIT_PASTE + MENUITEM "Ngjit\tCtrl+V", ID_EDIT_PASTE MENUITEM "Pastro\tDEL", ID_EDIT_CLEAR - MENUITEM "Perzgjidh t'gjitha\tCtrl+A", ID_EDIT_SELECTALL + MENUITEM "Perzgjidh t'gjitha\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "Gjej...\tCtrl+F", ID_FIND - MENUITEM "Gjej tjetren\tF3", ID_FIND_NEXT - MENUITEM "Zevendeso...\tCtrl+H", ID_REPLACE + MENUITEM "Gjej...\tCtrl+F", ID_FIND + MENUITEM "Gjej tjetren\tF3", ID_FIND_NEXT + MENUITEM "Zevendeso...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR - MENUITEM "I lexueshem", ID_EDIT_READONLY + MENUITEM "I lexueshem", ID_EDIT_READONLY MENUITEM "&Modifiko", ID_EDIT_MODIFIED MENUITEM SEPARATOR POPUP "E&xtra" @@ -60,15 +58,15 @@ BEGIN MENUITEM "Karaktere &format", ID_EDIT_CHARFORMAT MENUITEM "&Def. char format", ID_EDIT_DEFCHARFORMAT MENUITEM "Paragrap&h format", ID_EDIT_PARAFORMAT - MENUITEM "Merr tekstin", ID_EDIT_GETTEXT + MENUITEM "Merr tekstin", ID_EDIT_GETTEXT END END POPUP "&Vezhgo" BEGIN MENUITEM "&Toolbar", ID_TOGGLE_TOOLBAR - MENUITEM "&Formatbar", ID_TOGGLE_FORMATBAR + MENUITEM "&Format Bar", ID_TOGGLE_FORMATBAR MENUITEM "Vizore", ID_TOGGLE_RULER - MENUITEM "&Statusbar", ID_TOGGLE_STATUSBAR + MENUITEM "&Status Bar", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR MENUITEM "&Opsione...", ID_VIEWPROPERTIES END @@ -79,7 +77,7 @@ BEGIN POPUP "F&ormat" BEGIN MENUITEM "&Font...", ID_FONTSETTINGS - MENUITEM "Pika", ID_BULLET + MENUITEM "Pika", ID_BULLET MENUITEM "&Paragraf...", ID_PARAFORMAT MENUITEM "&Tabs...", ID_TABSTOPS POPUP "Sfon&d" @@ -90,7 +88,7 @@ BEGIN END POPUP "Ndihmë" BEGIN - MENUITEM "Rreth Wordpad", ID_ABOUT + MENUITEM "Rreth Wordpad", ID_ABOUT END END @@ -102,7 +100,7 @@ BEGIN MENUITEM "Kopjo", ID_EDIT_COPY MENUITEM "Ngjit", ID_EDIT_PASTE MENUITEM SEPARATOR - MENUITEM "Pika", ID_BULLET + MENUITEM "Pika", ID_BULLET MENUITEM "&Paragraf...", ID_PARAFORMAT END END @@ -111,97 +109,26 @@ IDM_COLOR_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "E Zeze", ID_COLOR_BLACK - MENUITEM "Geshtenje", ID_COLOR_MAROON - MENUITEM "Jeshil", ID_COLOR_GREEN - MENUITEM "Ulliri", ID_COLOR_OLIVE - MENUITEM "Navy", ID_COLOR_NAVY - MENUITEM "Lelja", ID_COLOR_PURPLE - MENUITEM "Teal", ID_COLOR_TEAL - MENUITEM "Gri", ID_COLOR_GRAY - MENUITEM "Argjend", ID_COLOR_SILVER - MENUITEM "Kuqe", ID_COLOR_RED - MENUITEM "Lime", ID_COLOR_LIME - MENUITEM "E Verdhe", ID_COLOR_YELLOW - MENUITEM "Blu", ID_COLOR_BLUE - MENUITEM "Fuchsia", ID_COLOR_FUCHSIA - MENUITEM "Uje", ID_COLOR_AQUA - MENUITEM "E Bardhe", ID_COLOR_WHITE - MENUITEM "Automatike", ID_COLOR_AUTOMATIC + MENUITEM "E Zeze", ID_COLOR_BLACK + MENUITEM "Geshtenje", ID_COLOR_MAROON + MENUITEM "Jeshil", ID_COLOR_GREEN + MENUITEM "Ulliri", ID_COLOR_OLIVE + MENUITEM "Navy", ID_COLOR_NAVY + MENUITEM "Lelja", ID_COLOR_PURPLE + MENUITEM "Teal", ID_COLOR_TEAL + MENUITEM "Gri", ID_COLOR_GRAY + MENUITEM "Argjend", ID_COLOR_SILVER + MENUITEM "Kuqe", ID_COLOR_RED + MENUITEM "Lime", ID_COLOR_LIME + MENUITEM "E Verdhe", ID_COLOR_YELLOW + MENUITEM "Blu", ID_COLOR_BLUE + MENUITEM "Fuchsia", ID_COLOR_FUCHSIA + MENUITEM "Uje", ID_COLOR_AQUA + MENUITEM "E Bardhe", ID_COLOR_WHITE + MENUITEM "Automatike", ID_COLOR_AUTOMATIC END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Data dhe ora" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Formatet e disponushem",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "Anulo",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "New" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Tipi dok te ri",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "Anulo",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Paragraf format" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Dhembezim", -1, 10, 10, 120, 68 - LTEXT "Majtas", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Djathtas", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Linja e pare", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Radhitje", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "Anulo", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Tabs" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Ndalo Tab", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "Shto", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "Hiq", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Anulo", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "Hiq te gjith", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Mbeshtjedhes Linje", -1, 10, 10, 130, 85 - RADIOBUTTON "Ska Mbeshtjedhes Linje", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "Mbeshtjedh tekstin nga kornizat e dritares", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "Mbeshtjedh tekstin nga &margin", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Toolbars", -1, 150, 10, 120, 85 - CHECKBOX "&Toolbar", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "&Formatbar", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Vizore", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "&Statusbar", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN STRING_ALL_FILES, "Te gjith dokumentat (*.*)" @@ -262,3 +189,74 @@ BEGIN STRING_PRINTING_NOT_IMPLEMENTED, "Printeri jo i implemenuar" STRING_MAX_TAB_STOPS, "Nuk mund te shtoj me shume se 32 tab ndalo." END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Data dhe ora" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Formatet e disponushem",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "Anulo",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "New" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Tipi dok te ri",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "Anulo",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Paragraf format" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Dhembezim", -1, 10, 10, 140, 68 + LTEXT "Majtas", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Djathtas", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Linja e pare", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Radhitje", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "Anulo", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabs" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Ndalo Tab", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "Shto", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "Hiq", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "&Anulo", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Hiq te gjith", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Mbeshtjedhes Linje", -1, 5, 10, 145, 85 + RADIOBUTTON "Ska Mbeshtjedhes Linje", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "Mbeshtjedh tekstin nga kornizat e dritares", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Mbeshtjedh tekstin nga &margin", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Toolbars", -1, 155, 10, 115, 85 + CHECKBOX "&Toolbar", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "&Format Bar", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Vizore", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "&Status Bar", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/Sv.rc b/base/applications/wordpad/lang/Sv.rc index e9d967677d8..a16a6ab5245 100644 --- a/base/applications/wordpad/lang/Sv.rc +++ b/base/applications/wordpad/lang/Sv.rc @@ -16,12 +16,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" +#pragma code_page(65001) LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL -#pragma code_page(65001) - IDM_MAINMENU MENU BEGIN POPUP "&Arkiv" @@ -57,21 +55,21 @@ BEGIN MENUITEM SEPARATOR POPUP "E&xtra" BEGIN - MENUITEM "&Information om markerad text", ID_EDIT_SELECTIONINFO - MENUITEM "&Teckenformat", ID_EDIT_CHARFORMAT - MENUITEM "&Standardteckenformat", ID_EDIT_DEFCHARFORMAT - MENUITEM "Stycke&format", ID_EDIT_PARAFORMAT - MENUITEM "&Hämta text", ID_EDIT_GETTEXT + MENUITEM "&Information om markerad text", ID_EDIT_SELECTIONINFO + MENUITEM "&Teckenformat", ID_EDIT_CHARFORMAT + MENUITEM "&Standardteckenformat", ID_EDIT_DEFCHARFORMAT + MENUITEM "Stycke&format", ID_EDIT_PARAFORMAT + MENUITEM "&Hämta text", ID_EDIT_GETTEXT END END POPUP "&Visa" BEGIN - MENUITEM "&Verktygsfält", ID_TOGGLE_TOOLBAR - MENUITEM "&Formatfält", ID_TOGGLE_FORMATBAR - MENUITEM "&Linjal", ID_TOGGLE_RULER - MENUITEM "&Statusfält", ID_TOGGLE_STATUSBAR + MENUITEM "&Verktygsfält", ID_TOGGLE_TOOLBAR + MENUITEM "&Formatfält", ID_TOGGLE_FORMATBAR + MENUITEM "&Linjal", ID_TOGGLE_RULER + MENUITEM "&Statusfält", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR - MENUITEM "&Alternativ...", ID_VIEWPROPERTIES + MENUITEM "&Alternativ...", ID_VIEWPROPERTIES END POPUP "&Infoga" BEGIN @@ -79,19 +77,19 @@ BEGIN END POPUP "F&ormat" BEGIN - MENUITEM "T&ecken...", ID_FONTSETTINGS - MENUITEM "&Punktuppställning", ID_BULLET - MENUITEM "&Stycke...", ID_PARAFORMAT - MENUITEM "&Tabulatorer...", ID_TABSTOPS + MENUITEM "T&ecken...", ID_FONTSETTINGS + MENUITEM "&Punktuppställning", ID_BULLET + MENUITEM "&Stycke...", ID_PARAFORMAT + MENUITEM "&Tabulatorer...", ID_TABSTOPS POPUP "&Bakgrund" BEGIN - MENUITEM "&System\tCtrl+1", ID_BACK_1 - MENUITEM "Anteckningslapps-&gult\tCtrl+2", ID_BACK_2 + MENUITEM "&System\tCtrl+1", ID_BACK_1 + MENUITEM "Anteckningslapps-&gult\tCtrl+2", ID_BACK_2 END END POPUP "&Hjälp" BEGIN - MENUITEM "&Om Wine Wordpad", ID_ABOUT + MENUITEM "&Om Wine Wordpad", ID_ABOUT END END @@ -99,12 +97,12 @@ IDM_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "Klipp &ut", ID_EDIT_CUT - MENUITEM "&Kopiera", ID_EDIT_COPY - MENUITEM "Klistra &in", ID_EDIT_PASTE + MENUITEM "Klipp &ut", ID_EDIT_CUT + MENUITEM "&Kopiera", ID_EDIT_COPY + MENUITEM "Klistra &in", ID_EDIT_PASTE MENUITEM SEPARATOR - MENUITEM "&Punktuppställning", ID_BULLET - MENUITEM "&Stycke...", ID_PARAFORMAT + MENUITEM "&Punktuppställning", ID_BULLET + MENUITEM "&Stycke...", ID_PARAFORMAT END END @@ -112,103 +110,36 @@ IDM_COLOR_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "Svart", ID_COLOR_BLACK - MENUITEM "Rödbrun", ID_COLOR_MAROON - MENUITEM "Grön", ID_COLOR_GREEN - MENUITEM "Oliv", ID_COLOR_OLIVE - MENUITEM "Navy", ID_COLOR_NAVY - MENUITEM "Lila", ID_COLOR_PURPLE - MENUITEM "Teal", ID_COLOR_TEAL - MENUITEM "Grå", ID_COLOR_GRAY - MENUITEM "Silver", ID_COLOR_SILVER - MENUITEM "Röd", ID_COLOR_RED - MENUITEM "Lime", ID_COLOR_LIME - MENUITEM "Gul", ID_COLOR_YELLOW - MENUITEM "Blå", ID_COLOR_BLUE - MENUITEM "Fuchsia", ID_COLOR_FUCHSIA - MENUITEM "Aqua", ID_COLOR_AQUA - MENUITEM "Vit", ID_COLOR_WHITE - MENUITEM "Automatic",ID_COLOR_AUTOMATIC + MENUITEM "Svart", ID_COLOR_BLACK + MENUITEM "Rödbrun", ID_COLOR_MAROON + MENUITEM "Grön", ID_COLOR_GREEN + MENUITEM "Oliv", ID_COLOR_OLIVE + MENUITEM "Navy", ID_COLOR_NAVY + MENUITEM "Lila", ID_COLOR_PURPLE + MENUITEM "Teal", ID_COLOR_TEAL + MENUITEM "Grå", ID_COLOR_GRAY + MENUITEM "Silver", ID_COLOR_SILVER + MENUITEM "Röd", ID_COLOR_RED + MENUITEM "Lime", ID_COLOR_LIME + MENUITEM "Gul", ID_COLOR_YELLOW + MENUITEM "Blå", ID_COLOR_BLUE + MENUITEM "Fuchsia", ID_COLOR_FUCHSIA + MENUITEM "Aqua", ID_COLOR_AQUA + MENUITEM "Vit", ID_COLOR_WHITE + MENUITEM "Automatic", ID_COLOR_AUTOMATIC END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Datum och tid" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Tillgängliga format",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "&Avbryt",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Ny" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Ny dokumenttyp",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "&Avbryt",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Formatera stycke" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Indrag", -1, 10, 10, 120, 68 - LTEXT "Vänster", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Höger", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Första rad", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Justering", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Avbryt", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Tabulatorer" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Tabbstopp", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "Lägg &till", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "Ta &bort", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Avbryt", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "Ta bort a&lla", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Radbrytning", -1, 10, 10, 130, 85 - RADIOBUTTON "&Ingen radbrytning", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "&Bryt text vid fönsterkanten", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "Bryt text vid &marginalen", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Verktygsrader", -1, 150, 10, 120, 85 - CHECKBOX "&Verktygsrad", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "&Formatrad", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Linjal", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "&Statusrad", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN - STRING_RICHTEXT_FILES_RTF, "Rich text-format (*.rtf)" + STRING_ALL_FILES, "Alla filer (*.*)" STRING_TEXT_FILES_TXT, "Textdokument (*.txt)" STRING_TEXT_FILES_UNICODE_TXT, "Unicode-textdokument (*.txt)" - STRING_ALL_FILES, "Alla filer (*.*)" + STRING_RICHTEXT_FILES_RTF, "Rich text-format (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Rich text-dokument" + STRING_NEWFILE_TXT, "Textdokument" + STRING_NEWFILE_TXT_UNICODE, "Textdokument (Unicode)" + STRING_PRINTER_FILES_PRN, "Skrivarfiler (*.PRN)" END STRINGTABLE @@ -218,18 +149,6 @@ BEGIN STRING_ALIGN_CENTER, "Centrerat" END -STRINGTABLE -BEGIN - STRING_NEWFILE_RICHTEXT, "Rich text-dokument" - STRING_NEWFILE_TXT, "Textdokument" - STRING_NEWFILE_TXT_UNICODE, "Textdokument (Unicode)" -END - -STRINGTABLE -BEGIN - STRING_PRINTER_FILES_PRN, "Skrivarfiler (*.PRN)" -END - STRINGTABLE BEGIN STRING_VIEWPROPS_TITLE, "Alternativ" @@ -249,14 +168,10 @@ BEGIN STRING_PREVIEW_CLOSE, "Stäng" STRING_PREVIEW_PAGE, "Sida" STRING_PREVIEW_PAGES, "Sidor" -END - -STRINGTABLE -BEGIN - STRING_UNITS_CM, "cm" - STRING_UNITS_IN, "in" - STRING_UNITS_INCH, "tum" - STRING_UNITS_PT, "pt" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "in" + STRING_UNITS_INCH, "tum" + STRING_UNITS_PT, "pt" END STRINGTABLE @@ -275,3 +190,74 @@ BEGIN STRING_PRINTING_NOT_IMPLEMENTED, "Utskrift ej implementerat." STRING_MAX_TAB_STOPS, "Kan ej lägga till mer än 32 tabbstopp." END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Datum och tid" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Tillgängliga format",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "&Avbryt",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Ny" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Ny dokumenttyp",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "&Avbryt",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Formatera stycke" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Indrag", -1, 10, 10, 140, 68 + LTEXT "Vänster", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Höger", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Första rad", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Justering", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "&Avbryt", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Tabulatorer" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Tabbstopp", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "Lägg &till", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "Ta &bort", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "&Avbryt", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Ta bort a&lla", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Radbrytning", -1, 5, 10, 145, 85 + RADIOBUTTON "&Ingen radbrytning", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "&Bryt text vid fönsterkanten", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "Bryt text vid &marginalen", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Verktygsrader", -1, 155, 10, 115, 85 + CHECKBOX "&Verktygsrad", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "&Formatrad", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Linjal", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "&Statusrad", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END diff --git a/base/applications/wordpad/lang/Tr.rc b/base/applications/wordpad/lang/Tr.rc index c8018961ac4..95a01737ba0 100644 --- a/base/applications/wordpad/lang/Tr.rc +++ b/base/applications/wordpad/lang/Tr.rc @@ -1,7 +1,7 @@ /* * Turkish Resources for ReactOS Wordpad * - * Copyrights: 2006 Fatih Aşıcı (fasici@linux-sevenler.org), 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) + * Copyrights: 2006 Fatih Aşıcı (fasici@linux-sevenler.org); 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,8 +18,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - LANGUAGE LANG_TURKISH, SUBLANG_NEUTRAL IDM_MAINMENU MENU @@ -28,32 +26,32 @@ BEGIN BEGIN MENUITEM "&Yeni...\tCtrl+N", ID_FILE_NEW MENUITEM "&Aç...\tCtrl+O", ID_FILE_OPEN - MENUITEM "&Kaydet\tCtrl+S", ID_FILE_SAVE - MENUITEM "Ay&rı Kaydet...", ID_FILE_SAVEAS + MENUITEM "&Sakla\tCtrl+S", ID_FILE_SAVE + MENUITEM "Ay&rı Sakla...", ID_FILE_SAVEAS MENUITEM SEPARATOR MENUITEM "Ya&zdır...\tCtrl+P", ID_PRINT MENUITEM "&Baskı Ön İzlemesi...", ID_PREVIEW - MENUITEM "&Sayfa Ayarla...", ID_PRINTSETUP + MENUITEM "Say&fa Ayarla...", ID_PRINTSETUP MENUITEM SEPARATOR MENUITEM "&Çıkış", ID_FILE_EXIT END POPUP "&Düzen" BEGIN - MENUITEM "&Geri Al\tCtrl+Z", ID_EDIT_UNDO - MENUITEM "&Yinele\tCtrl+Y", ID_EDIT_REDO + MENUITEM "&Geri Al\tCtrl+Z", ID_EDIT_UNDO + MENUITEM "&Yinele\tCtrl+Y", ID_EDIT_REDO MENUITEM SEPARATOR - MENUITEM "&Kes\tCtrl+X", ID_EDIT_CUT - MENUITEM "&Çoğalt\tCtrl+C", ID_EDIT_COPY - MENUITEM "Ya&pıştır\tCtrl+V", ID_EDIT_PASTE - MENUITEM "&Sil\tDel", ID_EDIT_CLEAR - MENUITEM "&Tümünü Seç\tCtrl+A", ID_EDIT_SELECTALL + MENUITEM "&Kes\tCtrl+X", ID_EDIT_CUT + MENUITEM "&Çoğalt\tCtrl+C", ID_EDIT_COPY + MENUITEM "Ya&pıştır\tCtrl+V", ID_EDIT_PASTE + MENUITEM "&Sil\tDel", ID_EDIT_CLEAR + MENUITEM "&Tümünü Seç\tCtrl+A", ID_EDIT_SELECTALL MENUITEM SEPARATOR - MENUITEM "&Ara...\tCtrl+F", ID_FIND - MENUITEM "S&onrakini Ara\tF3", ID_FIND_NEXT - MENUITEM "&Değiştir...\tCtrl+H", ID_REPLACE + MENUITEM "&Ara...\tCtrl+F", ID_FIND + MENUITEM "S&onrakini Ara\tF3", ID_FIND_NEXT + MENUITEM "&Değiştir...\tCtrl+H", ID_REPLACE MENUITEM SEPARATOR - MENUITEM "Ya&lnızca Okunur", ID_EDIT_READONLY - MENUITEM "D&eğiştirilmiş", ID_EDIT_MODIFIED + MENUITEM "Ya&lnızca Okunur", ID_EDIT_READONLY + MENUITEM "D&eğiştirilmiş", ID_EDIT_MODIFIED MENUITEM SEPARATOR POPUP "D&iğer" BEGIN @@ -66,32 +64,32 @@ BEGIN END POPUP "&Görünüm" BEGIN - MENUITEM "&Araç Çubuğu", ID_TOGGLE_TOOLBAR - MENUITEM "&Biçim Çubuğu", ID_TOGGLE_FORMATBAR - MENUITEM "&Çizgilik", ID_TOGGLE_RULER - MENUITEM "&Durum Çubuğu", ID_TOGGLE_STATUSBAR + MENUITEM "&Araç Çubuğu", ID_TOGGLE_TOOLBAR + MENUITEM "&Biçim Çubuğu", ID_TOGGLE_FORMATBAR + MENUITEM "&Çizgilik", ID_TOGGLE_RULER + MENUITEM "&Durum Çubuğu", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR - MENUITEM "&Husûsiyetler...", ID_VIEWPROPERTIES + MENUITEM "&Husûsiyetler...", ID_VIEWPROPERTIES END POPUP "&Ekle" BEGIN - MENUITEM "&Târih veyâ Saat...", ID_DATETIME + MENUITEM "&Târih veyâ Saat...", ID_DATETIME END POPUP "&Biçim" BEGIN - MENUITEM "&Yazı Tipi...", ID_FONTSETTINGS - MENUITEM "&Öğe İmleri", ID_BULLET - MENUITEM "&Paragraf...", ID_PARAFORMAT - MENUITEM "&Sekme Durakları...", ID_TABSTOPS + MENUITEM "&Yazı Tipi...", ID_FONTSETTINGS + MENUITEM "&Öğe İmleri", ID_BULLET + MENUITEM "&Paragraf...", ID_PARAFORMAT + MENUITEM "&Sekme Durakları...", ID_TABSTOPS POPUP "&Arka Plan" BEGIN MENUITEM "&Dizge Rengi\tCtrl+1", ID_BACK_1 - MENUITEM "&Sarımtırak\tCtrl+2", ID_BACK_2 + MENUITEM "&Sarımtırak\tCtrl+2", ID_BACK_2 END END POPUP "&Yardım" BEGIN - MENUITEM "&Üzerine...", ID_ABOUT + MENUITEM "&Üzerine...", ID_ABOUT END END @@ -99,12 +97,12 @@ IDM_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "&Kes", ID_EDIT_CUT - MENUITEM "&Çoğalt", ID_EDIT_COPY - MENUITEM "&Yapıştır", ID_EDIT_PASTE + MENUITEM "&Kes", ID_EDIT_CUT + MENUITEM "&Çoğalt", ID_EDIT_COPY + MENUITEM "&Yapıştır", ID_EDIT_PASTE MENUITEM SEPARATOR - MENUITEM "&Öğe İmleri", ID_BULLET - MENUITEM "&Paragraf...", ID_PARAFORMAT + MENUITEM "&Öğe İmleri", ID_BULLET + MENUITEM "&Paragraf...", ID_PARAFORMAT END END @@ -112,64 +110,125 @@ IDM_COLOR_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "Kara", ID_COLOR_BLACK - MENUITEM "Vişne Çürüğü", ID_COLOR_MAROON - MENUITEM "Yeşil", ID_COLOR_GREEN - MENUITEM "Zeytinyağı", ID_COLOR_OLIVE - MENUITEM "Deniz Mâvisi", ID_COLOR_NAVY - MENUITEM "Mor", ID_COLOR_PURPLE - MENUITEM "Çamurcun", ID_COLOR_TEAL - MENUITEM "Kül Rengi", ID_COLOR_GRAY - MENUITEM "Gümüş", ID_COLOR_SILVER - MENUITEM "Al", ID_COLOR_RED - MENUITEM "Misket Limonu", ID_COLOR_LIME - MENUITEM "Sarı", ID_COLOR_YELLOW - MENUITEM "Mâvi", ID_COLOR_BLUE - MENUITEM "Küpe Çiçeği", ID_COLOR_FUCHSIA - MENUITEM "Turkuaz", ID_COLOR_AQUA - MENUITEM "Ak", ID_COLOR_WHITE - MENUITEM "Dizge Rengi", ID_COLOR_AUTOMATIC + MENUITEM "Kara", ID_COLOR_BLACK + MENUITEM "Vişne Çürüğü", ID_COLOR_MAROON + MENUITEM "Yeşil", ID_COLOR_GREEN + MENUITEM "Zeytinyağı", ID_COLOR_OLIVE + MENUITEM "Deniz Mâvisi", ID_COLOR_NAVY + MENUITEM "Mor", ID_COLOR_PURPLE + MENUITEM "Çamurcun", ID_COLOR_TEAL + MENUITEM "Kül Rengi", ID_COLOR_GRAY + MENUITEM "Gümüş", ID_COLOR_SILVER + MENUITEM "Al", ID_COLOR_RED + MENUITEM "Misket Limonu",ID_COLOR_LIME + MENUITEM "Sarı", ID_COLOR_YELLOW + MENUITEM "Mâvi", ID_COLOR_BLUE + MENUITEM "Küpe Çiçeği", ID_COLOR_FUCHSIA + MENUITEM "Turkuaz", ID_COLOR_AQUA + MENUITEM "Ak", ID_COLOR_WHITE + MENUITEM "Dizge Rengi", ID_COLOR_AUTOMATIC END END +STRINGTABLE +BEGIN + STRING_ALL_FILES, "Tüm Kütükler (*.*)" + STRING_TEXT_FILES_TXT, "Metin Belgeleri (*.txt)" + STRING_TEXT_FILES_UNICODE_TXT, "Evrenlik Kodlu Metin Belgeleri (*.txt)" + STRING_RICHTEXT_FILES_RTF, "Zengin Metin Belgeleri (*.rtf)" + STRING_NEWFILE_RICHTEXT, "Zengin Metin Belgesi" + STRING_NEWFILE_TXT, "Metin Belgesi" + STRING_NEWFILE_TXT_UNICODE, "Evrenlik Kodlu Metin Belgesi" + STRING_PRINTER_FILES_PRN, "Yazıcı Kütükleri (*.prn)" +END + +STRINGTABLE +BEGIN + STRING_ALIGN_LEFT, "Sola" + STRING_ALIGN_RIGHT, "Sağa" + STRING_ALIGN_CENTER, "Ortaya" +END + +STRINGTABLE +BEGIN + STRING_VIEWPROPS_TITLE, "Husûsiyetler" + STRING_VIEWPROPS_TEXT, "Metin" + STRING_VIEWPROPS_RICHTEXT, "Zengin Metin" +END + +STRINGTABLE +BEGIN + STRING_PREVIEW_PRINT, "Yazdır" + STRING_PREVIEW_NEXTPAGE, "Sonraki Sayfa" + STRING_PREVIEW_PREVPAGE, "Önceki Sayfa" + STRING_PREVIEW_TWOPAGES, "İkili" + STRING_PREVIEW_ONEPAGE, "Tekli" + STRING_PREVIEW_ZOOMIN, "Yakınlaştır" + STRING_PREVIEW_ZOOMOUT, "Uzaklaştır" + STRING_PREVIEW_CLOSE, "Tamam" + STRING_PREVIEW_PAGE, "Sayfa" + STRING_PREVIEW_PAGES, "Sayfalar" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "in" + STRING_UNITS_INCH, "inç" + STRING_UNITS_PT, "pt" +END + +STRINGTABLE +BEGIN + STRING_DEFAULT_FILENAME, "Belge" + STRING_PROMPT_SAVE_CHANGES, "%s için değişiklikler saklansın mi?" + STRING_SEARCH_FINISHED, "Belge araması bitti." + STRING_LOAD_RICHED_FAILED, "Zengin metin kitaplığının yüklenmesi başarısız oldu." + STRING_SAVE_LOSEFORMATTING, "Tüm biçimlendirmelerin yitirilmesine neden olacağı düz metin biçimiyle saklamayı seçtiniz. Bunu yapmak istediğinizden emin misiniz?" + STRING_INVALID_NUMBER, "Geçersiz sayı biçimi." + STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE içeren belgeler desteklenmiyor." + STRING_WRITE_FAILED, "Kütük saklanamadı." + STRING_WRITE_ACCESS_DENIED, "Bu kütüğü saklama yetkiniz yok." + STRING_OPEN_FAILED, "Kütük açılamadı." + STRING_OPEN_ACCESS_DENIED, "Bu kütüğü açma yetkiniz yok." + STRING_PRINTING_NOT_IMPLEMENTED, "Yazdırma seçeneği daha bitirilmemiştir." + STRING_MAX_TAB_STOPS, "32 sekme durağından çoğunu ekleyemezsiniz." +END + IDD_DATETIME DIALOG 30, 20, 130, 80 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Zaman" -FONT 10, "MS Sans Serif" +FONT 8, "MS Shell Dlg" BEGIN LTEXT "Var Olan Biçimler:",-1,3,2,100,15 LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "Tamam",IDOK,87,12,40,12 + DEFPUSHBUTTON "Tamam",IDOK,87,12,40,12 PUSHBUTTON "İptal",IDCANCEL,87,26,40,12 END IDD_NEWFILE DIALOG 30, 20, 140, 80 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Yeni" -FONT 10, "MS Sans Serif" +FONT 8, "MS Shell Dlg" BEGIN LTEXT "Yeni Belge Türü:",-1,3,2,100,15 LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "Tamam",IDOK,97,12,40,12 + DEFPUSHBUTTON "Tamam",IDOK,97,12,40,12 PUSHBUTTON "İptal",IDCANCEL,97,26,40,12 END -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU CAPTION "Paragraf Düzeni" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Pay", -1, 10, 10, 120, 68 - LTEXT "Soldan", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Sağdan", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "İlk Yataçtan", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Hizâlama", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "Tamam", IDOK, 137, 15, 50, 15 - PUSHBUTTON "İptal", IDCANCEL, 137, 33, 50, 15 + GROUPBOX "Pay", -1, 10, 10, 140, 68 + LTEXT "Soldan", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Sağdan", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "İlk Yataçtan", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Hizâlama", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "Tamam", IDOK, 160, 15, 50, 15 + PUSHBUTTON "İptal", IDCANCEL, 160, 33, 50, 15 END IDD_TABSTOPS DIALOG 30, 20, 200, 110 @@ -181,9 +240,9 @@ BEGIN COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE DEFPUSHBUTTON "&Ekle", ID_TAB_ADD, 20, 80, 45, 15 PUSHBUTTON "&Sil", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "Tamam", IDOK, 137, 15, 50, 15 - PUSHBUTTON "İptal", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "&Tümünü Sil", ID_TAB_EMPTY, 137, 51, 50, 15 + PUSHBUTTON "Tamam", IDOK, 135, 15, 58, 15 + PUSHBUTTON "İptal", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "&Tümünü Sil", ID_TAB_EMPTY, 135, 51, 58, 15 END IDD_FORMATOPTS DIALOG 0, 0, 280, 110 @@ -191,75 +250,14 @@ STYLE DS_SYSMODAL CAPTION "" FONT 8, "MS Shell Dlg" BEGIN - GROUPBOX "Yataç Kaydırma", -1, 10, 10, 130, 85 - RADIOBUTTON "&Yataç Kaydırma Yok", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "&Metni Pencere Kıyılığıyla Kaydır", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "M&etni Çizgilikle Kaydır", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Çubuklar", -1, 150, 10, 120, 85 - CHECKBOX "&Araç Çubuğu", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "&Biçim Çubuğu", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "&Çizgilik", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "&Durum Çubuğu", IDC_PAGEFMT_SB, 160, 74, 80, 15 + GROUPBOX "Yataç Kaydırma", -1, 5, 10, 145, 85 + RADIOBUTTON "&Yataç Kaydırma Yok", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "&Metni Pencere Kıyılığıyla Kaydır", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "M&etni Çizgilikle Kaydır", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Çubuklar", -1, 155, 10, 115, 85 + CHECKBOX "&Araç Çubuğu", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "&Biçim Çubuğu", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Çizgilik", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "&Durum Çubuğu", IDC_PAGEFMT_SB, 165, 74, 80, 15 LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 END - -STRINGTABLE -BEGIN - STRING_ALL_FILES, "Tüm Kütükler (*.*)" - STRING_TEXT_FILES_TXT, "Metin Belgeleri (*.txt)" - STRING_TEXT_FILES_UNICODE_TXT, "Evrenlik Kodlu Metin Belgeleri (*.txt)" - STRING_RICHTEXT_FILES_RTF, "Zengin Metin Belgeleri (*.rtf)" - STRING_NEWFILE_RICHTEXT, "Zengin Metin Belgesi" - STRING_NEWFILE_TXT, "Metin Belgesi" - STRING_NEWFILE_TXT_UNICODE, "Evrenlik Kodlu Metin Belgesi" - STRING_PRINTER_FILES_PRN, "Yazıcı Kütükleri (*.PRN)" -END - -STRINGTABLE -BEGIN - STRING_ALIGN_LEFT, "Sola" - STRING_ALIGN_RIGHT, "Sağa" - STRING_ALIGN_CENTER, "Ortaya" -END - -STRINGTABLE -BEGIN - STRING_VIEWPROPS_TITLE, "Husûsiyetler" - STRING_VIEWPROPS_TEXT, "Metin" - STRING_VIEWPROPS_RICHTEXT, "Zengin Metin" -END - -STRINGTABLE -BEGIN - STRING_PREVIEW_PRINT, "Yazdır" - STRING_PREVIEW_NEXTPAGE, "Sonraki Sayfa" - STRING_PREVIEW_PREVPAGE, "Önceki Sayfa" - STRING_PREVIEW_TWOPAGES, "İkili" - STRING_PREVIEW_ONEPAGE, "Tekli" - STRING_PREVIEW_ZOOMIN, "Yakınlaştır" - STRING_PREVIEW_ZOOMOUT, "Uzaklaştır" - STRING_PREVIEW_CLOSE, "Tamam" - STRING_PREVIEW_PAGE, "Sayfa" - STRING_PREVIEW_PAGES, "Sayfalar" - STRING_UNITS_CM, "cm" - STRING_UNITS_IN, "in" - STRING_UNITS_INCH, "inç" - STRING_UNITS_PT, "pt" -END - -STRINGTABLE -BEGIN - STRING_DEFAULT_FILENAME, "Belge" - STRING_PROMPT_SAVE_CHANGES, "%s için değişiklikler kaydedilsin mi?" - STRING_SEARCH_FINISHED, "Belge araması bitti." - STRING_LOAD_RICHED_FAILED, "Zengin metin kitaplığının yüklenmesi başarısız oldu." - STRING_SAVE_LOSEFORMATTING, "Tüm biçimlendirmelerin yitirilmesine neden olacağı düz metin biçimiyle kaydetmeyi seçtiniz. Bunu yapmak istediğinizden emin misiniz?" - STRING_INVALID_NUMBER, "Geçersiz sayı biçimi." - STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE içeren belgeler desteklenmiyor." - STRING_WRITE_FAILED, "Kütük kaydedilemedi." - STRING_WRITE_ACCESS_DENIED, "Bu kütüğü kaydetme yetkiniz yok." - STRING_OPEN_FAILED, "Kütük açılamadı." - STRING_OPEN_ACCESS_DENIED, "Bu kütüğü açma yetkiniz yok." - STRING_PRINTING_NOT_IMPLEMENTED, "Yazdırma seçeneği daha bitirilmemiştir." - STRING_MAX_TAB_STOPS, "32 sekme durağından çoğunu ekleyemezsiniz." -END diff --git a/base/applications/wordpad/lang/Uk.rc b/base/applications/wordpad/lang/Uk.rc index 09e5bfd4709..d8d3f72520e 100644 --- a/base/applications/wordpad/lang/Uk.rc +++ b/base/applications/wordpad/lang/Uk.rc @@ -20,8 +20,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - /* UTF-8 */ #pragma code_page(65001) @@ -62,32 +60,32 @@ BEGIN MENUITEM SEPARATOR POPUP "Д&одатково" BEGIN - MENUITEM "&Інформація про виділення", ID_EDIT_SELECTIONINFO - MENUITEM "&Формат символів", ID_EDIT_CHARFORMAT - MENUITEM "Формат символів &по замовчуванні", ID_EDIT_DEFCHARFORMAT - MENUITEM "Абза&ц", ID_EDIT_PARAFORMAT - MENUITEM "&Взяти текст", ID_EDIT_GETTEXT + MENUITEM "&Інформація про виділення", ID_EDIT_SELECTIONINFO + MENUITEM "&Формат символів", ID_EDIT_CHARFORMAT + MENUITEM "Формат символів &по замовчуванні", ID_EDIT_DEFCHARFORMAT + MENUITEM "Абза&ц", ID_EDIT_PARAFORMAT + MENUITEM "&Взяти текст", ID_EDIT_GETTEXT END END POPUP "&Вигляд" BEGIN - MENUITEM "Панель інс&трументів", ID_TOGGLE_TOOLBAR - MENUITEM "Панель &форматування", ID_TOGGLE_FORMATBAR - MENUITEM "&Лінійка", ID_TOGGLE_RULER - MENUITEM "&Рядок стану", ID_TOGGLE_STATUSBAR + MENUITEM "Панель інс&трументів", ID_TOGGLE_TOOLBAR + MENUITEM "Панель &форматування", ID_TOGGLE_FORMATBAR + MENUITEM "&Лінійка", ID_TOGGLE_RULER + MENUITEM "&Рядок стану", ID_TOGGLE_STATUSBAR MENUITEM SEPARATOR - MENUITEM "&Параметри...", ID_VIEWPROPERTIES + MENUITEM "&Параметри...", ID_VIEWPROPERTIES END POPUP "&Вставка" BEGIN - MENUITEM "&Дата та час...", ID_DATETIME + MENUITEM "&Дата та час...", ID_DATETIME END POPUP "Ф&ормат" BEGIN - MENUITEM "&Шрифт...", ID_FONTSETTINGS - MENUITEM "&Маркери", ID_BULLET - MENUITEM "&Абзац...", ID_PARAFORMAT - MENUITEM "&Табуляція...", ID_TABSTOPS + MENUITEM "&Шрифт...", ID_FONTSETTINGS + MENUITEM "&Маркери", ID_BULLET + MENUITEM "&Абзац...", ID_PARAFORMAT + MENUITEM "&Табуляція...", ID_TABSTOPS POPUP "&Фон" BEGIN MENUITEM "&Системний\tCtrl+1", ID_BACK_1 @@ -96,7 +94,7 @@ BEGIN END POPUP "&Довідка" BEGIN - MENUITEM "&Про Wine Wordpad", ID_ABOUT + MENUITEM "&Про Wine Wordpad", ID_ABOUT END END @@ -104,12 +102,12 @@ IDM_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "Вир&ізати", ID_EDIT_CUT - MENUITEM "&Копіювати", ID_EDIT_COPY - MENUITEM "&Вставити", ID_EDIT_PASTE + MENUITEM "Вир&ізати", ID_EDIT_CUT + MENUITEM "&Копіювати", ID_EDIT_COPY + MENUITEM "&Вставити", ID_EDIT_PASTE MENUITEM SEPARATOR - MENUITEM "&Маркери", ID_BULLET - MENUITEM "&Абзац...", ID_PARAFORMAT + MENUITEM "&Маркери", ID_BULLET + MENUITEM "&Абзац...", ID_PARAFORMAT END END @@ -117,97 +115,26 @@ IDM_COLOR_POPUP MENU BEGIN POPUP "" BEGIN - MENUITEM "Чорний", ID_COLOR_BLACK - MENUITEM "Коричневий", ID_COLOR_MAROON - MENUITEM "Зелений", ID_COLOR_GREEN - MENUITEM "Оливковий", ID_COLOR_OLIVE - MENUITEM "Темно-синій", ID_COLOR_NAVY - MENUITEM "Пурпуровий", ID_COLOR_PURPLE - MENUITEM "Синьо-зелений", ID_COLOR_TEAL - MENUITEM "Сірий", ID_COLOR_GRAY - MENUITEM "Сріблястий", ID_COLOR_SILVER - MENUITEM "Червоний", ID_COLOR_RED - MENUITEM "Салатовий", ID_COLOR_LIME - MENUITEM "Жовтий", ID_COLOR_YELLOW - MENUITEM "Синій", ID_COLOR_BLUE - MENUITEM "Малиновий", ID_COLOR_FUCHSIA - MENUITEM "Блакитний", ID_COLOR_AQUA - MENUITEM "Білий", ID_COLOR_WHITE - MENUITEM "Автоматично", ID_COLOR_AUTOMATIC + MENUITEM "Чорний", ID_COLOR_BLACK + MENUITEM "Коричневий", ID_COLOR_MAROON + MENUITEM "Зелений", ID_COLOR_GREEN + MENUITEM "Оливковий", ID_COLOR_OLIVE + MENUITEM "Темно-синій", ID_COLOR_NAVY + MENUITEM "Пурпуровий", ID_COLOR_PURPLE + MENUITEM "Синьо-зелений",ID_COLOR_TEAL + MENUITEM "Сірий", ID_COLOR_GRAY + MENUITEM "Сріблястий", ID_COLOR_SILVER + MENUITEM "Червоний", ID_COLOR_RED + MENUITEM "Салатовий", ID_COLOR_LIME + MENUITEM "Жовтий", ID_COLOR_YELLOW + MENUITEM "Синій", ID_COLOR_BLUE + MENUITEM "Малиновий", ID_COLOR_FUCHSIA + MENUITEM "Блакитний", ID_COLOR_AQUA + MENUITEM "Білий", ID_COLOR_WHITE + MENUITEM "Автоматично", ID_COLOR_AUTOMATIC END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Дата та час" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Доступні формати",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "&OK",IDOK,87,12,40,12 - PUSHBUTTON "&Скасувати",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Новий" -FONT 10, "MS Sans Serif" -BEGIN - LTEXT "Тип нового документу",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "&OK",IDOK,97,12,40,12 - PUSHBUTTON "&Скасувати",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Абзац" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Відступ", -1, 10, 10, 120, 68 - LTEXT "Зліва", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "Справа", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "Перший рядок", -1, 15, 58, 40, 18 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "Вирівнювання", -1, 13, 87, 50, 13 - COMBOBOX IDC_PARA_ALIGN, 63, 85, 75, 60, CBS_DROPDOWNLIST - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Скасувати", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "Табуляція" -FONT 8, "MS SHell DLg" -BEGIN - GROUPBOX "Позиції табуляції", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "&Додати", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "&Видалити", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "&OK", IDOK, 137, 15, 50, 15 - PUSHBUTTON "&Скасувати", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "Видалити в&се", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 8, "MS Shell Dlg" -BEGIN - GROUPBOX "Перенос рядка", -1, 10, 10, 130, 85 - RADIOBUTTON "&Без переносу", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "По &межі вікна", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "По м&ежі поля", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "Панелі", -1, 150, 10, 120, 85 - CHECKBOX "Панель інс&трументів", IDC_PAGEFMT_TB, 160, 20, 88, 15 - CHECKBOX "Панель &форматування", IDC_PAGEFMT_FB, 160, 38, 88, 15 - CHECKBOX "&Лінійка", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "&Рядок стану", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN STRING_ALL_FILES, "Всі документи (*.*)" @@ -217,7 +144,7 @@ BEGIN STRING_NEWFILE_RICHTEXT, "Rich text документ" STRING_NEWFILE_TXT, "Текстовий документ" STRING_NEWFILE_TXT_UNICODE, "Текстовий документ Unicode" - STRING_PRINTER_FILES_PRN, "Файли принтера (*.PRN)" + STRING_PRINTER_FILES_PRN, "Файли принтера (*.prn)" END STRINGTABLE @@ -269,11 +196,73 @@ BEGIN STRING_MAX_TAB_STOPS, "Неможливо додати більше 32 позицій табуляції." END -LANGUAGE LANG_UKRAINIAN, SUBLANG_NEUTRAL - -STRINGTABLE +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Дата та час" +FONT 8, "MS Shell Dlg" BEGIN - STRING_ALIGN_LEFT, "По Лівому Краю" - STRING_ALIGN_RIGHT, "По правому Краю" - STRING_ALIGN_CENTER, "По Центру" + LTEXT "Доступні формати",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "OK",IDOK,87,12,40,12 + PUSHBUTTON "&Скасувати",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Новий" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Тип нового документу",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "OK",IDOK,97,12,40,12 + PUSHBUTTON "&Скасувати",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Абзац" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Відступ", -1, 10, 10, 140, 68 + LTEXT "Зліва", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "Справа", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "Перший рядок", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "Вирівнювання", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "OK", IDOK, 160, 15, 50, 15 + PUSHBUTTON "&Скасувати", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Табуляція" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Позиції табуляції", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "&Додати", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "&Видалити", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "OK", IDOK, 135, 15, 58, 15 + PUSHBUTTON "&Скасувати", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "Видалити в&се", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Перенос рядка", -1, 5, 10, 145, 85 + RADIOBUTTON "&Без переносу", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "По &межі вікна", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "По м&ежі поля", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "Панелі", -1, 155, 10, 115, 85 + CHECKBOX "Панель інс&трументів", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "Панель &форматування", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "&Лінійка", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "&Рядок стану", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 END diff --git a/base/applications/wordpad/lang/Zh.rc b/base/applications/wordpad/lang/Zh.rc index d3e4b1726dc..cb69da633cc 100644 --- a/base/applications/wordpad/lang/Zh.rc +++ b/base/applications/wordpad/lang/Zh.rc @@ -19,8 +19,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "wordpad.h" - /* Chinese text is encoded in UTF-8 */ #pragma code_page(65001) @@ -136,83 +134,16 @@ BEGIN END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "日期和时间" -FONT 9, "MS Shell Dlg" -BEGIN - LTEXT "可选格式",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY - PUSHBUTTON "确定(&O)",IDOK,87,12,40,12 - PUSHBUTTON "取消(&C)",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "新建" -FONT 9, "MS Shell Dlg" -BEGIN - LTEXT "新文件类型",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "确定(&O)",IDOK,97,12,40,12 - PUSHBUTTON "取消(&C)",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "段落格式" -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX "缩进", -1, 10, 10, 120, 68 - LTEXT "左", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "右", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "首行", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "对齐", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "确定(&O)", IDOK, 137, 15, 50, 15 - PUSHBUTTON "取消(&C)", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "制表位" -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX "制表位宽度", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "添加(&A)", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "删除(&R)", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "确定(&O)", IDOK, 137, 15, 50, 15 - PUSHBUTTON "取消(&C)", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "全部删除(&R)", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX "自动换行", -1, 10, 10, 130, 85 - RADIOBUTTON "不要自动换行", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "按窗口宽度(&W)", IDC_PAGEFMT_WW, 18, 45, 117, 15 - RADIOBUTTON "按纸张宽度(&M)", IDC_PAGEFMT_WM, 18, 65, 117, 15 - GROUPBOX "工具栏", -1, 150, 10, 120, 85 - CHECKBOX "工具栏(&T)", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "格式工具栏(&F)", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "标尺(&R)", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "状态栏(&S)", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 -END - STRINGTABLE BEGIN - STRING_RICHTEXT_FILES_RTF, "RTF 富文本 (*.rtf)" + STRING_ALL_FILES, "所有文件 (*.*)" STRING_TEXT_FILES_TXT, "文本文件 (*.txt)" STRING_TEXT_FILES_UNICODE_TXT, "Unicode 文本文件 (*.txt)" - STRING_ALL_FILES, "所有文件 (*.*)" + STRING_RICHTEXT_FILES_RTF, "RTF 富文本 (*.rtf)" + STRING_NEWFILE_RICHTEXT, "RTF 富文本" + STRING_NEWFILE_TXT, "文本文件 " + STRING_NEWFILE_TXT_UNICODE, "Unicode 文本文件" + STRING_PRINTER_FILES_PRN, "打印文件 (*.prn)" END STRINGTABLE @@ -222,18 +153,6 @@ BEGIN STRING_ALIGN_CENTER, "中" END -STRINGTABLE -BEGIN - STRING_NEWFILE_RICHTEXT, "RTF 富文本" - STRING_NEWFILE_TXT, "文本文件 " - STRING_NEWFILE_TXT_UNICODE, "Unicode 文本文件" -END - -STRINGTABLE -BEGIN - STRING_PRINTER_FILES_PRN, "打印文件 (*.PRN)" -END - STRINGTABLE BEGIN STRING_VIEWPROPS_TITLE, "选项" @@ -276,6 +195,77 @@ BEGIN STRING_MAX_TAB_STOPS, "最多只能添加 32 个制表位宽度。" END +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "日期和时间" +FONT 9, "MS Shell Dlg" +BEGIN + LTEXT "可选格式",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "确定(&O)",IDOK,87,12,40,12 + PUSHBUTTON "取消(&C)",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "新建" +FONT 9, "MS Shell Dlg" +BEGIN + LTEXT "新文件类型",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "确定(&O)",IDOK,97,12,40,12 + PUSHBUTTON "取消(&C)",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "段落格式" +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX "缩进", -1, 10, 10, 140, 68 + LTEXT "左", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "右", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "首行", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "对齐", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "确定(&O)", IDOK, 160, 15, 50, 15 + PUSHBUTTON "取消(&C)", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "制表位" +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX "制表位宽度", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "添加(&A)", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "删除(&R)", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "确定(&O)", IDOK, 135, 15, 58, 15 + PUSHBUTTON "取消(&C)", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "全部删除(&R)", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX "自动换行", -1, 5, 10, 145, 85 + RADIOBUTTON "不要自动换行", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "按窗口宽度(&W)", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "按纸张宽度(&M)", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "工具栏", -1, 155, 10, 115, 85 + CHECKBOX "工具栏(&T)", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "格式工具栏(&F)", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "标尺(&R)", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "状态栏(&S)", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 +END + LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL IDM_MAINMENU MENU @@ -364,83 +354,40 @@ BEGIN END END -IDD_DATETIME DIALOG 30, 20, 130, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "日期和時間" -FONT 9, "MS Shell Dlg" +IDM_COLOR_POPUP MENU BEGIN - LTEXT "可用格式",-1,3,2,100,15 - LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "確定(&O)",IDOK,87,12,40,12 - PUSHBUTTON "取消(&C)",IDCANCEL,87,26,40,12 -END - -IDD_NEWFILE DIALOG 30, 20, 140, 80 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "新建" -FONT 9, "MS Shell Dlg" -BEGIN - LTEXT "新檔案類型",-1,3,2,100,15 - LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT - PUSHBUTTON "確定(&O)",IDOK,97,12,40,12 - PUSHBUTTON "取消(&C)",IDCANCEL,97,26,40,12 -END - -IDD_PARAFORMAT DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "段落格式" -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX "縮進", -1, 10, 10, 120, 68 - LTEXT "左", -1, 15, 22, 40, 13 - EDITTEXT IDC_PARA_LEFT, 55, 20, 60, 13 - LTEXT "右", -1, 15, 40, 40, 13 - EDITTEXT IDC_PARA_RIGHT, 55, 38, 60, 13 - LTEXT "第一行", -1, 15, 58, 40, 13 - EDITTEXT IDC_PARA_FIRST, 55, 56, 60, 13 - LTEXT "對齊", -1, 15, 87, 40, 13 - COMBOBOX IDC_PARA_ALIGN, 55, 85, 60, 60, CBS_DROPDOWNLIST - PUSHBUTTON "確定(&O)", IDOK, 137, 15, 50, 15 - PUSHBUTTON "取消(&C)", IDCANCEL, 137, 33, 50, 15 -END - -IDD_TABSTOPS DIALOG 30, 20, 200, 110 -STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU -CAPTION "標籤" -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX "標籤停點", -1, 10, 10, 120, 90 - COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE - DEFPUSHBUTTON "添加(&A)", ID_TAB_ADD, 20, 80, 45, 15 - PUSHBUTTON "刪除(&R)", ID_TAB_DEL, 72, 80, 45, 15 - PUSHBUTTON "確定(&O)", IDOK, 137, 15, 50, 15 - PUSHBUTTON "取消(&C)", IDCANCEL, 137, 33, 50, 15 - PUSHBUTTON "全部刪除(&R)", ID_TAB_EMPTY, 137, 51, 50, 15 -END - -IDD_FORMATOPTS DIALOG 0, 0, 280, 110 -STYLE DS_SYSMODAL -CAPTION "" -FONT 9, "MS Shell Dlg" -BEGIN - GROUPBOX "自動換行", -1, 10, 10, 130, 85 - RADIOBUTTON "No line wrapping", IDC_PAGEFMT_WN, 18, 25, 117, 15 - RADIOBUTTON "按視窗寬度(&W)", IDC_PAGEFMT_WW, 18, 25, 117, 15 - RADIOBUTTON "按紙張寬度(&M)", IDC_PAGEFMT_WM, 18, 45, 117, 15 - GROUPBOX "工具欄", -1, 150, 10, 120, 85 - CHECKBOX "工具欄(&T)", IDC_PAGEFMT_TB, 160, 20, 80, 15 - CHECKBOX "格式工具欄(&F)", IDC_PAGEFMT_FB, 160, 38, 80, 15 - CHECKBOX "標尺(&R)", IDC_PAGEFMT_RU, 160, 56, 80, 15 - CHECKBOX "狀態欄(&S)", IDC_PAGEFMT_SB, 160, 74, 80, 15 - LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 + POPUP "" + BEGIN + MENUITEM "Black", ID_COLOR_BLACK + MENUITEM "Maroon", ID_COLOR_MAROON + MENUITEM "Green", ID_COLOR_GREEN + MENUITEM "Olive", ID_COLOR_OLIVE + MENUITEM "Navy", ID_COLOR_NAVY + MENUITEM "Purple", ID_COLOR_PURPLE + MENUITEM "Teal", ID_COLOR_TEAL + MENUITEM "Gray", ID_COLOR_GRAY + MENUITEM "Silver", ID_COLOR_SILVER + MENUITEM "Red", ID_COLOR_RED + MENUITEM "Lime", ID_COLOR_LIME + MENUITEM "Yellow", ID_COLOR_YELLOW + MENUITEM "Blue", ID_COLOR_BLUE + MENUITEM "Fuchsia", ID_COLOR_FUCHSIA + MENUITEM "Aqua", ID_COLOR_AQUA + MENUITEM "White", ID_COLOR_WHITE + MENUITEM "Automatic", ID_COLOR_AUTOMATIC + END END STRINGTABLE BEGIN - STRING_RICHTEXT_FILES_RTF, "RTF豐富格式 (*.rtf)" + STRING_ALL_FILES, "所有檔案 (*.*)" STRING_TEXT_FILES_TXT, "文本檔案 (*.txt)" STRING_TEXT_FILES_UNICODE_TXT, "統一碼文本檔案 (*.txt)" - STRING_ALL_FILES, "所有檔案 (*.*)" + STRING_RICHTEXT_FILES_RTF, "RTF豐富格式 (*.rtf)" + STRING_NEWFILE_RICHTEXT, "RTF豐富格式檔案" + STRING_NEWFILE_TXT, "文本檔案 " + STRING_NEWFILE_TXT_UNICODE, "統一碼文本檔案" + STRING_PRINTER_FILES_PRN, "列印檔案 (*.prn)" END STRINGTABLE @@ -450,18 +397,6 @@ BEGIN STRING_ALIGN_CENTER, "中" END -STRINGTABLE -BEGIN - STRING_NEWFILE_RICHTEXT, "RTF豐富格式檔案" - STRING_NEWFILE_TXT, "文本檔案 " - STRING_NEWFILE_TXT_UNICODE, "統一碼文本檔案" -END - -STRINGTABLE -BEGIN - STRING_PRINTER_FILES_PRN, "列印檔案 (*.PRN)" -END - STRINGTABLE BEGIN STRING_VIEWPROPS_TITLE, "選項" @@ -479,6 +414,12 @@ BEGIN STRING_PREVIEW_ZOOMIN, "Zoom in" STRING_PREVIEW_ZOOMOUT, "Zoom out" STRING_PREVIEW_CLOSE, "關閉" + STRING_PREVIEW_PAGE, "Page" + STRING_PREVIEW_PAGES, "Pages" + STRING_UNITS_CM, "cm" + STRING_UNITS_IN, "in" + STRING_UNITS_INCH, "inch" + STRING_UNITS_PT, "pt" END STRINGTABLE @@ -494,5 +435,77 @@ BEGIN STRING_WRITE_ACCESS_DENIED, "你沒有儲存檔案的權力." STRING_OPEN_FAILED, "不能開啟檔案." STRING_OPEN_ACCESS_DENIED, "你沒有開啟檔案的權力." - STRING_PRINTING_NOT_IMPLEMENTED, "Printing not implemented" + STRING_PRINTING_NOT_IMPLEMENTED, "Printing not implemented." + STRING_MAX_TAB_STOPS, "Cannot add more than 32 tab stops." +END + +IDD_DATETIME DIALOG 30, 20, 130, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "日期和時間" +FONT 9, "MS Shell Dlg" +BEGIN + LTEXT "可用格式",-1,3,2,100,15 + LISTBOX IDC_DATETIME,3,12,80,65,LBS_NOINTEGRALHEIGHT | LBS_NOTIFY + DEFPUSHBUTTON "確定(&O)",IDOK,87,12,40,12 + PUSHBUTTON "取消(&C)",IDCANCEL,87,26,40,12 +END + +IDD_NEWFILE DIALOG 30, 20, 140, 80 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "新建" +FONT 9, "MS Shell Dlg" +BEGIN + LTEXT "新檔案類型",-1,3,2,100,15 + LISTBOX IDC_NEWFILE,3,12,90,65,LBS_NOINTEGRALHEIGHT + DEFPUSHBUTTON "確定(&O)",IDOK,97,12,40,12 + PUSHBUTTON "取消(&C)",IDCANCEL,97,26,40,12 +END + +IDD_PARAFORMAT DIALOG 30, 20, 220, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "段落格式" +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX "縮進", -1, 10, 10, 140, 68 + LTEXT "左", -1, 15, 22, 60, 13 + EDITTEXT IDC_PARA_LEFT, 75, 20, 65, 13 + LTEXT "右", -1, 15, 40, 60, 13 + EDITTEXT IDC_PARA_RIGHT, 75, 38, 65, 13 + LTEXT "第一行", -1, 15, 58, 60, 13 + EDITTEXT IDC_PARA_FIRST, 75, 56, 65, 13 + LTEXT "對齊", -1, 15, 87, 60, 13 + COMBOBOX IDC_PARA_ALIGN, 75, 85, 65, 60, CBS_DROPDOWNLIST + DEFPUSHBUTTON "確定(&O)", IDOK, 160, 15, 50, 15 + PUSHBUTTON "取消(&C)", IDCANCEL, 160, 33, 50, 15 +END + +IDD_TABSTOPS DIALOG 30, 20, 200, 110 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "標籤" +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX "標籤停點", -1, 10, 10, 120, 90 + COMBOBOX IDC_TABSTOPS, 20, 20, 100, 60, CBS_SIMPLE + DEFPUSHBUTTON "添加(&A)", ID_TAB_ADD, 20, 80, 45, 15 + PUSHBUTTON "刪除(&R)", ID_TAB_DEL, 72, 80, 45, 15 + PUSHBUTTON "確定(&O)", IDOK, 135, 15, 58, 15 + PUSHBUTTON "取消(&C)", IDCANCEL, 135, 33, 58, 15 + PUSHBUTTON "全部刪除(&R)", ID_TAB_EMPTY, 135, 51, 58, 15 +END + +IDD_FORMATOPTS DIALOG 0, 0, 280, 110 +STYLE DS_SYSMODAL +CAPTION "" +FONT 9, "MS Shell Dlg" +BEGIN + GROUPBOX "自動換行", -1, 5, 10, 145, 85 + RADIOBUTTON "&No line wrapping", IDC_PAGEFMT_WN, 10, 25, 138, 15 + RADIOBUTTON "按視窗寬度(&W)", IDC_PAGEFMT_WW, 10, 45, 138, 15 + RADIOBUTTON "按紙張寬度(&M)", IDC_PAGEFMT_WM, 10, 65, 138, 15 + GROUPBOX "工具欄", -1, 150, 10, 115, 85 + CHECKBOX "工具欄(&T)", IDC_PAGEFMT_TB, 165, 20, 80, 15 + CHECKBOX "格式工具欄(&F)", IDC_PAGEFMT_FB, 165, 38, 80, 15 + CHECKBOX "標尺(&R)", IDC_PAGEFMT_RU, 165, 56, 80, 15 + CHECKBOX "狀態欄(&S)", IDC_PAGEFMT_SB, 165, 74, 80, 15 + LTEXT "", IDC_PAGEFMT_ID, 0,0,0,0 END diff --git a/base/applications/wordpad/res/wordpad.ico b/base/applications/wordpad/res/wordpad.ico index 4dfa1417e41..904f039cc86 100644 Binary files a/base/applications/wordpad/res/wordpad.ico and b/base/applications/wordpad/res/wordpad.ico differ diff --git a/base/applications/wordpad/rsrc.rc b/base/applications/wordpad/rsrc.rc index 3f5d3e6481e..abfc186057a 100644 --- a/base/applications/wordpad/rsrc.rc +++ b/base/applications/wordpad/rsrc.rc @@ -22,9 +22,9 @@ #include "wordpad.h" -#define REACTOS_STR_FILE_DESCRIPTION "ReactOS WordPad\0" -#define REACTOS_STR_INTERNAL_NAME "wordpad\0" -#define REACTOS_STR_ORIGINAL_FILENAME "wordpad.exe\0" +#define REACTOS_STR_FILE_DESCRIPTION "ReactOS WordPad" +#define REACTOS_STR_INTERNAL_NAME "wordpad" +#define REACTOS_STR_ORIGINAL_FILENAME "wordpad.exe" #include @@ -32,11 +32,11 @@ MAINACCELTABLE ACCELERATORS BEGIN "1", ID_BACK_1, VIRTKEY, CONTROL "2", ID_BACK_2, VIRTKEY, CONTROL + VK_F3, ID_FIND_NEXT, VIRTKEY "L", ID_ALIGN_LEFT, VIRTKEY, CONTROL "E", ID_ALIGN_CENTER, VIRTKEY, CONTROL "R", ID_ALIGN_RIGHT, VIRTKEY, CONTROL "F", ID_FIND, VIRTKEY, CONTROL - VK_F3, ID_FIND_NEXT, VIRTKEY "H", ID_REPLACE, VIRTKEY, CONTROL "A", ID_EDIT_SELECTALL, VIRTKEY, CONTROL "X", ID_EDIT_CUT, VIRTKEY, CONTROL @@ -86,6 +86,9 @@ IDC_ZOOM CURSOR "res/zoom.cur" #ifdef LANGUAGE_DE_DE #include "lang/De.rc" #endif +#ifdef LANGUAGE_ES_ES + #include "lang/Es.rc" +#endif #ifdef LANGUAGE_FR_FR #include "lang/Fr.rc" #endif diff --git a/base/applications/write/lang/Es.rc b/base/applications/write/lang/Es.rc index 6e41bd0ec51..5c44eb9a5dc 100644 --- a/base/applications/write/lang/Es.rc +++ b/base/applications/write/lang/Es.rc @@ -2,6 +2,7 @@ * Spanish language support * * Copyright 2010 José Rostagno + * Copyright 2014 Ismael Ferreras Morezuelas * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -28,5 +29,5 @@ LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL STRINGTABLE { - IDS_FAILED, "Fallo inicio Wordpad" + IDS_FAILED, "Se produjo un fallo al iniciar Wordpad." } diff --git a/base/applications/write/lang/Tr.rc b/base/applications/write/lang/Tr.rc index 44f6220d9cd..b806c0f6ce1 100644 --- a/base/applications/write/lang/Tr.rc +++ b/base/applications/write/lang/Tr.rc @@ -1,7 +1,7 @@ /* * Turkish Resources for ReactOS Write * - * Copyright: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) + * Copyright: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/base/services/eventlog/eventlog.c b/base/services/eventlog/eventlog.c index 7ac99c28a47..d6ce730845a 100644 --- a/base/services/eventlog/eventlog.c +++ b/base/services/eventlog/eventlog.c @@ -106,7 +106,7 @@ ServiceControlHandler(DWORD dwControl, UpdateServiceStatus(SERVICE_STOPPED); return ERROR_SUCCESS; - default : + default: DPRINT1(" Control %lu received\n", dwControl); return ERROR_CALL_NOT_IMPLEMENTED; } @@ -275,6 +275,7 @@ PLOGFILE LoadLogFile(HKEY hKey, WCHAR * LogName) LONG Result; PLOGFILE pLogf = NULL; UNICODE_STRING FileName; + ULONG ulMaxSize, ulRetention; NTSTATUS Status; DPRINT("LoadLogFile: %S\n", LogName); @@ -333,7 +334,27 @@ PLOGFILE LoadLogFile(HKEY hKey, WCHAR * LogName) DPRINT("%S -> %S\n", Buf, Expanded); - Status = LogfCreate(&pLogf, LogName, &FileName, TRUE, FALSE); + ValueLen = sizeof(ULONG); + Result = RegQueryValueEx(hKey, + L"MaxSize", + NULL, + &Type, + (LPBYTE)&ulMaxSize, + &ValueLen); + if (Result != ERROR_SUCCESS) + ulMaxSize = 512 * 1024; /* 512 kBytes */ + + ValueLen = sizeof(ULONG); + Result = RegQueryValueEx(hKey, + L"Retention", + NULL, + &Type, + (LPBYTE)&ulRetention, + &ValueLen); + if (Result != ERROR_SUCCESS) + ulRetention = 0; + + Status = LogfCreate(&pLogf, LogName, &FileName, ulMaxSize, ulRetention, TRUE, FALSE); if (!NT_SUCCESS(Status)) { DPRINT1("Failed to create %S! (Status %08lx)\n", Expanded, Status); diff --git a/base/services/eventlog/eventlog.h b/base/services/eventlog/eventlog.h index 7b5f40457e0..416593a3554 100644 --- a/base/services/eventlog/eventlog.h +++ b/base/services/eventlog/eventlog.h @@ -156,6 +156,8 @@ NTSTATUS LogfCreate(PLOGFILE *Logfile, WCHAR * LogName, PUNICODE_STRING FileName, + ULONG ulMaxSize, + ULONG ulRetention, BOOL Permanent, BOOL Backup); diff --git a/base/services/eventlog/file.c b/base/services/eventlog/file.c index 4781e823c14..44c02386b3c 100644 --- a/base/services/eventlog/file.c +++ b/base/services/eventlog/file.c @@ -24,62 +24,78 @@ static CRITICAL_SECTION LogFileListCs; /* FUNCTIONS ****************************************************************/ static NTSTATUS -LogfInitializeNew(PLOGFILE LogFile) +LogfInitializeNew(PLOGFILE LogFile, + ULONG ulMaxSize, + ULONG ulRetention) { - DWORD dwWritten; + IO_STATUS_BLOCK IoStatusBlock; EVENTLOGEOF EofRec; + NTSTATUS Status; ZeroMemory(&LogFile->Header, sizeof(EVENTLOGHEADER)); SetFilePointer(LogFile->hFile, 0, NULL, FILE_BEGIN); SetEndOfFile(LogFile->hFile); LogFile->Header.HeaderSize = sizeof(EVENTLOGHEADER); - LogFile->Header.EndHeaderSize = sizeof(EVENTLOGHEADER); - LogFile->Header.StartOffset = sizeof(EVENTLOGHEADER); - LogFile->Header.EndOffset = sizeof(EVENTLOGHEADER); + LogFile->Header.Signature = LOGFILE_SIGNATURE; LogFile->Header.MajorVersion = MAJORVER; LogFile->Header.MinorVersion = MINORVER; + LogFile->Header.StartOffset = sizeof(EVENTLOGHEADER); + LogFile->Header.EndOffset = sizeof(EVENTLOGHEADER); LogFile->Header.CurrentRecordNumber = 1; LogFile->Header.OldestRecordNumber = 1; - /* FIXME: Read MaxSize from registry for this LogFile. - But for now limit EventLog size to just under 5K. */ - LogFile->Header.MaxSize = 5000; - LogFile->Header.Signature = LOGFILE_SIGNATURE; - if (!WriteFile(LogFile->hFile, - &LogFile->Header, - sizeof(EVENTLOGHEADER), - &dwWritten, - NULL)) + LogFile->Header.MaxSize = ulMaxSize; + LogFile->Header.Flags = 0; + LogFile->Header.Retention = ulRetention; + LogFile->Header.EndHeaderSize = sizeof(EVENTLOGHEADER); + + Status = NtWriteFile(LogFile->hFile, + NULL, + NULL, + NULL, + &IoStatusBlock, + &LogFile->Header, + sizeof(EVENTLOGHEADER), + NULL, + NULL); + if (!NT_SUCCESS(Status)) { - DPRINT1("WriteFile failed:%d!\n", GetLastError()); - return STATUS_UNSUCCESSFUL; + DPRINT1("NtWriteFile failed (Status 0x%08lx)\n", Status); + return Status; } + EofRec.RecordSizeBeginning = sizeof(EVENTLOGEOF); EofRec.Ones = 0x11111111; EofRec.Twos = 0x22222222; EofRec.Threes = 0x33333333; EofRec.Fours = 0x44444444; - EofRec.RecordSizeBeginning = sizeof(EVENTLOGEOF); - EofRec.RecordSizeEnd = sizeof(EVENTLOGEOF); - EofRec.CurrentRecordNumber = LogFile->Header.CurrentRecordNumber; - EofRec.OldestRecordNumber = LogFile->Header.OldestRecordNumber; EofRec.BeginRecord = LogFile->Header.StartOffset; EofRec.EndRecord = LogFile->Header.EndOffset; + EofRec.CurrentRecordNumber = LogFile->Header.CurrentRecordNumber; + EofRec.OldestRecordNumber = LogFile->Header.OldestRecordNumber; + EofRec.RecordSizeEnd = sizeof(EVENTLOGEOF); - if (!WriteFile(LogFile->hFile, - &EofRec, - sizeof(EVENTLOGEOF), - &dwWritten, - NULL)) + Status = NtWriteFile(LogFile->hFile, + NULL, + NULL, + NULL, + &IoStatusBlock, + &EofRec, + sizeof(EVENTLOGEOF), + NULL, + NULL); + if (!NT_SUCCESS(Status)) { - DPRINT1("WriteFile failed:%d!\n", GetLastError()); - return STATUS_UNSUCCESSFUL; + DPRINT1("NtWriteFile failed (Status 0x%08lx)\n", Status); + return Status; } - if (!FlushFileBuffers(LogFile->hFile)) + Status = NtFlushBuffersFile(LogFile->hFile, + &IoStatusBlock); + if (!NT_SUCCESS(Status)) { - DPRINT1("FlushFileBuffers failed:%d!\n", GetLastError()); - return STATUS_UNSUCCESSFUL; + DPRINT1("NtFlushBuffersFile failed (Status 0x%08lx)\n", Status); + return Status; } return STATUS_SUCCESS; @@ -87,7 +103,8 @@ LogfInitializeNew(PLOGFILE LogFile) static NTSTATUS -LogfInitializeExisting(PLOGFILE LogFile, BOOL Backup) +LogfInitializeExisting(PLOGFILE LogFile, + BOOL Backup) { DWORD dwRead; DWORD dwRecordsNumber = 0; @@ -265,10 +282,6 @@ LogfInitializeExisting(PLOGFILE LogFile, BOOL Backup) if (LogFile->Header.CurrentRecordNumber == 0) LogFile->Header.CurrentRecordNumber = 1; - /* FIXME: Read MaxSize from registry for this LogFile. - But for now limit EventLog size to just under 5K. */ - LogFile->Header.MaxSize = 5000; - if (!Backup) { if (SetFilePointer(LogFile->hFile, 0, NULL, FILE_BEGIN) == @@ -301,8 +314,10 @@ LogfInitializeExisting(PLOGFILE LogFile, BOOL Backup) NTSTATUS LogfCreate(PLOGFILE *LogFile, - WCHAR * LogName, + WCHAR *LogName, PUNICODE_STRING FileName, + ULONG ulMaxSize, + ULONG ulRetention, BOOL Permanent, BOOL Backup) { @@ -355,7 +370,7 @@ LogfCreate(PLOGFILE *LogFile, goto fail; } - if(LogName) + if (LogName) StringCchCopy(pLogFile->LogName,lstrlenW(LogName) + 1, LogName); pLogFile->FileName = @@ -387,7 +402,7 @@ LogfCreate(PLOGFILE *LogFile, pLogFile->Permanent = Permanent; if (bCreateNew) - Status = LogfInitializeNew(pLogFile); + Status = LogfInitializeNew(pLogFile, ulMaxSize, ulRetention); else Status = LogfInitializeExisting(pLogFile, Backup); @@ -1117,7 +1132,9 @@ LogfClearFile(PLOGFILE LogFile, } } - Status = LogfInitializeNew(LogFile); + Status = LogfInitializeNew(LogFile, + LogFile->Header.MaxSize, + LogFile->Header.Retention); if (!NT_SUCCESS(Status)) { DPRINT1("LogfInitializeNew failed (Status: 0x%08lx)\n", Status); @@ -1145,7 +1162,7 @@ LogfBackupFile(PLOGFILE LogFile, DWORD dwOffset, dwRead, dwRecSize; - DPRINT("LogfBackupFile(%p, %wZ)\n", LogFile, BackupFileName); + DPRINT1("LogfBackupFile(%p, %wZ)\n", LogFile, BackupFileName); /* Lock the log file shared */ RtlAcquireResourceShared(&LogFile->Lock, TRUE); @@ -1182,7 +1199,7 @@ LogfBackupFile(PLOGFILE LogFile, Header.EndOffset = sizeof(EVENTLOGHEADER); Header.CurrentRecordNumber = 1; Header.OldestRecordNumber = 1; - Header.MaxSize = 0; + Header.MaxSize = LogFile->Header.MaxSize; Header.Flags = ELF_LOGFILE_HEADER_DIRTY; Header.Retention = LogFile->Header.Retention; Header.EndHeaderSize = sizeof(EVENTLOGHEADER); diff --git a/base/services/eventlog/rpc.c b/base/services/eventlog/rpc.c index 1154f01b744..403e827ebb2 100644 --- a/base/services/eventlog/rpc.c +++ b/base/services/eventlog/rpc.c @@ -118,6 +118,14 @@ ElfCreateEventLogHandle(PLOGHANDLE *LogHandle, if (lpLogHandle->LogFile == NULL) { lpLogHandle->LogFile = LogfListItemByName(L"Application"); + + if (lpLogHandle->LogFile == NULL) + { + DPRINT1("Application log is missing!\n"); + Status = STATUS_UNSUCCESSFUL; + goto Done; + } + lpLogHandle->CurrentRecord = LogfGetOldestRecord(lpLogHandle->LogFile); } } @@ -162,6 +170,8 @@ ElfCreateBackupLogHandle(PLOGHANDLE *LogHandle, Status = LogfCreate(&lpLogHandle->LogFile, NULL, FileName, + 0, + 0, FALSE, TRUE); if (!NT_SUCCESS(Status)) @@ -194,31 +204,40 @@ Done: PLOGHANDLE ElfGetLogHandleEntryByHandle(IELF_HANDLE EventLogHandle) { + PLIST_ENTRY CurrentEntry; PLOGHANDLE lpLogHandle; - if (IsListEmpty(&LogHandleListHead)) + CurrentEntry = LogHandleListHead.Flink; + while (CurrentEntry != &LogHandleListHead) { - return NULL; + lpLogHandle = CONTAINING_RECORD(CurrentEntry, + LOGHANDLE, + LogHandleListEntry); + CurrentEntry = CurrentEntry->Flink; + + if (lpLogHandle == EventLogHandle) + return lpLogHandle; } - lpLogHandle = CONTAINING_RECORD((PLOGHANDLE)EventLogHandle, LOGHANDLE, LogHandleListEntry); - - return lpLogHandle; + return NULL; } static NTSTATUS -ElfDeleteEventLogHandle(IELF_HANDLE EventLogHandle) +ElfDeleteEventLogHandle(IELF_HANDLE LogHandle) { - PLOGHANDLE lpLogHandle = (PLOGHANDLE)EventLogHandle; + PLOGHANDLE lpLogHandle; - if (!ElfGetLogHandleEntryByHandle(lpLogHandle)) + lpLogHandle = ElfGetLogHandleEntryByHandle(LogHandle); + if (!lpLogHandle) + { return STATUS_INVALID_HANDLE; + } RemoveEntryList(&lpLogHandle->LogHandleListEntry); LogfClose(lpLogHandle->LogFile, FALSE); - HeapFree(GetProcessHeap(),0,lpLogHandle); + HeapFree(GetProcessHeap(), 0, lpLogHandle); return STATUS_SUCCESS; } diff --git a/base/services/rpcss/CMakeLists.txt b/base/services/rpcss/CMakeLists.txt index 159479d3ea2..583cc039b88 100644 --- a/base/services/rpcss/CMakeLists.txt +++ b/base/services/rpcss/CMakeLists.txt @@ -14,15 +14,9 @@ list(APPEND SOURCE ${CMAKE_CURRENT_BINARY_DIR}/irot_s.c) include_directories(${REACTOS_BINARY_DIR}/include/reactos/wine) - add_executable(rpcss ${SOURCE} rpcss.rc) - -target_link_libraries(rpcss - ${PSEH_LIB} - wine) - +target_link_libraries(rpcss ${PSEH_LIB} wine) set_module_type(rpcss win32cui UNICODE) - add_importlibs(rpcss advapi32 rpcrt4 msvcrt kernel32 ntdll) add_pch(rpcss rpcss.h SOURCE) add_cd_file(TARGET rpcss DESTINATION reactos/system32 FOR all) diff --git a/base/services/rpcss/epm.idl b/base/services/rpcss/epm.idl index 67fad348c88..09eff626be6 100644 --- a/base/services/rpcss/epm.idl +++ b/base/services/rpcss/epm.idl @@ -16,4 +16,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +#pragma makedep server + #include "wine/epm.idl" diff --git a/base/services/rpcss/irot.idl b/base/services/rpcss/irot.idl index 95236db6e44..b6ea6e766c0 100644 --- a/base/services/rpcss/irot.idl +++ b/base/services/rpcss/irot.idl @@ -16,4 +16,6 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ +#pragma makedep server + #include "wine/irot.idl" diff --git a/base/services/rpcss/rpcss_main.c b/base/services/rpcss/rpcss_main.c index de2a9978543..04560437f9b 100644 --- a/base/services/rpcss/rpcss_main.c +++ b/base/services/rpcss/rpcss_main.c @@ -94,8 +94,11 @@ BOOL RPCSS_Initialize(void) if (status != RPC_S_OK) goto fail; - //exit_event = __wine_make_process_system(); +#ifndef __REACTOS__ + exit_event = __wine_make_process_system(); +#else exit_event = CreateEventW(NULL, FALSE, FALSE, NULL); // never fires +#endif return TRUE; diff --git a/base/services/spoolsv/CMakeLists.txt b/base/services/spoolsv/CMakeLists.txt index a9ae1b29554..1d4686ce2ff 100644 --- a/base/services/spoolsv/CMakeLists.txt +++ b/base/services/spoolsv/CMakeLists.txt @@ -1,9 +1,6 @@ - add_executable(spoolsv spoolsv.c spoolsv.rc) - target_link_libraries(spoolsv wine) - set_module_type(spoolsv win32cui UNICODE) add_importlibs(spoolsv advapi32 msvcrt kernel32 ntdll) add_cd_file(TARGET spoolsv DESTINATION reactos/system32 FOR all) diff --git a/base/services/telnetd/CMakeLists.txt b/base/services/telnetd/CMakeLists.txt index f22c3e88ea9..28a1dbb536a 100644 --- a/base/services/telnetd/CMakeLists.txt +++ b/base/services/telnetd/CMakeLists.txt @@ -5,7 +5,6 @@ add_executable(telnetd telnetd.rc) target_link_libraries(telnetd wine) - set_module_type(telnetd win32cui) add_importlibs(telnetd advapi32 ws2_32 msvcrt kernel32 ntdll) add_cd_file(TARGET telnetd DESTINATION reactos/system32 FOR all) diff --git a/base/services/tftpd/CMakeLists.txt b/base/services/tftpd/CMakeLists.txt index 967dd158ca1..441f6c9a360 100644 --- a/base/services/tftpd/CMakeLists.txt +++ b/base/services/tftpd/CMakeLists.txt @@ -1,7 +1,4 @@ add_executable(tftpd tftpd.cpp) - -target_link_libraries(tftpd wine) - set_module_type(tftpd win32cui) -add_importlibs(tftpd advapi32 ws2_32 msvcrt kernel32 ntdll) +add_importlibs(tftpd advapi32 ws2_32 iphlpapi msvcrt kernel32) diff --git a/base/services/tftpd/README.txt b/base/services/tftpd/README.txt index 608a986d81a..014266af24f 100644 --- a/base/services/tftpd/README.txt +++ b/base/services/tftpd/README.txt @@ -1,3 +1,3 @@ -This is a snapshot from the 1.6 release of tftp-server for win32 from sourceforge. +This is a snapshot from the 1.64 release of tftp-server for win32 from sourceforge. http://tftp-server.sourceforge.net diff --git a/base/services/tftpd/tftpd.cpp b/base/services/tftpd/tftpd.cpp index 3a09f374f1f..faf17188693 100644 --- a/base/services/tftpd/tftpd.cpp +++ b/base/services/tftpd/tftpd.cpp @@ -27,31 +27,37 @@ #include #include #include +#include #include "tftpd.h" //Global Variables char serviceName[] = "TFTPServer"; -char displayName[] = "TFTP Server Multithreaded"; -char sVersion[] = "TFTP Server MultiThreaded Version 1.61 Windows Built 1611"; +char displayName[] = "Open TFTP Server, MultiThreaded"; +char sVersion[] = "Open TFTP Server MultiThreaded Version 1.64 Windows Built 2001"; char iniFile[_MAX_PATH]; char logFile[_MAX_PATH]; +char lnkFile[_MAX_PATH]; char tempbuff[256]; +char extbuff[256]; char logBuff[512]; char fileSep = '\\'; char notFileSep = '/'; -WORD blksize = 65464; +MYWORD blksize = 65464; char verbatim = 0; -WORD timeout = 3; +MYWORD timeout = 3; +MYWORD loggingDay; +data1 network; +data1 newNetwork; data2 cfig; //ThreadPool Variables HANDLE tEvent; HANDLE cEvent; HANDLE sEvent; HANDLE lEvent; -BYTE currentServer = UCHAR_MAX; -WORD totalThreads=0; -WORD minThreads=1; -WORD activeThreads=0; +MYBYTE currentServer = UCHAR_MAX; +MYWORD totalThreads=0; +MYWORD minThreads=1; +MYWORD activeThreads=0; //Service Variables SERVICE_STATUS serviceStatus; @@ -108,7 +114,17 @@ void WINAPI ServiceMain(DWORD /*argc*/, TCHAR* /*argv*/[]) //init verbatim = false; - init(); + + if (_beginthread(init, 0, 0) == 0) + { + if (cfig.logLevel) + { + sprintf(logBuff, "Thread Creation Failed"); + logMess(logBuff, 1); + } + exit(-1); + } + fd_set readfds; timeval tv; tv.tv_sec = 20; @@ -122,56 +138,71 @@ void WINAPI ServiceMain(DWORD /*argc*/, TCHAR* /*argv*/[]) do { + network.busy = false; + + if (!network.tftpConn[0].ready || !network.ready) + { + Sleep(1000); + continue; + } + FD_ZERO(&readfds); - for (int i = 0; i < MAX_SERVERS && cfig.tftpConn[i].port; i++) - FD_SET(cfig.tftpConn[i].sock, &readfds); + for (int i = 0; i < MAX_SERVERS && network.tftpConn[i].ready; i++) + FD_SET(network.tftpConn[i].sock, &readfds); - int fdsReady = select(cfig.maxFD, &readfds, NULL, NULL, &tv); + int fdsReady = select(network.maxFD, &readfds, NULL, NULL, &tv); - for (int i = 0; fdsReady > 0 && i < MAX_SERVERS && cfig.tftpConn[i].port; i++) + for (int i = 0; fdsReady > 0 && i < MAX_SERVERS && network.tftpConn[i].ready; i++) { - if (FD_ISSET(cfig.tftpConn[i].sock, &readfds)) + if (network.ready) { - WaitForSingleObject(sEvent, INFINITE); + network.busy = true; - currentServer = i; - - if (!totalThreads || activeThreads >= totalThreads) + if (FD_ISSET(network.tftpConn[i].sock, &readfds)) { - _beginthread( - processRequest, // thread function - 0, // default security attributes - NULL); // argument to thread function + WaitForSingleObject(sEvent, INFINITE); + currentServer = i; + + if (!totalThreads || activeThreads >= totalThreads) + { + _beginthread( + processRequest, // thread function + 0, // default security attributes + NULL); // argument to thread function + + } + + SetEvent(tEvent); + WaitForSingleObject(sEvent, INFINITE); + fdsReady--; + SetEvent(sEvent); } - - SetEvent(tEvent); - WaitForSingleObject(sEvent, INFINITE); - fdsReady--; - SetEvent(sEvent); } } } while (WaitForSingleObject(stopServiceEvent, 0) == WAIT_TIMEOUT); - if (cfig.logfile) - fclose(cfig.logfile); - serviceStatus.dwCurrentState = SERVICE_STOP_PENDING; SetServiceStatus(serviceStatusHandle, &serviceStatus); sprintf(logBuff, "Closing Network Connections..."); logMess(logBuff, 1); - for (int i = 0; i < MAX_SERVERS && cfig.tftpConn[i].port; i++) - closesocket(cfig.tftpConn[i].sock); + closeConn(); WSACleanup(); - sprintf(logBuff, "TFTP Server Stopped !"); + sprintf(logBuff, "TFTP Server Stopped !\n"); logMess(logBuff, 1); + if (cfig.logfile) + { + fclose(cfig.logfile); + cfig.logfile = NULL; + } + serviceStatus.dwControlsAccepted &= ~(SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN); serviceStatus.dwCurrentState = SERVICE_STOPPED; SetServiceStatus(serviceStatusHandle, &serviceStatus); @@ -291,7 +322,7 @@ void uninstallService() void printWindowsError() { - DWORD dw = GetLastError(); + MYDWORD dw = GetLastError(); if (dw) { @@ -307,11 +338,8 @@ void printWindowsError() (LPTSTR) &lpMsgBuf, 0, NULL ); - _tprintf(_T("Error: %s\nPress Enter..\n"), (LPTSTR)lpMsgBuf); + printf("Error: %s\nPress Enter..\n", (LPTSTR)lpMsgBuf); getchar(); - - if(lpMsgBuf) - LocalFree(lpMsgBuf); } } @@ -365,7 +393,17 @@ int main(int argc, TCHAR* argv[]) void runProg() { verbatim = true; - init(); + + if (_beginthread(init, 0, 0) == 0) + { + if (cfig.logLevel) + { + sprintf(logBuff, "Thread Creation Failed"); + logMess(logBuff, 1); + } + exit(-1); + } + fd_set readfds; timeval tv; int fdsReady = 0; @@ -376,53 +414,77 @@ void runProg() do { + network.busy = false; + //printf("Active=%u Total=%u\n",activeThreads, totalThreads); + if (!network.tftpConn[0].ready || !network.ready) + { + Sleep(1000); + continue; + } + FD_ZERO(&readfds); - for (int i = 0; i < MAX_SERVERS && cfig.tftpConn[i].port; i++) - FD_SET(cfig.tftpConn[i].sock, &readfds); + for (int i = 0; i < MAX_SERVERS && network.tftpConn[i].ready; i++) + FD_SET(network.tftpConn[i].sock, &readfds); - fdsReady = select(cfig.maxFD, &readfds, NULL, NULL, &tv); + fdsReady = select(network.maxFD, &readfds, NULL, NULL, &tv); + + if (!network.ready) + continue; + + //errno = WSAGetLastError(); //if (errno) - // printf("%s\n", strerror(errno)); + // printf("%d\n", errno); - for (int i = 0; fdsReady > 0 && i < MAX_SERVERS && cfig.tftpConn[i].port; i++) + for (int i = 0; fdsReady > 0 && i < MAX_SERVERS && network.tftpConn[i].ready; i++) { - if (FD_ISSET(cfig.tftpConn[i].sock, &readfds)) + if (network.ready) { - //printf("Request Waiting\n"); + network.busy = true; - WaitForSingleObject(sEvent, INFINITE); - - currentServer = i; - - if (!totalThreads || activeThreads >= totalThreads) + if (FD_ISSET(network.tftpConn[i].sock, &readfds)) { - _beginthread( - processRequest, // thread function - 0, // default security attributes - NULL); // argument to thread function + //printf("%d Requests Waiting\n", fdsReady); + + WaitForSingleObject(sEvent, INFINITE); + + currentServer = i; + + if (!totalThreads || activeThreads >= totalThreads) + { + _beginthread( + processRequest, // thread function + 0, // default security attributes + NULL); // argument to thread function + } + SetEvent(tEvent); + + //printf("thread signalled=%u\n",SetEvent(tEvent)); + + WaitForSingleObject(sEvent, INFINITE); + fdsReady--; + SetEvent(sEvent); } - SetEvent(tEvent); - - //printf("thread signalled=%u\n",SetEvent(tEvent)); - - WaitForSingleObject(sEvent, INFINITE); - fdsReady--; - SetEvent(sEvent); } } } while (true); - for (int i = 0; i < MAX_SERVERS && cfig.tftpConn[i].port; i++) - closesocket(cfig.tftpConn[i].sock); + closeConn(); WSACleanup(); } +void closeConn() +{ + for (int i = 0; i < MAX_SERVERS && network.tftpConn[i].loaded; i++) + if (network.tftpConn[i].ready) + closesocket(network.tftpConn[i].sock); +} + void processRequest(void *lpParam) { //printf("New Thread %u\n",GetCurrentThreadId()); @@ -442,7 +504,7 @@ void processRequest(void *lpParam) activeThreads++; SetEvent(cEvent); - if (currentServer >= MAX_SERVERS || !cfig.tftpConn[currentServer].port) + if (currentServer >= MAX_SERVERS || !network.tftpConn[currentServer].port) { SetEvent(sEvent); req.attempt = UCHAR_MAX; @@ -455,7 +517,7 @@ void processRequest(void *lpParam) req.clientsize = sizeof(req.client); req.sockInd = currentServer; currentServer = UCHAR_MAX; - req.knock = cfig.tftpConn[req.sockInd].sock; + req.knock = network.tftpConn[req.sockInd].sock; if (req.knock == INVALID_SOCKET) { @@ -475,7 +537,7 @@ void processRequest(void *lpParam) { if (cfig.hostRanges[0].rangeStart) { - DWORD iip = ntohl(req.client.sin_addr.s_addr); + MYDWORD iip = ntohl(req.client.sin_addr.s_addr); bool allowed = false; for (int j = 0; j <= 32 && cfig.hostRanges[j].rangeStart; j++) @@ -545,11 +607,11 @@ void processRequest(void *lpParam) sockaddr_in service; service.sin_family = AF_INET; - service.sin_addr.s_addr = cfig.tftpConn[req.sockInd].server; + service.sin_addr.s_addr = network.tftpConn[req.sockInd].server; if (cfig.minport) { - for (WORD comport = cfig.minport; ; comport++) + for (MYWORD comport = cfig.minport; ; comport++) { service.sin_port = htons(comport); @@ -630,7 +692,7 @@ void processRequest(void *lpParam) inPtr += strlen(inPtr) + 1; - for (DWORD i = 0; i < strlen(req.filename); i++) + for (MYDWORD i = 0; i < strlen(req.filename); i++) if (req.filename[i] == notFileSep) req.filename[i] = fileSep; @@ -747,7 +809,7 @@ void processRequest(void *lpParam) if (!strcasecmp(tmp, "blksize")) { tmp += strlen(tmp) + 1; - DWORD val = atol(tmp); + MYDWORD val = atol(tmp); if (val < 512) val = 512; @@ -779,8 +841,6 @@ void processRequest(void *lpParam) req.attempt = UCHAR_MAX; continue; } - - setvbuf(req.file, NULL, _IOFBF, req.blksize); } else { @@ -843,12 +903,14 @@ void processRequest(void *lpParam) } } + setvbuf(req.file, NULL, _IOFBF, 5 * req.blksize); + if (*inPtr) { fetchAck = true; char *outPtr = req.mesout.buffer; req.mesout.opcode = htons(6); - DWORD val; + MYDWORD val; while (*inPtr) { //printf("%s\n", inPtr); @@ -865,7 +927,7 @@ void processRequest(void *lpParam) val = blksize; req.blksize = val; - sprintf(outPtr, "%lu", val); + sprintf(outPtr, "%u", val); outPtr += strlen(outPtr) + 1; } else if (!strcasecmp(inPtr, "tsize")) @@ -881,7 +943,7 @@ void processRequest(void *lpParam) if (ftell(req.file) >= 0) { req.tsize = ftell(req.file); - sprintf(outPtr, "%lu", req.tsize); + sprintf(outPtr, "%u", req.tsize); outPtr += strlen(outPtr) + 1; } else @@ -909,7 +971,7 @@ void processRequest(void *lpParam) else { req.tsize = 0; - sprintf(outPtr, "%lu", req.tsize); + sprintf(outPtr, "%u", req.tsize); outPtr += strlen(outPtr) + 1; } } @@ -927,7 +989,7 @@ void processRequest(void *lpParam) req.timeout = val; req.expiry = time(NULL) + req.timeout; - sprintf(outPtr, "%lu", val); + sprintf(outPtr, "%u", val); outPtr += strlen(outPtr) + 1; } @@ -939,7 +1001,7 @@ void processRequest(void *lpParam) continue; errno = 0; - req.bytesReady = (DWORD_PTR)outPtr - (DWORD_PTR)&req.mesout; + req.bytesReady = (MYDWORD)outPtr - (MYDWORD)&req.mesout; //printf("Bytes Ready=%u\n", req.bytesReady); send(req.sock, (const char*)&req.mesout, req.bytesReady, 0); errno = WSAGetLastError(); @@ -1222,7 +1284,7 @@ void processRequest(void *lpParam) } else { - sprintf(req.serverError.errormessage, "%lu Blocks Served", req.fblock - 1); + sprintf(req.serverError.errormessage, "%u Blocks Served", req.fblock - 1); logMess(&req, 2); req.attempt = UCHAR_MAX; break; @@ -1313,11 +1375,11 @@ void processRequest(void *lpParam) else req.attempt = 0; - if ((WORD)req.bytesRecd < req.blksize + 4) + if ((MYWORD)req.bytesRecd < req.blksize + 4) { fclose(req.file); req.file = 0; - sprintf(req.serverError.errormessage, "%lu Blocks Received", req.fblock); + sprintf(req.serverError.errormessage, "%u Blocks Received", req.fblock); logMess(&req, 2); req.attempt = UCHAR_MAX; break; @@ -1460,7 +1522,102 @@ bool cleanReq(request* req) return (totalThreads <= minThreads); } -char* myGetToken(char* buff, BYTE index) +bool getSection(const char *sectionName, char *buffer, MYBYTE serial, char *fileName) +{ + //printf("%s=%s\n",fileName,sectionName); + char section[128]; + sprintf(section, "[%s]", sectionName); + myUpper(section); + FILE *f = fopen(fileName, "rt"); + char buff[512]; + MYBYTE found = 0; + + if (f) + { + while (fgets(buff, 511, f)) + { + myUpper(buff); + myTrim(buff, buff); + + if (strstr(buff, section) == buff) + { + found++; + if (found == serial) + { + //printf("%s=%s\n",fileName,sectionName); + while (fgets(buff, 511, f)) + { + myTrim(buff, buff); + + if (strstr(buff, "[") == buff) + break; + + if (((*buff) >= '0' && (*buff) <= '9') || ((*buff) >= 'A' && (*buff) <= 'Z') || ((*buff) >= 'a' && (*buff) <= 'z') || ((*buff) && strchr("/\\?*", (*buff)))) + { + buffer += sprintf(buffer, "%s", buff); + buffer++; + } + } + break; + } + } + } + fclose(f); + } + + *buffer = 0; + *(buffer + 1) = 0; + return (found == serial); +} + +FILE *openSection(const char *sectionName, MYBYTE serial, char *fileName) +{ + //printf("%s=%s\n",fileName,sectionName); + char section[128]; + sprintf(section, "[%s]", sectionName); + myUpper(section); + FILE *f = fopen(fileName, "rt"); + char buff[512]; + MYBYTE found = 0; + + if (f) + { + while (fgets(buff, 511, f)) + { + myUpper(buff); + myTrim(buff, buff); + + if (strstr(buff, section) == buff) + { + found++; + + if (found == serial) + return f; + } + } + fclose(f); + } + return NULL; +} + +char *readSection(char* buff, FILE *f) +{ + while (fgets(buff, 511, f)) + { + myTrim(buff, buff); + + if (*buff == '[') + break; + + if (((*buff) >= '0' && (*buff) <= '9') || ((*buff) >= 'A' && (*buff) <= 'Z') || ((*buff) >= 'a' && (*buff) <= 'z') || ((*buff) && strchr("/\\?*", (*buff)))) + return buff; + } + + fclose(f); + return NULL; +} + +char* myGetToken(char* buff, MYBYTE index) { while (*buff) { @@ -1475,11 +1632,11 @@ char* myGetToken(char* buff, BYTE index) return buff; } -WORD myTokenize(char *target, char *source, char *sep, bool whiteSep) +MYWORD myTokenize(char *target, char *source, char *sep, bool whiteSep) { bool found = true; char *dp = target; - WORD kount = 0; + MYWORD kount = 0; while (*source) { @@ -1489,7 +1646,7 @@ WORD myTokenize(char *target, char *source, char *sep, bool whiteSep) source++; continue; } - else if (whiteSep && *source <= 32) + else if (whiteSep && (*source) <= 32) { found = true; source++; @@ -1540,6 +1697,28 @@ char* myTrim(char *target, char *source) return target; } +/* +void mySplit(char *name, char *value, char *source, char splitChar) +{ + char *dp = strchr(source, splitChar); + + if (dp) + { + strncpy(name, source, (dp - source)); + name[dp - source] = 0; + strcpy(value, dp + 1); + myTrim(name, name); + myTrim(value, value); + } + else + { + strcpy(name, source); + myTrim(name, name); + *value = 0; + } +} +*/ + void mySplit(char *name, char *value, char *source, char splitChar) { int i = 0; @@ -1568,55 +1747,8 @@ void mySplit(char *name, char *value, char *source, char splitChar) //printf("%s %s\n", name, value); } -bool getSection(const char *sectionName, char *buffer, BYTE serial, char *fileName) -{ - //printf("%s=%s\n",fileName,sectionName); - char section[128]; - sprintf(section, "[%s]", sectionName); - myUpper(section); - FILE *f = fopen(fileName, "rt"); - char buff[512]; - BYTE found = 0; - if (f) - { - while (fgets(buff, 511, f)) - { - myUpper(buff); - myTrim(buff, buff); - - if (strstr(buff, section) == buff) - { - found++; - if (found == serial) - { - //printf("%s=%s\n",fileName,sectionName); - while (fgets(buff, 511, f)) - { - myTrim(buff, buff); - - if (strstr(buff, "[") == buff) - break; - - if (((*buff) >= '0' && (*buff) <= '9') || ((*buff) >= 'A' && (*buff) <= 'Z') || ((*buff) >= 'a' && (*buff) <= 'z') || (((*buff) && strchr("/\\?*", (*buff))))) - { - buffer += sprintf(buffer, "%s", buff); - buffer++; - } - } - break; - } - } - } - fclose(f); - } - - *buffer = 0; - *(buffer + 1) = 0; - return (found == serial); -} - -char *IP2String(char *target, DWORD ip) +char *IP2String(char *target, MYDWORD ip) { data15 inaddr; inaddr.ip = ip; @@ -1645,7 +1777,7 @@ bool isIP(char *string) char *myUpper(char *string) { char diff = 'a' - 'A'; - WORD len = strlen(string); + MYWORD len = strlen(string); for (int i = 0; i < len; i++) if (string[i] >= 'a' && string[i] <= 'z') string[i] -= diff; @@ -1655,69 +1787,78 @@ char *myUpper(char *string) char *myLower(char *string) { char diff = 'a' - 'A'; - WORD len = strlen(string); + MYWORD len = strlen(string); for (int i = 0; i < len; i++) if (string[i] >= 'A' && string[i] <= 'Z') string[i] += diff; return string; } -void init() +void init(void *lpParam) { memset(&cfig, 0, sizeof(cfig)); - GetModuleFileName(NULL, iniFile, MAX_PATH); - char *iniFileExt = strrchr(iniFile, '.'); - strcpy(iniFileExt, ".ini"); - GetModuleFileName(NULL, logFile, MAX_PATH); - iniFileExt = strrchr(logFile, '.'); - strcpy(iniFileExt, ".log"); + GetModuleFileName(NULL, extbuff, _MAX_PATH); + char *fileExt = strrchr(extbuff, '.'); + *fileExt = 0; + sprintf(iniFile, "%s.ini", extbuff); + sprintf(lnkFile, "%s.url", extbuff); + fileExt = strrchr(extbuff, '\\'); + *fileExt = 0; + fileExt++; + sprintf(logFile, "%s\\log\\%s%%Y%%m%%d.log", extbuff, fileExt); - char iniStr[4096]; - char name[256]; - char value[256]; + FILE *f = NULL; + char raw[512]; + char name[512]; + char value[512]; if (verbatim) { cfig.logLevel = 2; printf("%s\n\n", sVersion); } - else if (getSection("LOGGING", iniStr, 1, iniFile)) + else if ((f = openSection("LOGGING", 1, iniFile))) { - char *iniStrPtr = myGetToken(iniStr, 0); + cfig.logLevel = 1; + tempbuff[0] = 0; - if (!iniStrPtr[0] || !strcasecmp(iniStrPtr, "None")) - cfig.logLevel = 0; - else if (!strcasecmp(iniStrPtr, "Errors")) - cfig.logLevel = 1; - else if (!strcasecmp(iniStrPtr, "All")) - cfig.logLevel = 2; - else if (!strcasecmp(iniStrPtr, "Debug")) - cfig.logLevel = 3; - else - cfig.logLevel = UCHAR_MAX; - } - - if (!verbatim && cfig.logLevel) - { - cfig.logfile = fopen(logFile, "wt"); - - if (cfig.logfile) + while (readSection(raw, f)) { - fclose(cfig.logfile); - cfig.logfile = fopen(logFile, "at"); - fprintf(cfig.logfile, "%s\n", sVersion); + if (!strcasecmp(raw, "None")) + cfig.logLevel = 0; + else if (!strcasecmp(raw, "Errors")) + cfig.logLevel = 1; + else if (!strcasecmp(raw, "All")) + cfig.logLevel = 2; + else + sprintf(tempbuff, "Section [LOGGING], Invalid LogLevel: %s", raw); } } - if (cfig.logLevel == UCHAR_MAX) + if (!verbatim && cfig.logLevel && logFile[0]) { - cfig.logLevel = 1; - sprintf(logBuff, "Section [LOGGING], Invalid Logging Level: %s, ignored", myGetToken(iniStr, 0)); - logMess(logBuff, 1); + time_t t = time(NULL); + tm *ttm = localtime(&t); + loggingDay = ttm->tm_yday; + strftime(extbuff, sizeof(extbuff), logFile, ttm); + + cfig.logfile = fopen(extbuff, "at"); + + if (cfig.logfile) + { + WritePrivateProfileString("InternetShortcut","URL", extbuff, lnkFile); + WritePrivateProfileString("InternetShortcut","IconIndex", "0", lnkFile); + WritePrivateProfileString("InternetShortcut","IconFile", extbuff, lnkFile); + sprintf(logBuff, "%s Starting..", sVersion); + logMess(logBuff, 1); + + if (tempbuff[0]) + logMess(tempbuff, 0); + } } - WORD wVersionRequested = MAKEWORD(1, 1); + MYWORD wVersionRequested = MAKEWORD(1, 1); WSAStartup(wVersionRequested, &cfig.wsaData); if (cfig.wsaData.wVersion != wVersionRequested) @@ -1726,58 +1867,17 @@ void init() logMess(logBuff, 1); } - if (getSection("LISTEN-ON", iniStr, 1, iniFile)) + if ((f = openSection("HOME", 1, iniFile))) { - char *iniStrPtr = myGetToken(iniStr, 0); - - for (int i = 0; i < MAX_SERVERS && iniStrPtr[0]; iniStrPtr = myGetToken(iniStrPtr, 1)) + while (readSection(raw, f)) { - strncpy(name, iniStrPtr, UCHAR_MAX); - WORD port = 69; - char *dp = strchr(name, ':'); - if (dp) - { - *dp = 0; - dp++; - port = atoi(dp); - } + mySplit(name, value, raw, '='); - DWORD ip = my_inet_addr(name); - - if (isIP(name) && ip) - { - for (BYTE j = 0; j < MAX_SERVERS; j++) - { - if (cfig.servers[j] == ip) - break; - else if (!cfig.servers[j]) - { - cfig.servers[j] = ip; - cfig.ports[j] = port; - i++; - break; - } - } - } - else - { - sprintf(logBuff, "Warning: Section [LISTEN-ON], Invalid IP Address %s, ignored", iniStrPtr); - logMess(logBuff, 1); - } - } - } - - if (getSection("HOME", iniStr, 1, iniFile)) - { - char *iniStrPtr = myGetToken(iniStr, 0); - for (; iniStrPtr[0]; iniStrPtr = myGetToken(iniStrPtr, 1)) - { - mySplit(name, value, iniStrPtr, '='); if (strlen(value)) { if (!cfig.homes[0].alias[0] && cfig.homes[0].target[0]) { - sprintf(logBuff, "Section [HOME], alias and bare path mixup, entry %s ignored", iniStrPtr); + sprintf(logBuff, "Section [HOME], alias and bare path mixup, entry %s ignored", raw); logMess(logBuff, 1); } else if (strchr(name, notFileSep) || strchr(name, fileSep) || strchr(name, '>') || strchr(name, '<') || strchr(name, '.')) @@ -1791,7 +1891,7 @@ void init() { if (cfig.homes[i].alias[0] && !strcasecmp(name, cfig.homes[i].alias)) { - sprintf(logBuff, "Section [HOME], Duplicate Entry: %s ignored", iniStrPtr); + sprintf(logBuff, "Section [HOME], Duplicate Entry: %s ignored", raw); logMess(logBuff, 1); break; } @@ -1830,17 +1930,17 @@ void init() } else if (cfig.homes[0].alias[0]) { - sprintf(logBuff, "Section [HOME], alias and bare path mixup, entry %s ignored", iniStrPtr); + sprintf(logBuff, "Section [HOME], alias and bare path mixup, entry %s ignored", raw); logMess(logBuff, 1); } else if (cfig.homes[0].target[0]) { - sprintf(logBuff, "Section [HOME], Duplicate Path: %s ignored", iniStrPtr); + sprintf(logBuff, "Section [HOME], Duplicate Path: %s ignored", raw); logMess(logBuff, 1); } else { - sprintf(logBuff, "Section [HOME], missing = sign, Invalid Entry: %s ignored", iniStrPtr); + sprintf(logBuff, "Section [HOME], missing = sign, Invalid Entry: %s ignored", raw); logMess(logBuff, 1); } } @@ -1855,17 +1955,17 @@ void init() cfig.fileRead = true; - if (getSection("TFTP-OPTIONS", iniStr, 1, iniFile)) + if ((f = openSection("TFTP-OPTIONS", 1, iniFile))) { - char *iniStrPtr = myGetToken(iniStr, 0); - for (;strlen(iniStrPtr);iniStrPtr = myGetToken(iniStrPtr, 1)) + while (readSection(raw, f)) { - mySplit(name, value, iniStrPtr, '='); + mySplit(name, value, raw, '='); + if (strlen(value)) { if (!strcasecmp(name, "blksize")) { - DWORD tblksize = atol(value); + MYDWORD tblksize = atol(value); if (tblksize < 512) blksize = 512; @@ -1944,95 +2044,40 @@ void init() } } - if (getSection("ALLOWED-CLIENTS", iniStr, 1, iniFile)) + if ((f = openSection("ALLOWED-CLIENTS", 1, iniFile))) { - char *iniStrPtr = myGetToken(iniStr, 0); - for (int i = 0; i < 32 && iniStrPtr[0]; iniStrPtr = myGetToken(iniStrPtr, 1)) + int i = 0; + + while (readSection(raw, f)) { - DWORD rs = 0; - DWORD re = 0; - mySplit(name, value, iniStrPtr, '-'); - rs = htonl(my_inet_addr(name)); - - if (strlen(value)) - re = htonl(my_inet_addr(value)); - else - re = rs; - - if (rs && rs != INADDR_NONE && re && re != INADDR_NONE && rs <= re) + if (i < 32) { - cfig.hostRanges[i].rangeStart = rs; - cfig.hostRanges[i].rangeEnd = re; - i++; - } - else - { - sprintf(logBuff, "Section [ALLOWED-CLIENTS] Invalid entry %s in ini file, ignored", iniStrPtr); - logMess(logBuff, 1); + MYDWORD rs = 0; + MYDWORD re = 0; + mySplit(name, value, raw, '-'); + rs = htonl(my_inet_addr(name)); + + if (strlen(value)) + re = htonl(my_inet_addr(value)); + else + re = rs; + + if (rs && rs != INADDR_NONE && re && re != INADDR_NONE && rs <= re) + { + cfig.hostRanges[i].rangeStart = rs; + cfig.hostRanges[i].rangeEnd = re; + i++; + } + else + { + sprintf(logBuff, "Section [ALLOWED-CLIENTS] Invalid entry %s in ini file, ignored", raw); + logMess(logBuff, 1); + } } } } -// if (!cfig.servers[0]) -// getServ(); - - int i = 0; - - for (int j = 0; j < MAX_SERVERS; j++) - { - if (j && !cfig.servers[j]) - break; - - cfig.tftpConn[i].sock = socket(PF_INET, - SOCK_DGRAM, - IPPROTO_UDP); - - if (cfig.tftpConn[i].sock == INVALID_SOCKET) - { - sprintf(logBuff, "Failed to Create Socket"); - logMess(logBuff, 1); - continue; - } - - cfig.tftpConn[i].addr.sin_family = AF_INET; - - if (!cfig.ports[j]) - cfig.ports[j] = 69; - - cfig.tftpConn[i].addr.sin_addr.s_addr = cfig.servers[j]; - cfig.tftpConn[i].addr.sin_port = htons(cfig.ports[j]); - - socklen_t nRet = bind(cfig.tftpConn[i].sock, - (sockaddr*)&cfig.tftpConn[i].addr, - sizeof(struct sockaddr_in) - ); - - if (nRet == SOCKET_ERROR) - { - closesocket(cfig.tftpConn[i].sock); - sprintf(logBuff, "%s Port %u, bind failed", IP2String(tempbuff, cfig.servers[j]), cfig.ports[j]); - logMess(logBuff, 1); - continue; - } - - if (cfig.maxFD < cfig.tftpConn[i].sock) - cfig.maxFD = cfig.tftpConn[i].sock; - - cfig.tftpConn[i].server = cfig.tftpConn[i].addr.sin_addr.s_addr; - cfig.tftpConn[i].port = htons(cfig.tftpConn[i].addr.sin_port); - i++; - } - - cfig.maxFD++; - - if (!cfig.tftpConn[0].port) - { - sprintf(logBuff, "no listening interfaces available, stopping..\nPress Enter to exit\n"); - logMess(logBuff, 1); - getchar(); - exit(-1); - } - else if (verbatim) + if (verbatim) { printf("starting TFTP...\n"); } @@ -2053,7 +2098,7 @@ void init() { char temp[128]; - for (WORD i = 0; i <= sizeof(cfig.hostRanges) && cfig.hostRanges[i].rangeStart; i++) + for (MYWORD i = 0; i <= sizeof(cfig.hostRanges) && cfig.hostRanges[i].rangeStart; i++) { sprintf(logBuff, "%s", "permitted clients: "); sprintf(temp, "%s-", IP2String(tempbuff, htonl(cfig.hostRanges[i].rangeStart))); @@ -2185,14 +2230,331 @@ void init() logMess(logBuff, 1); } - for (int i = 0; i < MAX_SERVERS && cfig.tftpConn[i].port; i++) + for (int i = 0; i < MAX_SERVERS && network.tftpConn[i].port; i++) { - sprintf(logBuff, "listening on: %s:%i", IP2String(tempbuff, cfig.tftpConn[i].server), cfig.tftpConn[i].port); + sprintf(logBuff, "listening on: %s:%i", IP2String(tempbuff, network.tftpConn[i].server), network.tftpConn[i].port); logMess(logBuff, 1); } + + do + { + memset(&newNetwork, 0, sizeof(data1)); + + bool bindfailed = false; + + if ((f = openSection("LISTEN-ON", 1, iniFile))) + { + MYBYTE i = 0; + + while (readSection(raw, f)) + { + MYWORD port = 69; + + cfig.ifspecified = true; + mySplit(name, value, raw, ':'); + + if (value[0]) + port = atoi(value); + + if(i < MAX_SERVERS) + { + if (isIP(name)) + { + MYDWORD addr = my_inet_addr(name); + + if (!addr) + { + newNetwork.listenServers[0] = 0; + newNetwork.listenPorts[0] = port; + fclose(f); + break; + } + else if (!findServer(newNetwork.listenServers, addr)) + { + newNetwork.listenServers[i] = addr; + newNetwork.listenPorts[i] = port; + i++; + } + } + else + { + sprintf(logBuff, "Warning: Section [LISTEN-ON], Invalid Interface Address %s, ignored", raw); + logMess(logBuff, 1); + } + } + } + } + + if (!cfig.ifspecified) + { + sprintf(logBuff, "detecting Interfaces.."); + logMess(logBuff, 1); + getInterfaces(&newNetwork); + + for (MYBYTE n = 0; n < MAX_SERVERS && newNetwork.staticServers[n]; n++) + { + newNetwork.listenServers[n] = newNetwork.staticServers[n]; + newNetwork.listenPorts[n] = 69; + } + } + + MYBYTE i = 0; + + for (int j = 0; j < MAX_SERVERS && newNetwork.listenPorts[j]; j++) + { + int k = 0; + + for (; k < MAX_SERVERS && network.tftpConn[k].loaded; k++) + { + if (network.tftpConn[k].ready && network.tftpConn[k].server == newNetwork.listenServers[j] && network.tftpConn[k].port == newNetwork.listenPorts[j]) + break; + } + + if (network.tftpConn[k].ready && network.tftpConn[k].server == newNetwork.listenServers[j] && network.tftpConn[k].port == newNetwork.listenPorts[j]) + { + memcpy(&(newNetwork.tftpConn[i]), &(network.tftpConn[k]), sizeof(tftpConnType)); + + if (newNetwork.maxFD < newNetwork.tftpConn[i].sock) + newNetwork.maxFD = newNetwork.tftpConn[i].sock; + + network.tftpConn[k].ready = false; + //printf("%d, %s found\n", i, IP2String(tempbuff, newNetwork.tftpConn[i].server)); + i++; + continue; + } + else + { + newNetwork.tftpConn[i].sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); + + if (newNetwork.tftpConn[i].sock == INVALID_SOCKET) + { + bindfailed = true; + sprintf(logBuff, "Failed to Create Socket"); + logMess(logBuff, 1); + continue; + } + + //printf("Socket %u\n", newNetwork.tftpConn[i].sock); + + errno = 0; + newNetwork.tftpConn[i].addr.sin_family = AF_INET; + newNetwork.tftpConn[i].addr.sin_addr.s_addr = newNetwork.listenServers[j]; + newNetwork.tftpConn[i].addr.sin_port = htons(newNetwork.listenPorts[j]); + int nRet = bind(newNetwork.tftpConn[i].sock, (sockaddr*)&newNetwork.tftpConn[i].addr, sizeof(struct sockaddr_in)); + + if (nRet == SOCKET_ERROR || errno) + { + bindfailed = true; + closesocket(newNetwork.tftpConn[i].sock); + sprintf(logBuff, "%s Port %i bind failed", IP2String(tempbuff, newNetwork.listenServers[j]), newNetwork.listenPorts[j]); + logMess(logBuff, 1); + continue; + } + + newNetwork.tftpConn[i].loaded = true; + newNetwork.tftpConn[i].ready = true; + newNetwork.tftpConn[i].server = newNetwork.listenServers[j]; + newNetwork.tftpConn[i].port = newNetwork.listenPorts[j]; + + //printf("%d, %s created\n", i, IP2String(tempbuff, newNetwork.tftpConn[i].server)); + + if (newNetwork.maxFD < newNetwork.tftpConn[i].sock) + newNetwork.maxFD = newNetwork.tftpConn[i].sock; + + if (!newNetwork.listenServers[j]) + break; + + i++; + } + } + + if (bindfailed) + cfig.failureCount++; + else + cfig.failureCount = 0; + + closeConn(); + memcpy(&network, &newNetwork, sizeof(data1)); + + //printf("%i %i %i\n", network.tftpConn[0].ready, network.dnsUdpConn[0].ready, network.dnsTcpConn[0].ready); + + if (!network.tftpConn[0].ready) + { + sprintf(logBuff, "No Static Interface ready, Waiting..."); + logMess(logBuff, 1); + continue; + } + + for (int i = 0; i < MAX_SERVERS && network.tftpConn[i].loaded; i++) + { + sprintf(logBuff, "Listening On: %s:%d", IP2String(tempbuff, network.tftpConn[i].server), network.tftpConn[i].port); + logMess(logBuff, 1); + } + + network.ready = true; + + } while (detectChange()); + + //printf("Exiting Init\n"); + + _endthread(); + return; } -void logMess(char *logBuff, BYTE logLevel) +bool detectChange() +{ + if (!cfig.failureCount) + { + if (cfig.ifspecified) + return false; + } + + MYDWORD eventWait = UINT_MAX; + + if (cfig.failureCount) + eventWait = 10000 * pow(2, cfig.failureCount); + + OVERLAPPED overlap; + MYDWORD ret; + HANDLE hand = NULL; + overlap.hEvent = WSACreateEvent(); + + ret = NotifyAddrChange(&hand, &overlap); + + if (ret != NO_ERROR) + { + if (WSAGetLastError() != WSA_IO_PENDING) + { + printf("NotifyAddrChange error...%d\n", WSAGetLastError()); + return true; + } + } + + if ( WaitForSingleObject(overlap.hEvent, eventWait) == WAIT_OBJECT_0 ) + WSACloseEvent(overlap.hEvent); + + network.ready = false; + + while (network.busy) + Sleep(1000); + + if (cfig.failureCount) + { + sprintf(logBuff, "Retrying failed Listening Interfaces.."); + logMess(logBuff, 1); + } + else + { + sprintf(logBuff, "Network changed, re-detecting Interfaces.."); + logMess(logBuff, 1); + } + + return true; +} + +/* +void getInterfaces(data1 *network) +{ + memset(network, 0, sizeof(data1)); + + SOCKET sd = WSASocket(PF_INET, SOCK_DGRAM, 0, 0, 0, 0); + + if (sd == INVALID_SOCKET) + return; + + INTERFACE_INFO InterfaceList[MAX_SERVERS]; + unsigned long nBytesReturned; + + if (WSAIoctl(sd, SIO_GET_INTERFACE_LIST, 0, 0, &InterfaceList, + sizeof(InterfaceList), &nBytesReturned, 0, 0) == SOCKET_ERROR) + return ; + + int nNumInterfaces = nBytesReturned / sizeof(INTERFACE_INFO); + + for (int i = 0; i < nNumInterfaces; ++i) + { + sockaddr_in *pAddress = (sockaddr_in*)&(InterfaceList[i].iiAddress); + u_long nFlags = InterfaceList[i].iiFlags; + + if (!(nFlags & IFF_POINTTOPOINT)) + { + //printf("%s\n", IP2String(tempbuff, pAddress->sin_addr.S_un.S_addr)); + addServer(network->staticServers, pAddress->sin_addr.s_addr); + } + } + + closesocket(sd); +} +*/ + + +void getInterfaces(data1 *network) +{ + memset(network, 0, sizeof(data1)); + + SOCKET sd = WSASocket(PF_INET, SOCK_DGRAM, 0, 0, 0, 0); + + if (sd == INVALID_SOCKET) + return; + + INTERFACE_INFO InterfaceList[MAX_SERVERS]; + unsigned long nBytesReturned; + + if (WSAIoctl(sd, SIO_GET_INTERFACE_LIST, 0, 0, &InterfaceList, + sizeof(InterfaceList), &nBytesReturned, 0, 0) == SOCKET_ERROR) + return ; + + int nNumInterfaces = nBytesReturned / sizeof(INTERFACE_INFO); + + for (int i = 0; i < nNumInterfaces; ++i) + { + sockaddr_in *pAddress = (sockaddr_in*)&(InterfaceList[i].iiAddress); + u_long nFlags = InterfaceList[i].iiFlags; + + if (pAddress->sin_addr.s_addr) + { + addServer(network->allServers, pAddress->sin_addr.s_addr); + + if (!(nFlags & IFF_POINTTOPOINT) && (nFlags & IFF_UP)) + { + addServer(network->staticServers, pAddress->sin_addr.s_addr); + } + } + } + + closesocket(sd); +} + + +bool addServer(MYDWORD *array, MYDWORD ip) +{ + for (MYBYTE i = 0; i < MAX_SERVERS; i++) + { + if (!ip || array[i] == ip) + return 0; + else if (!array[i]) + { + array[i] = ip; + return 1; + } + } + return 0; +} + +MYDWORD *findServer(MYDWORD *array, MYDWORD ip) +{ + if (ip) + { + for (MYBYTE i = 0; i < MAX_SERVERS && array[i]; i++) + { + if (array[i] == ip) + return &(array[i]); + } + } + return 0; +} + +void logMess(char *logBuff, MYBYTE logLevel) { WaitForSingleObject(lEvent, INFINITE); @@ -2200,17 +2562,36 @@ void logMess(char *logBuff, BYTE logLevel) printf("%s\n", logBuff); else if (cfig.logfile && logLevel <= cfig.logLevel) { - char currentTime[32]; time_t t = time(NULL); tm *ttm = localtime(&t); - strftime(currentTime, sizeof(currentTime), "%d-%b-%y %X", ttm); - fprintf(cfig.logfile, "[%s] %s\n", currentTime, logBuff); + + if (ttm->tm_yday != loggingDay) + { + loggingDay = ttm->tm_yday; + strftime(extbuff, sizeof(extbuff), logFile, ttm); + fprintf(cfig.logfile, "Logging Continued on file %s\n", extbuff); + fclose(cfig.logfile); + cfig.logfile = fopen(extbuff, "at"); + + if (cfig.logfile) + { + fprintf(cfig.logfile, "%s\n\n", sVersion); + WritePrivateProfileString("InternetShortcut","URL", extbuff, lnkFile); + WritePrivateProfileString("InternetShortcut","IconIndex", "0", lnkFile); + WritePrivateProfileString("InternetShortcut","IconFile", extbuff, lnkFile); + } + else + return; + } + + strftime(extbuff, sizeof(extbuff), "%d-%b-%y %X", ttm); + fprintf(cfig.logfile, "[%s] %s\n", extbuff, logBuff); fflush(cfig.logfile); } SetEvent(lEvent); } -void logMess(request *req, BYTE logLevel) +void logMess(request *req, MYBYTE logLevel) { WaitForSingleObject(lEvent, INFINITE); @@ -2228,15 +2609,34 @@ void logMess(request *req, BYTE logLevel) } else if (cfig.logfile && logLevel <= cfig.logLevel) { - char currentTime[32]; time_t t = time(NULL); tm *ttm = localtime(&t); - strftime(currentTime, sizeof(currentTime), "%d-%b-%y %X", ttm); + + if (ttm->tm_yday != loggingDay) + { + loggingDay = ttm->tm_yday; + strftime(extbuff, sizeof(extbuff), logFile, ttm); + fprintf(cfig.logfile, "Logging Continued on file %s\n", extbuff); + fclose(cfig.logfile); + cfig.logfile = fopen(extbuff, "at"); + + if (cfig.logfile) + { + fprintf(cfig.logfile, "%s\n\n", sVersion); + WritePrivateProfileString("InternetShortcut","URL", extbuff, lnkFile); + WritePrivateProfileString("InternetShortcut","IconIndex", "0", lnkFile); + WritePrivateProfileString("InternetShortcut","IconFile", extbuff, lnkFile); + } + else + return; + } + + strftime(extbuff, sizeof(extbuff), "%d-%b-%y %X", ttm); if (req->path[0]) - fprintf(cfig.logfile, "[%s] Client %s:%u %s, %s\n", currentTime, IP2String(tempbuff, req->client.sin_addr.s_addr), ntohs(req->client.sin_port), req->path, req->serverError.errormessage); + fprintf(cfig.logfile, "[%s] Client %s:%u %s, %s\n", extbuff, IP2String(tempbuff, req->client.sin_addr.s_addr), ntohs(req->client.sin_port), req->path, req->serverError.errormessage); else - fprintf(cfig.logfile, "[%s] Client %s:%u, %s\n", currentTime, IP2String(tempbuff, req->client.sin_addr.s_addr), ntohs(req->client.sin_port), req->serverError.errormessage); + fprintf(cfig.logfile, "[%s] Client %s:%u, %s\n", extbuff, IP2String(tempbuff, req->client.sin_addr.s_addr), ntohs(req->client.sin_port), req->serverError.errormessage); fflush(cfig.logfile); } diff --git a/base/services/tftpd/tftpd.h b/base/services/tftpd/tftpd.h index 54bf5dfe160..f9766922a8a 100644 --- a/base/services/tftpd/tftpd.h +++ b/base/services/tftpd/tftpd.h @@ -18,6 +18,9 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ // TFTPServer.cpp +#define MYBYTE unsigned char +#define MYWORD unsigned short +#define MYDWORD unsigned int #ifdef _MSC_VER #define strcasecmp _stricmp @@ -41,40 +44,42 @@ struct tftpConnType { SOCKET sock; sockaddr_in addr; - DWORD server; - WORD port; + MYDWORD server; + MYWORD port; + bool loaded; + bool ready; }; struct acknowledgement { - WORD opcode; - WORD block; + MYWORD opcode; + MYWORD block; }; struct message { - WORD opcode; + MYWORD opcode; char buffer[514]; }; struct tftperror { - WORD opcode; - WORD errorcode; + MYWORD opcode; + MYWORD errorcode; char errormessage[512]; }; struct packet { - WORD opcode; - WORD block; + MYWORD opcode; + MYWORD block; char buffer; }; struct data12 { - DWORD rangeStart; - DWORD rangeEnd; + MYDWORD rangeStart; + MYDWORD rangeEnd; }; struct request @@ -84,15 +89,15 @@ struct request time_t expiry; SOCKET sock; SOCKET knock; - BYTE sockInd; - BYTE attempt; + MYBYTE sockInd; + MYBYTE attempt; char path[256]; FILE *file; char *filename; char *mode; char *alias; - DWORD tsize; - DWORD fblock; + MYDWORD tsize; + MYDWORD fblock; int bytesReady; int bytesRecd; int bytesRead[2]; @@ -111,18 +116,27 @@ struct request message mesin; acknowledgement acin; }; - WORD blksize; - WORD timeout; - WORD block; - WORD tblock; + MYWORD blksize; + MYWORD timeout; + MYWORD block; + MYWORD tblock; +}; + +struct data1 +{ + tftpConnType tftpConn[MAX_SERVERS]; + MYDWORD allServers[MAX_SERVERS]; + MYDWORD staticServers[MAX_SERVERS]; + MYDWORD listenServers[MAX_SERVERS]; + MYWORD listenPorts[MAX_SERVERS]; + SOCKET maxFD; + bool ready; + bool busy; }; struct data2 { WSADATA wsaData; - tftpConnType tftpConn[MAX_SERVERS]; - DWORD servers[MAX_SERVERS]; - WORD ports[MAX_SERVERS]; home homes[8]; FILE *logfile; data12 hostRanges[32]; @@ -131,31 +145,40 @@ struct data2 char fileOverwrite; int minport; int maxport; - SOCKET maxFD; - BYTE logLevel; + MYDWORD failureCount; + MYBYTE logLevel; + bool ifspecified; }; struct data15 { union { - //DWORD ip; + //MYDWORD ip; unsigned ip:32; - BYTE octate[4]; + MYBYTE octate[4]; }; }; //Functions -void runProg(void); +bool detectChange(); +void closeConn(); +void getInterfaces(data1*); +void runProg(); void processRequest(LPVOID lpParam); -char* myGetToken(char*, BYTE); -void init(void); +char* myGetToken(char*, MYBYTE); +char* myTrim(char*, char*); +void init(void*); bool cleanReq(request*); -bool getSection(const char*, char*, BYTE, char*); +bool addServer(MYDWORD*, MYDWORD); +FILE* openSection(const char*, MYBYTE, char*); +char* readSection(char*, FILE*); +bool getSection(const char*, char*, MYBYTE, char*); bool isIP(char*s); char* myLower(char*); char* myUpper(char*); -char* IP2String(char*, DWORD); -void printWindowsError(void); -void logMess(request*, BYTE); -void logMess(char*, BYTE); +char* IP2String(char*, MYDWORD); +MYDWORD* findServer(MYDWORD*, MYDWORD); +void printWindowsError(); +void logMess(request*, MYBYTE); +void logMess(char*, MYBYTE); diff --git a/base/services/thmsvc/CMakeLists.txt b/base/services/thmsvc/CMakeLists.txt index 438f25dbe21..6b6360405bc 100644 --- a/base/services/thmsvc/CMakeLists.txt +++ b/base/services/thmsvc/CMakeLists.txt @@ -1,8 +1,6 @@ add_executable(thmsvc thmsvc.c thmsvc.rc) - target_link_libraries(thmsvc wine) - set_module_type(thmsvc win32cui UNICODE) add_importlibs(thmsvc uxtheme advapi32 msvcrt kernel32 ntdll) add_cd_file(TARGET thmsvc DESTINATION reactos/system32 FOR all) diff --git a/base/services/umpnpmgr/CMakeLists.txt b/base/services/umpnpmgr/CMakeLists.txt index 9667d98d88f..2aad52f943c 100644 --- a/base/services/umpnpmgr/CMakeLists.txt +++ b/base/services/umpnpmgr/CMakeLists.txt @@ -1,18 +1,16 @@ include_directories(${REACTOS_SOURCE_DIR}/include/reactos/idl) - add_rpc_files(server ${REACTOS_SOURCE_DIR}/include/reactos/idl/pnp.idl) +spec2def(umpnpmgr.dll umpnpmgr.spec ADD_IMPORTLIB) - -add_executable(umpnpmgr +add_library(umpnpmgr SHARED umpnpmgr.c umpnpmgr.rc - ${CMAKE_CURRENT_BINARY_DIR}/pnp_s.c) + ${CMAKE_CURRENT_BINARY_DIR}/pnp_s.c + ${CMAKE_CURRENT_BINARY_DIR}/umpnpmgr_stubs.c + ${CMAKE_CURRENT_BINARY_DIR}/umpnpmgr.def) -target_link_libraries(umpnpmgr - wdmguid - ${PSEH_LIB}) - -set_module_type(umpnpmgr win32cui UNICODE) +target_link_libraries(umpnpmgr wdmguid ${PSEH_LIB}) +set_module_type(umpnpmgr win32dll UNICODE) add_importlibs(umpnpmgr advapi32 rpcrt4 userenv shlwapi msvcrt kernel32 ntdll) add_cd_file(TARGET umpnpmgr DESTINATION reactos/system32 FOR all) diff --git a/base/services/umpnpmgr/umpnpmgr.c b/base/services/umpnpmgr/umpnpmgr.c index d8fbfa7a5a0..d6e6afa960a 100644 --- a/base/services/umpnpmgr/umpnpmgr.c +++ b/base/services/umpnpmgr/umpnpmgr.c @@ -27,6 +27,7 @@ */ /* INCLUDES *****************************************************************/ + //#define HAVE_SLIST_ENTRY_IMPLEMENTED #define WIN32_NO_STATUS #define _INC_WINDOWS @@ -52,13 +53,7 @@ /* GLOBALS ******************************************************************/ -static VOID CALLBACK ServiceMain(DWORD argc, LPWSTR *argv); static WCHAR ServiceName[] = L"PlugPlay"; -static SERVICE_TABLE_ENTRYW ServiceTable[] = -{ - {ServiceName, ServiceMain}, - {NULL, NULL} -}; static SERVICE_STATUS_HANDLE ServiceStatusHandle; static SERVICE_STATUS ServiceStatus; @@ -102,7 +97,7 @@ RpcServerThread(LPVOID lpParameter) DPRINT("RpcServerThread() called\n"); #if 0 - /* XP-compatible protocol sequence/endpoint */ + /* 2k/XP/2k3-compatible protocol sequence/endpoint */ Status = RpcServerUseProtseqEpW(L"ncacn_np", 20, L"\\pipe\\ntsvcs", @@ -113,7 +108,7 @@ RpcServerThread(LPVOID lpParameter) DPRINT1("RpcServerUseProtseqEpW() failed (Status %lx)\n", Status); #endif - /* Vista-compatible protocol sequence/endpoint */ + /* Vista/7-compatible protocol sequence/endpoint */ Status = RpcServerUseProtseqEpW(L"ncacn_np", 20, L"\\pipe\\plugplay", @@ -174,6 +169,8 @@ NtStatusToCrError(NTSTATUS Status) { case STATUS_NO_SUCH_DEVICE: return CR_NO_SUCH_DEVINST; + case STATUS_NOT_IMPLEMENTED: + return CR_CALL_NOT_IMPLEMENTED; default: /* FIXME: add more mappings */ @@ -184,7 +181,9 @@ NtStatusToCrError(NTSTATUS Status) /* Function 0 */ -DWORD PNP_Disconnect( +DWORD +WINAPI +PNP_Disconnect( handle_t hBinding) { UNREFERENCED_PARAMETER(hBinding); @@ -193,7 +192,9 @@ DWORD PNP_Disconnect( /* Function 1 */ -DWORD PNP_Connect( +DWORD +WINAPI +PNP_Connect( handle_t hBinding) { UNREFERENCED_PARAMETER(hBinding); @@ -202,7 +203,9 @@ DWORD PNP_Connect( /* Function 2 */ -DWORD PNP_GetVersion( +DWORD +WINAPI +PNP_GetVersion( handle_t hBinding, WORD *pVersion) { @@ -214,7 +217,9 @@ DWORD PNP_GetVersion( /* Function 3 */ -DWORD PNP_GetGlobalState( +DWORD +WINAPI +PNP_GetGlobalState( handle_t hBinding, DWORD *pulState, DWORD ulFlags) @@ -228,7 +233,9 @@ DWORD PNP_GetGlobalState( /* Function 4 */ -DWORD PNP_InitDetection( +DWORD +WINAPI +PNP_InitDetection( handle_t hBinding) { UNREFERENCED_PARAMETER(hBinding); @@ -239,7 +246,9 @@ DWORD PNP_InitDetection( /* Function 5 */ -DWORD PNP_ReportLogOn( +DWORD +WINAPI +PNP_ReportLogOn( handle_t hBinding, BOOL Admin, DWORD ProcessId) @@ -288,7 +297,9 @@ cleanup: /* Function 6 */ -DWORD PNP_ValidateDeviceInstance( +DWORD +WINAPI +PNP_ValidateDeviceInstance( handle_t hBinding, LPWSTR pDeviceID, DWORD ulFlags) @@ -326,7 +337,9 @@ Done: /* Function 7 */ -DWORD PNP_GetRootDeviceInstance( +DWORD +WINAPI +PNP_GetRootDeviceInstance( handle_t hBinding, LPWSTR pDeviceID, PNP_RPC_STRING_LEN ulLength) @@ -359,7 +372,9 @@ Done: /* Function 8 */ -DWORD PNP_GetRelatedDeviceInstance( +DWORD +WINAPI +PNP_GetRelatedDeviceInstance( handle_t hBinding, DWORD ulRelationship, LPWSTR pDeviceID, @@ -405,7 +420,9 @@ DWORD PNP_GetRelatedDeviceInstance( /* Function 9 */ -DWORD PNP_EnumerateSubKeys( +DWORD +WINAPI +PNP_EnumerateSubKeys( handle_t hBinding, DWORD ulBranch, DWORD ulIndex, @@ -462,7 +479,9 @@ DWORD PNP_EnumerateSubKeys( /* Function 10 */ -DWORD PNP_GetDeviceList( +DWORD +WINAPI +PNP_GetDeviceList( handle_t hBinding, LPWSTR pszFilter, LPWSTR Buffer, @@ -475,7 +494,9 @@ DWORD PNP_GetDeviceList( /* Function 11 */ -DWORD PNP_GetDeviceListSize( +DWORD +WINAPI +PNP_GetDeviceListSize( handle_t hBinding, LPWSTR pszFilter, PNP_RPC_BUFFER_SIZE *pulLen, @@ -487,7 +508,9 @@ DWORD PNP_GetDeviceListSize( /* Function 12 */ -DWORD PNP_GetDepth( +DWORD +WINAPI +PNP_GetDepth( handle_t hBinding, LPWSTR pszDeviceID, DWORD *pulDepth, @@ -524,7 +547,9 @@ DWORD PNP_GetDepth( /* Function 13 */ -DWORD PNP_GetDeviceRegProp( +DWORD +WINAPI +PNP_GetDeviceRegProp( handle_t hBinding, LPWSTR pDeviceID, DWORD ulProperty, @@ -843,7 +868,9 @@ done: /* Function 14 */ -DWORD PNP_SetDeviceRegProp( +DWORD +WINAPI +PNP_SetDeviceRegProp( handle_t hBinding, LPWSTR pDeviceId, DWORD ulProperty, @@ -983,7 +1010,9 @@ DWORD PNP_SetDeviceRegProp( /* Function 15 */ -DWORD PNP_GetClassInstance( +DWORD +WINAPI +PNP_GetClassInstance( handle_t hBinding, LPWSTR pDeviceId, LPWSTR pszClassInstance, @@ -995,7 +1024,9 @@ DWORD PNP_GetClassInstance( /* Function 16 */ -DWORD PNP_CreateKey( +DWORD +WINAPI +PNP_CreateKey( handle_t hBinding, LPWSTR pszSubKey, DWORD samDesired, @@ -1023,7 +1054,9 @@ DWORD PNP_CreateKey( /* Function 17 */ -DWORD PNP_DeleteRegistryKey( +DWORD +WINAPI +PNP_DeleteRegistryKey( handle_t hBinding, LPWSTR pszDeviceID, LPWSTR pszParentKey, @@ -1036,7 +1069,9 @@ DWORD PNP_DeleteRegistryKey( /* Function 18 */ -DWORD PNP_GetClassCount( +DWORD +WINAPI +PNP_GetClassCount( handle_t hBinding, DWORD *pulClassCount, DWORD ulFlags) @@ -1076,7 +1111,9 @@ DWORD PNP_GetClassCount( /* Function 19 */ -DWORD PNP_GetClassName( +DWORD +WINAPI +PNP_GetClassName( handle_t hBinding, LPWSTR pszClassGuid, LPWSTR Buffer, @@ -1130,7 +1167,9 @@ DWORD PNP_GetClassName( /* Function 20 */ -DWORD PNP_DeleteClassKey( +DWORD +WINAPI +PNP_DeleteClassKey( handle_t hBinding, LPWSTR pszClassGuid, DWORD ulFlags) @@ -1159,7 +1198,9 @@ DWORD PNP_DeleteClassKey( /* Function 21 */ -DWORD PNP_GetInterfaceDeviceAlias( +DWORD +WINAPI +PNP_GetInterfaceDeviceAlias( handle_t hBinding, LPWSTR pszInterfaceDevice, GUID *AliasInterfaceGuid, @@ -1174,7 +1215,9 @@ DWORD PNP_GetInterfaceDeviceAlias( /* Function 22 */ -DWORD PNP_GetInterfaceDeviceList( +DWORD +WINAPI +PNP_GetInterfaceDeviceList( handle_t hBinding, GUID *InterfaceGuid, LPWSTR pszDeviceID, @@ -1182,26 +1225,84 @@ DWORD PNP_GetInterfaceDeviceList( PNP_RPC_BUFFER_SIZE *pulLength, DWORD ulFlags) { - UNIMPLEMENTED; - return CR_CALL_NOT_IMPLEMENTED; + NTSTATUS Status; + PLUGPLAY_CONTROL_INTERFACE_DEVICE_LIST_DATA PlugPlayData; + DWORD ret = CR_SUCCESS; + + UNREFERENCED_PARAMETER(hBinding); + + RtlInitUnicodeString(&PlugPlayData.DeviceInstance, + pszDeviceID); + + PlugPlayData.Flags = ulFlags; + PlugPlayData.FilterGuid = InterfaceGuid; + PlugPlayData.Buffer = Buffer; + PlugPlayData.BufferSize = *pulLength; + + Status = NtPlugPlayControl(PlugPlayControlGetInterfaceDeviceList, + (PVOID)&PlugPlayData, + sizeof(PLUGPLAY_CONTROL_INTERFACE_DEVICE_LIST_DATA)); + if (NT_SUCCESS(Status)) + { + *pulLength = PlugPlayData.BufferSize; + } + else + { + ret = NtStatusToCrError(Status); + } + + DPRINT("PNP_GetInterfaceDeviceListSize() done (returns %lx)\n", ret); + return ret; } /* Function 23 */ -DWORD PNP_GetInterfaceDeviceListSize( +DWORD +WINAPI +PNP_GetInterfaceDeviceListSize( handle_t hBinding, PNP_RPC_BUFFER_SIZE *pulLen, GUID *InterfaceGuid, LPWSTR pszDeviceID, DWORD ulFlags) { - UNIMPLEMENTED; - return CR_CALL_NOT_IMPLEMENTED; + NTSTATUS Status; + PLUGPLAY_CONTROL_INTERFACE_DEVICE_LIST_DATA PlugPlayData; + DWORD ret = CR_SUCCESS; + + UNREFERENCED_PARAMETER(hBinding); + + DPRINT("PNP_GetInterfaceDeviceListSize() called\n"); + + RtlInitUnicodeString(&PlugPlayData.DeviceInstance, + pszDeviceID); + + PlugPlayData.FilterGuid = InterfaceGuid; + PlugPlayData.Buffer = NULL; + PlugPlayData.BufferSize = 0; + PlugPlayData.Flags = ulFlags; + + Status = NtPlugPlayControl(PlugPlayControlGetInterfaceDeviceList, + (PVOID)&PlugPlayData, + sizeof(PLUGPLAY_CONTROL_INTERFACE_DEVICE_LIST_DATA)); + if (NT_SUCCESS(Status)) + { + *pulLen = PlugPlayData.BufferSize; + } + else + { + ret = NtStatusToCrError(Status); + } + + DPRINT("PNP_GetInterfaceDeviceListSize() done (returns %lx)\n", ret); + return ret; } /* Function 24 */ -DWORD PNP_RegisterDeviceClassAssociation( +DWORD +WINAPI +PNP_RegisterDeviceClassAssociation( handle_t hBinding, LPWSTR pszDeviceID, GUID *InterfaceGuid, @@ -1217,7 +1318,9 @@ DWORD PNP_RegisterDeviceClassAssociation( /* Function 25 */ -DWORD PNP_UnregisterDeviceClassAssociation( +DWORD +WINAPI +PNP_UnregisterDeviceClassAssociation( handle_t hBinding, LPWSTR pszInterfaceDevice, DWORD ulFlags) @@ -1228,7 +1331,9 @@ DWORD PNP_UnregisterDeviceClassAssociation( /* Function 26 */ -DWORD PNP_GetClassRegProp( +DWORD +WINAPI +PNP_GetClassRegProp( handle_t hBinding, LPWSTR pszClassGuid, DWORD ulProperty, @@ -1333,7 +1438,7 @@ DWORD PNP_GetClassRegProp( } } -done:; +done: if (ret == CR_SUCCESS) *pulTransferLen = *pulLength; @@ -1350,7 +1455,9 @@ done:; /* Function 27 */ -DWORD PNP_SetClassRegProp( +DWORD +WINAPI +PNP_SetClassRegProp( handle_t hBinding, LPWSTR pszClassGuid, DWORD ulProperty, @@ -1438,7 +1545,7 @@ DWORD PNP_SetClassRegProp( ret = CR_REGISTRY_ERROR; } -done:; +done: if (hPropKey != NULL) RegCloseKey(hPropKey); @@ -1601,7 +1708,9 @@ CreateDeviceInstance(LPWSTR pszDeviceID) /* Function 28 */ -DWORD PNP_CreateDevInst( +DWORD +WINAPI +PNP_CreateDevInst( handle_t hBinding, LPWSTR pszDeviceID, LPWSTR pszParentDeviceID, @@ -1630,7 +1739,7 @@ DWORD PNP_CreateDevInst( dwInstanceNumber++; } while (ret == CR_ALREADY_SUCH_DEVINST); - + if (ret == CR_SUCCESS) { /* pszDeviceID is an out parameter too for generated IDs */ @@ -1713,7 +1822,9 @@ ReenumerateDeviceInstance(LPWSTR pszDeviceInstance) /* Function 29 */ -DWORD PNP_DeviceInstanceAction( +DWORD +WINAPI +PNP_DeviceInstanceAction( handle_t hBinding, DWORD ulAction, DWORD ulFlags, @@ -1762,7 +1873,9 @@ DWORD PNP_DeviceInstanceAction( /* Function 30 */ -DWORD PNP_GetDeviceStatus( +DWORD +WINAPI +PNP_GetDeviceStatus( handle_t hBinding, LPWSTR pDeviceID, DWORD *pulStatus, @@ -1802,7 +1915,9 @@ DWORD PNP_GetDeviceStatus( /* Function 31 */ -DWORD PNP_SetDeviceProblem( +DWORD +WINAPI +PNP_SetDeviceProblem( handle_t hBinding, LPWSTR pDeviceID, DWORD ulProblem, @@ -1814,7 +1929,9 @@ DWORD PNP_SetDeviceProblem( /* Function 32 */ -DWORD PNP_DisableDevInst( +DWORD +WINAPI +PNP_DisableDevInst( handle_t hBinding, LPWSTR pDeviceID, PPNP_VETO_TYPE pVetoType, @@ -1827,7 +1944,9 @@ DWORD PNP_DisableDevInst( } /* Function 33 */ -DWORD PNP_UninstallDevInst( +DWORD +WINAPI +PNP_UninstallDevInst( handle_t hBinding, LPWSTR pDeviceID, DWORD ulFlags) @@ -1880,7 +1999,9 @@ AppendDeviceId(LPWSTR lpDeviceIdList, /* Function 34 */ -DWORD PNP_AddID( +DWORD +WINAPI +PNP_AddID( handle_t hBinding, LPWSTR pszDeviceID, LPWSTR pszID, @@ -1987,7 +2108,9 @@ Done: /* Function 35 */ -DWORD PNP_RegisterDriver( +DWORD +WINAPI +PNP_RegisterDriver( handle_t hBinding, LPWSTR pszDeviceID, DWORD ulFlags) @@ -1998,7 +2121,9 @@ DWORD PNP_RegisterDriver( /* Function 36 */ -DWORD PNP_QueryRemove( +DWORD +WINAPI +PNP_QueryRemove( handle_t hBinding, LPWSTR pszDeviceID, PPNP_VETO_TYPE pVetoType, @@ -2012,7 +2137,9 @@ DWORD PNP_QueryRemove( /* Function 37 */ -DWORD PNP_RequestDeviceEject( +DWORD +WINAPI +PNP_RequestDeviceEject( handle_t hBinding, LPWSTR pszDeviceID, PPNP_VETO_TYPE pVetoType, @@ -2024,10 +2151,13 @@ DWORD PNP_RequestDeviceEject( return CR_CALL_NOT_IMPLEMENTED; } + /* Function 38 */ CONFIGRET -PNP_IsDockStationPresent(handle_t hBinding, - BOOL *Present) +WINAPI +PNP_IsDockStationPresent( + handle_t hBinding, + BOOL *Present) { HKEY hKey; DWORD dwType; @@ -2078,7 +2208,9 @@ PNP_IsDockStationPresent(handle_t hBinding, /* Function 39 */ -DWORD PNP_RequestEjectPC( +DWORD +WINAPI +PNP_RequestEjectPC( handle_t hBinding) { UNIMPLEMENTED; @@ -2087,7 +2219,9 @@ DWORD PNP_RequestEjectPC( /* Function 40 */ -DWORD PNP_HwProfFlags( +DWORD +WINAPI +PNP_HwProfFlags( handle_t hBinding, DWORD ulAction, LPWSTR pDeviceID, @@ -2166,7 +2300,9 @@ DWORD PNP_HwProfFlags( /* Function 41 */ -DWORD PNP_GetHwProfInfo( +DWORD +WINAPI +PNP_GetHwProfInfo( handle_t hBinding, DWORD ulIndex, HWPROFILEINFO *pHWProfileInfo, @@ -2299,7 +2435,9 @@ done: /* Function 42 */ -DWORD PNP_AddEmptyLogConf( +DWORD +WINAPI +PNP_AddEmptyLogConf( handle_t hBinding, LPWSTR pDeviceID, DWORD ulPriority, @@ -2312,7 +2450,9 @@ DWORD PNP_AddEmptyLogConf( /* Function 43 */ -DWORD PNP_FreeLogConf( +DWORD +WINAPI +PNP_FreeLogConf( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfType, @@ -2325,7 +2465,9 @@ DWORD PNP_FreeLogConf( /* Function 44 */ -DWORD PNP_GetFirstLogConf( +DWORD +WINAPI +PNP_GetFirstLogConf( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfType, @@ -2338,7 +2480,9 @@ DWORD PNP_GetFirstLogConf( /* Function 45 */ -DWORD PNP_GetNextLogConf( +DWORD +WINAPI +PNP_GetNextLogConf( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfType, @@ -2352,7 +2496,9 @@ DWORD PNP_GetNextLogConf( /* Function 46 */ -DWORD PNP_GetLogConfPriority( +DWORD +WINAPI +PNP_GetLogConfPriority( handle_t hBinding, LPWSTR pDeviceID, DWORD ulType, @@ -2366,7 +2512,9 @@ DWORD PNP_GetLogConfPriority( /* Function 47 */ -DWORD PNP_AddResDes( +DWORD +WINAPI +PNP_AddResDes( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfTag, @@ -2383,7 +2531,9 @@ DWORD PNP_AddResDes( /* Function 48 */ -DWORD PNP_FreeResDes( +DWORD +WINAPI +PNP_FreeResDes( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfTag, @@ -2400,7 +2550,9 @@ DWORD PNP_FreeResDes( /* Function 49 */ -DWORD PNP_GetNextResDes( +DWORD +WINAPI +PNP_GetNextResDes( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfTag, @@ -2417,7 +2569,9 @@ DWORD PNP_GetNextResDes( /* Function 50 */ -DWORD PNP_GetResDesData( +DWORD +WINAPI +PNP_GetResDesData( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfTag, @@ -2434,7 +2588,9 @@ DWORD PNP_GetResDesData( /* Function 51 */ -DWORD PNP_GetResDesDataSize( +DWORD +WINAPI +PNP_GetResDesDataSize( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfTag, @@ -2450,7 +2606,9 @@ DWORD PNP_GetResDesDataSize( /* Function 52 */ -DWORD PNP_ModifyResDes( +DWORD +WINAPI +PNP_ModifyResDes( handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfTag, @@ -2468,7 +2626,9 @@ DWORD PNP_ModifyResDes( /* Function 53 */ -DWORD PNP_DetectResourceConflict( +DWORD +WINAPI +PNP_DetectResourceConflict( handle_t hBinding, LPWSTR pDeviceID, RESOURCEID ResourceID, @@ -2483,7 +2643,9 @@ DWORD PNP_DetectResourceConflict( /* Function 54 */ -DWORD PNP_QueryResConfList( +DWORD +WINAPI +PNP_QueryResConfList( handle_t hBinding, LPWSTR pDeviceID, RESOURCEID ResourceID, @@ -2499,7 +2661,9 @@ DWORD PNP_QueryResConfList( /* Function 55 */ -DWORD PNP_SetHwProf( +DWORD +WINAPI +PNP_SetHwProf( handle_t hBinding, DWORD ulHardwareProfile, DWORD ulFlags) @@ -2510,7 +2674,9 @@ DWORD PNP_SetHwProf( /* Function 56 */ -DWORD PNP_QueryArbitratorFreeData( +DWORD +WINAPI +PNP_QueryArbitratorFreeData( handle_t hBinding, BYTE *pData, DWORD DataLen, @@ -2524,7 +2690,9 @@ DWORD PNP_QueryArbitratorFreeData( /* Function 57 */ -DWORD PNP_QueryArbitratorFreeSize( +DWORD +WINAPI +PNP_QueryArbitratorFreeSize( handle_t hBinding, DWORD *pulSize, LPWSTR pDeviceID, @@ -2538,6 +2706,7 @@ DWORD PNP_QueryArbitratorFreeSize( /* Function 58 */ CONFIGRET +WINAPI PNP_RunDetection( handle_t hBinding, DWORD ulFlags) @@ -2547,7 +2716,9 @@ PNP_RunDetection( /* Function 59 */ -DWORD PNP_RegisterNotification( +DWORD +WINAPI +PNP_RegisterNotification( handle_t hBinding) { UNIMPLEMENTED; @@ -2556,7 +2727,9 @@ DWORD PNP_RegisterNotification( /* Function 60 */ -DWORD PNP_UnregisterNotification( +DWORD +WINAPI +PNP_UnregisterNotification( handle_t hBinding) { UNIMPLEMENTED; @@ -2565,7 +2738,9 @@ DWORD PNP_UnregisterNotification( /* Function 61 */ -DWORD PNP_GetCustomDevProp( +DWORD +WINAPI +PNP_GetCustomDevProp( handle_t hBinding, LPWSTR pDeviceID, LPWSTR CustomPropName, @@ -2642,7 +2817,7 @@ DWORD PNP_GetCustomDevProp( } } -done:; +done: if (ret == CR_SUCCESS) *pulTransferLen = *pulLength; @@ -2659,19 +2834,21 @@ done:; /* Function 62 */ -DWORD PNP_GetVersionInternal( +DWORD +WINAPI +PNP_GetVersionInternal( handle_t hBinding, WORD *pwVersion) { *pwVersion = 0x501; return CR_SUCCESS; - UNIMPLEMENTED; - return CR_CALL_NOT_IMPLEMENTED; } /* Function 63 */ -DWORD PNP_GetBlockedDriverInfo( +DWORD +WINAPI +PNP_GetBlockedDriverInfo( handle_t hBinding, BYTE *Buffer, PNP_RPC_BUFFER_SIZE *pulTransferLen, @@ -2684,7 +2861,9 @@ DWORD PNP_GetBlockedDriverInfo( /* Function 64 */ -DWORD PNP_GetServerSideDeviceInstallFlags( +DWORD +WINAPI +PNP_GetServerSideDeviceInstallFlags( handle_t hBinding, DWORD *pulSSDIFlags, DWORD ulFlags) @@ -2695,7 +2874,9 @@ DWORD PNP_GetServerSideDeviceInstallFlags( /* Function 65 */ -DWORD PNP_GetObjectPropKeys( +DWORD +WINAPI +PNP_GetObjectPropKeys( handle_t hBinding, LPWSTR ObjectName, DWORD ObjectType, @@ -2711,7 +2892,9 @@ DWORD PNP_GetObjectPropKeys( /* Function 66 */ -DWORD PNP_GetObjectProp( +DWORD +WINAPI +PNP_GetObjectProp( handle_t hBinding, LPWSTR ObjectName, DWORD ObjectType, @@ -2729,7 +2912,9 @@ DWORD PNP_GetObjectProp( /* Function 67 */ -DWORD PNP_SetObjectProp( +DWORD +WINAPI +PNP_SetObjectProp( handle_t hBinding, LPWSTR ObjectName, DWORD ObjectType, @@ -2746,7 +2931,9 @@ DWORD PNP_SetObjectProp( /* Function 68 */ -DWORD PNP_InstallDevInst( +DWORD +WINAPI +PNP_InstallDevInst( handle_t hBinding) { UNIMPLEMENTED; @@ -2755,7 +2942,9 @@ DWORD PNP_InstallDevInst( /* Function 69 */ -DWORD PNP_ApplyPowerSettings( +DWORD +WINAPI +PNP_ApplyPowerSettings( handle_t hBinding) { UNIMPLEMENTED; @@ -2764,7 +2953,9 @@ DWORD PNP_ApplyPowerSettings( /* Function 70 */ -DWORD PNP_DriverStoreAddDriverPackage( +DWORD +WINAPI +PNP_DriverStoreAddDriverPackage( handle_t hBinding) { UNIMPLEMENTED; @@ -2773,7 +2964,9 @@ DWORD PNP_DriverStoreAddDriverPackage( /* Function 71 */ -DWORD PNP_DriverStoreDeleteDriverPackage( +DWORD +WINAPI +PNP_DriverStoreDeleteDriverPackage( handle_t hBinding) { UNIMPLEMENTED; @@ -2782,7 +2975,9 @@ DWORD PNP_DriverStoreDeleteDriverPackage( /* Function 72 */ -DWORD PNP_RegisterServiceNotification( +DWORD +WINAPI +PNP_RegisterServiceNotification( handle_t hBinding) { UNIMPLEMENTED; @@ -2791,8 +2986,12 @@ DWORD PNP_RegisterServiceNotification( /* Function 73 */ -DWORD PNP_SetActiveService( - handle_t hBinding) +DWORD +WINAPI +PNP_SetActiveService( + handle_t hBinding, + LPWSTR pszFilter, + DWORD ulFlags) { UNIMPLEMENTED; return CR_CALL_NOT_IMPLEMENTED; @@ -2800,7 +2999,9 @@ DWORD PNP_SetActiveService( /* Function 74 */ -DWORD PNP_DeleteServiceDevices( +DWORD +WINAPI +PNP_DeleteServiceDevices( handle_t hBinding) { UNIMPLEMENTED; @@ -2961,7 +3162,10 @@ cleanup: if(ProcessInfo.hThread) CloseHandle(ProcessInfo.hThread); - DPRINT1("Success? %d\n", DeviceInstalled); + if (!DeviceInstalled) + { + DPRINT1("InstallDevice failed for DeviceInstance '%ws'\n", DeviceInstance); + } return DeviceInstalled; } @@ -3309,7 +3513,7 @@ ServiceControlHandler(DWORD dwControl, } -static VOID CALLBACK +VOID WINAPI ServiceMain(DWORD argc, LPTSTR *argv) { HANDLE hThread; @@ -3363,22 +3567,18 @@ ServiceMain(DWORD argc, LPTSTR *argv) DPRINT("ServiceMain() done\n"); } - -int -wmain(int argc, WCHAR *argv[]) +static DWORD +InitializePnPManager(VOID) { BOOLEAN OldValue; DWORD dwError; - UNREFERENCED_PARAMETER(argc); - UNREFERENCED_PARAMETER(argv); - - DPRINT("Umpnpmgr: main() started\n"); + DPRINT("UMPNPMGR: InitializePnPManager() started\n"); /* We need this privilege for using CreateProcessAsUserW */ RtlAdjustPrivilege(SE_ASSIGNPRIMARYTOKEN_PRIVILEGE, TRUE, FALSE, &OldValue); - hInstallEvent = CreateEvent(NULL, TRUE, SetupIsActive()/*FALSE*/, NULL); + hInstallEvent = CreateEventW(NULL, TRUE, SetupIsActive()/*FALSE*/, NULL); if (hInstallEvent == NULL) { dwError = GetLastError(); @@ -3386,7 +3586,7 @@ wmain(int argc, WCHAR *argv[]) return dwError; } - hDeviceInstallListNotEmpty = CreateEvent(NULL, FALSE, FALSE, NULL); + hDeviceInstallListNotEmpty = CreateEventW(NULL, FALSE, FALSE, NULL); if (hDeviceInstallListNotEmpty == NULL) { dwError = GetLastError(); @@ -3433,13 +3633,28 @@ wmain(int argc, WCHAR *argv[]) return dwError; } - StartServiceCtrlDispatcher(ServiceTable); - - DPRINT("Umpnpmgr: main() done\n"); - - ExitThread(0); + DPRINT("UMPNPMGR: InitializePnPManager() done\n"); return 0; } +BOOL WINAPI +DllMain(HINSTANCE hinstDLL, + DWORD fdwReason, + LPVOID lpvReserved) +{ + switch (fdwReason) + { + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); + InitializePnPManager(); + break; + + case DLL_PROCESS_DETACH: + break; + } + + return TRUE; +} + /* EOF */ diff --git a/base/services/umpnpmgr/umpnpmgr.rc b/base/services/umpnpmgr/umpnpmgr.rc index 617c0c3d9f1..c8840112698 100644 --- a/base/services/umpnpmgr/umpnpmgr.rc +++ b/base/services/umpnpmgr/umpnpmgr.rc @@ -1,4 +1,5 @@ -#define REACTOS_STR_FILE_DESCRIPTION "User-Mode Plug and Play manager" +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "User-Mode Plug and Play Manager" #define REACTOS_STR_INTERNAL_NAME "Umpnpmgr" -#define REACTOS_STR_ORIGINAL_FILENAME "Umpnpmgr.exe" +#define REACTOS_STR_ORIGINAL_FILENAME "umpnpmgr.dll" #include diff --git a/base/services/umpnpmgr/umpnpmgr.spec b/base/services/umpnpmgr/umpnpmgr.spec new file mode 100644 index 00000000000..62dc73b1107 --- /dev/null +++ b/base/services/umpnpmgr/umpnpmgr.spec @@ -0,0 +1,12 @@ +@ stub DeleteServicePlugPlayRegKeys + +@ stdcall PNP_GetDeviceList(long ptr ptr ptr long) +@ stdcall PNP_GetDeviceListSize(long ptr ptr long) +@ stdcall PNP_GetDeviceRegProp(long ptr long ptr ptr ptr ptr long) +@ stdcall PNP_HwProfFlags(long long ptr long ptr ptr ptr long long) +@ stdcall PNP_SetActiveService(long ptr long) + +@ stub RegisterScmCallback +@ stub RegisterServiceNotification +@ stdcall ServiceMain(long ptr) ;; If using SvcHost.exe (Vista+) +;@ stdcall SvcEntry_PlugPlay(long long long long) ;; If using services.exe (<= 2k3) diff --git a/base/services/wlansvc/CMakeLists.txt b/base/services/wlansvc/CMakeLists.txt index 7f146da50ab..eb4e57417bd 100644 --- a/base/services/wlansvc/CMakeLists.txt +++ b/base/services/wlansvc/CMakeLists.txt @@ -1,6 +1,5 @@ include_directories(${REACTOS_SOURCE_DIR}/include/reactos/idl) - add_rpc_files(server ${REACTOS_SOURCE_DIR}/include/reactos/idl/wlansvc.idl) list(APPEND SOURCE diff --git a/base/setup/reactos/lang/ro-RO.rc b/base/setup/reactos/lang/ro-RO.rc index 7ab4b540b73..7e27fcb1595 100644 --- a/base/setup/reactos/lang/ro-RO.rc +++ b/base/setup/reactos/lang/ro-RO.rc @@ -3,7 +3,7 @@ * FILE: base/setup/reactos/lang/ro-RO.rc * PURPOSE: Romanian Language File for ReactOS GUI first stage setup * TRANSLATORS: - * Petre Dumitriu (petrimetri-at-gmail-dot-com) + * Petru Dumitriu (petrimetri at gmail dot com) * Ștefan Fulea (stefan dot fulea at mail dot md) */ diff --git a/base/setup/reactos/lang/tr-TR.rc b/base/setup/reactos/lang/tr-TR.rc index 6f21236e7d4..3d26c858242 100644 --- a/base/setup/reactos/lang/tr-TR.rc +++ b/base/setup/reactos/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATORS: 2012 Arda Tanrıkulu (ardatan) (ardatanrikulu@gmail.com), 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATORS: 2012 Arda Tanrıkulu (ardatan) (ardatanrikulu@gmail.com); 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/setup/setup/CMakeLists.txt b/base/setup/setup/CMakeLists.txt index 482ffe6fd1b..6eae7d22796 100644 --- a/base/setup/setup/CMakeLists.txt +++ b/base/setup/setup/CMakeLists.txt @@ -1,7 +1,5 @@ - add_executable(setup setup.c setup.rc) - set_module_type(setup win32gui UNICODE) add_importlibs(setup userenv msvcrt kernel32 ntdll) add_cd_file(TARGET setup DESTINATION reactos/system32 FOR all) diff --git a/base/setup/usetup/CMakeLists.txt b/base/setup/usetup/CMakeLists.txt index a2c3404f983..b6125f573b1 100644 --- a/base/setup/usetup/CMakeLists.txt +++ b/base/setup/usetup/CMakeLists.txt @@ -1,5 +1,6 @@ add_definitions(${I18N_DEFS}) + include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${REACTOS_SOURCE_DIR}/lib/inflib @@ -32,14 +33,13 @@ list(APPEND SOURCE settings.c usetup.h) +if(CMAKE_C_COMPILER_ID STREQUAL "Clang") + #FIXME: Investigate Clang "illegal character encoding in string literal" warning + set_property(SOURCE mui.c APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-invalid-source-encoding") +endif() + add_executable(usetup ${SOURCE} usetup.rc) - -target_link_libraries(usetup - zlib - inflib - ext2lib - vfatlib) - +target_link_libraries(usetup zlib inflib ext2lib vfatlib) set_module_type(usetup nativecui) add_importlibs(usetup ntdll) add_pch(usetup usetup.h SOURCE) diff --git a/base/setup/usetup/errorcode.h b/base/setup/usetup/errorcode.h index 0acfbd67b1f..b845b3502d0 100644 --- a/base/setup/usetup/errorcode.h +++ b/base/setup/usetup/errorcode.h @@ -67,12 +67,8 @@ typedef enum ERROR_ADDING_KBLAYOUTS, ERROR_UPDATE_GEOID, ERROR_INSUFFICIENT_DISKSPACE, - ERROR_PARTITION_TABLE_FULL, ERROR_ONLY_ONE_EXTENDED, - ERROR_NOT_BEHIND_EXTENDED, - ERROR_EXTENDED_NOT_LAST, - ERROR_LAST_ERROR_CODE }ERROR_NUMBER; diff --git a/base/setup/usetup/fslist.c b/base/setup/usetup/fslist.c index 1b76cd773bf..1aa660978d1 100644 --- a/base/setup/usetup/fslist.c +++ b/base/setup/usetup/fslist.c @@ -166,12 +166,12 @@ DrawFileSystemList( if (Item->FileSystem) { if (Item->QuickFormat) - sprintf(Buffer, MUIGetString(STRING_FORMATDISK1), Item->FileSystem); + snprintf(Buffer, sizeof(Buffer), MUIGetString(STRING_FORMATDISK1), Item->FileSystem); else - sprintf(Buffer, MUIGetString(STRING_FORMATDISK2), Item->FileSystem); + snprintf(Buffer, sizeof(Buffer), MUIGetString(STRING_FORMATDISK2), Item->FileSystem); } else - sprintf(Buffer, MUIGetString(STRING_KEEPFORMAT)); + snprintf(Buffer, sizeof(Buffer), MUIGetString(STRING_KEEPFORMAT)); if (ListEntry == &List->Selected->ListEntry) CONSOLE_SetInvertedTextXY(List->Left, diff --git a/base/setup/usetup/interface/usetup.c b/base/setup/usetup/interface/usetup.c index 0d7373d7eb5..25c95f1df1f 100644 --- a/base/setup/usetup/interface/usetup.c +++ b/base/setup/usetup/interface/usetup.c @@ -930,17 +930,14 @@ IntroPage(PINPUT_RECORD Ir) else if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */ { return INSTALL_INTRO_PAGE; - break; } else if (toupper(Ir->Event.KeyEvent.uChar.AsciiChar) == 'R') /* R */ { return REPAIR_INTRO_PAGE; - break; } else if (toupper(Ir->Event.KeyEvent.uChar.AsciiChar) == 'L') /* R */ { return LICENSE_PAGE; - break; } } @@ -965,7 +962,6 @@ LicensePage(PINPUT_RECORD Ir) if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */ { return INTRO_PAGE; - break; } } @@ -2761,7 +2757,7 @@ FormatPartitionPage(PINPUT_RECORD Ir) #if 0 else if (wcscmp(FileSystemList->Selected->FileSystem, L"EXT2") == 0) { - PartEntry->PartInfo[PartNum].PartitionType = PARTITION_EXT2; + PartEntry->PartitionType = PARTITION_EXT2; DiskEntry->LayoutBuffer->PartitionEntry[PartEntry->PartitionIndex].PartitionType = PartEntry->PartitionType; } #endif diff --git a/base/setup/usetup/lang/bg-BG.h b/base/setup/usetup/lang/bg-BG.h index 80aaaa867d1..1bf0e213a8d 100644 --- a/base/setup/usetup/lang/bg-BG.h +++ b/base/setup/usetup/lang/bg-BG.h @@ -1524,19 +1524,6 @@ MUI_ERROR bgBGErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/bn-BD.h b/base/setup/usetup/lang/bn-BD.h new file mode 100644 index 00000000000..e2e2ff1ae78 --- /dev/null +++ b/base/setup/usetup/lang/bn-BD.h @@ -0,0 +1,1739 @@ +#pragma once + +MUI_LAYOUTS bnBDLayouts[] = +{ + { L"0845", L"00000845" }, + { NULL, NULL } +}; + +static MUI_ENTRY bnBDLanguagePageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "Language Selection", + TEXT_STYLE_NORMAL + }, + { + 8, + 10, + "\x07 Please choose the language used for the installation process.", + TEXT_STYLE_NORMAL + }, + { + 8, + 11, + " Then press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 13, + "\x07 This Language will be the default language for the final system.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDWelcomePageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "Welcome to ReactOS Setup", + TEXT_STYLE_HIGHLIGHT + }, + { + 6, + 11, + "This part of the setup copies the ReactOS Operating System to your", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "computer and prepares the second part of the setup.", + TEXT_STYLE_NORMAL + }, + { + 8, + 15, + "\x07 Press ENTER to install ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 8, + 17, + "\x07 Press R to repair or update ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, + "\x07 Press L to view the ReactOS Licensing Terms and Conditions.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 6, + 23, + "For more information on ReactOS, please visit:", + TEXT_STYLE_NORMAL + }, + { + 6, + 24, + "http://www.reactos.org", + TEXT_STYLE_HIGHLIGHT + }, + { + 0, + 0, + "ENTER = Continue R = Repair L = License F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDIntroPageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "ReactOS Setup is in an early development phase. It does not yet", + TEXT_STYLE_NORMAL + }, + { + 6, + 9, + "support all the functions of a fully usable setup application.", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "The following limitations apply:", + TEXT_STYLE_NORMAL + }, + { + 8, + 13, + "- Setup can not handle more than one primary partition per disk.", + TEXT_STYLE_NORMAL + }, + { + 8, + 14, + "- Setup can not delete a primary partition from a disk", + TEXT_STYLE_NORMAL + }, + { + 8, + 15, + " as long as extended partitions exist on this disk.", + TEXT_STYLE_NORMAL + }, + { + 8, + 16, + "- Setup can not delete the first extended partition from a disk", + TEXT_STYLE_NORMAL + }, + { + 8, + 17, + " as long as other extended partitions exist on this disk.", + TEXT_STYLE_NORMAL + }, + { + 8, + 18, + "- Setup supports FAT file systems only.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, + "- File system checks are not implemented yet.", + TEXT_STYLE_NORMAL + }, + { + 8, + 23, + "\x07 Press ENTER to install ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "\x07 Press F3 to quit without installing ReactOS.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue F3 = Quit", + TEXT_TYPE_STATUS| TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDLicensePageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 6, + "Licensing:", + TEXT_STYLE_HIGHLIGHT + }, + { + 8, + 8, + "The ReactOS System is licensed under the terms of the", + TEXT_STYLE_NORMAL + }, + { + 8, + 9, + "GNU GPL with parts containing code from other compatible", + TEXT_STYLE_NORMAL + }, + { + 8, + 10, + "licenses such as the X11 or BSD and GNU LGPL licenses.", + TEXT_STYLE_NORMAL + }, + { + 8, + 11, + "All software that is part of the ReactOS system is", + TEXT_STYLE_NORMAL + }, + { + 8, + 12, + "therefore released under the GNU GPL as well as maintaining", + TEXT_STYLE_NORMAL + }, + { + 8, + 13, + "the original license.", + TEXT_STYLE_NORMAL + }, + { + 8, + 15, + "This software comes with NO WARRANTY or restrictions on usage", + TEXT_STYLE_NORMAL + }, + { + 8, + 16, + "save applicable local and international law. The licensing of", + TEXT_STYLE_NORMAL + }, + { + 8, + 17, + "ReactOS only covers distribution to third parties.", + TEXT_STYLE_NORMAL + }, + { + 8, + 18, + "If for some reason you did not receive a copy of the", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, + "GNU General Public License with ReactOS please visit", + TEXT_STYLE_NORMAL + }, + { + 8, + 20, + "http://www.gnu.org/licenses/licenses.html", + TEXT_STYLE_HIGHLIGHT + }, + { + 8, + 22, + "Warranty:", + TEXT_STYLE_HIGHLIGHT + }, + { + 8, + 24, + "This is free software; see the source for copying conditions.", + TEXT_STYLE_NORMAL + }, + { + 8, + 25, + "There is NO warranty; not even for MERCHANTABILITY or", + TEXT_STYLE_NORMAL + }, + { + 8, + 26, + "FITNESS FOR A PARTICULAR PURPOSE", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Return", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDDevicePageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The list below shows the current device settings.", + TEXT_STYLE_NORMAL + }, + { + 24, + 11, + "Computer:", + TEXT_STYLE_NORMAL | TEXT_ALIGN_RIGHT + }, + { + 24, + 12, + "Display:", + TEXT_STYLE_NORMAL | TEXT_ALIGN_RIGHT + }, + { + 24, + 13, + "Keyboard:", + TEXT_STYLE_NORMAL | TEXT_ALIGN_RIGHT + }, + { + 24, + 14, + "Keyboard layout:", + TEXT_STYLE_NORMAL | TEXT_ALIGN_RIGHT + }, + { + 24, + 16, + "Accept:", + TEXT_STYLE_NORMAL | TEXT_ALIGN_RIGHT + }, + { + 25, + 16, "Accept these device settings", + TEXT_STYLE_NORMAL + }, + { + 6, + 19, + "You can change the hardware settings by pressing the UP or DOWN keys", + TEXT_STYLE_NORMAL + }, + { + 6, + 20, + "to select an entry. Then press the ENTER key to select alternative", + TEXT_STYLE_NORMAL + }, + { + 6, + 21, + "settings.", + TEXT_STYLE_NORMAL + }, + { + 6, + 23, + "When all settings are correct, select \"Accept these device settings\"", + TEXT_STYLE_NORMAL + }, + { + 6, + 24, + "and press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDRepairPageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "ReactOS Setup is in an early development phase. It does not yet", + TEXT_STYLE_NORMAL + }, + { + 6, + 9, + "support all the functions of a fully usable setup application.", + TEXT_STYLE_NORMAL + }, + { + 6, + 12, + "The repair functions are not implemented yet.", + TEXT_STYLE_NORMAL + }, + { + 8, + 15, + "\x07 Press U for Updating OS.", + TEXT_STYLE_NORMAL + }, + { + 8, + 17, + "\x07 Press R for the Recovery Console.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, + "\x07 Press ESC to return to the main page.", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, + "\x07 Press ENTER to reboot your computer.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ESC = Main page U = Update R = Recovery ENTER = Reboot", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; +static MUI_ENTRY bnBDComputerPageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "You want to change the type of computer to be installed.", + TEXT_STYLE_NORMAL + }, + { + 8, + 10, + "\x07 Press the UP or DOWN key to select the desired computer type.", + TEXT_STYLE_NORMAL + }, + { + 8, + 11, + " Then press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 13, + "\x07 Press the ESC key to return to the previous page without changing", + TEXT_STYLE_NORMAL + }, + { + 8, + 14, + " the computer type.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDFlushPageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 10, + 6, + "The system is now making sure all data is stored on your disk", + TEXT_STYLE_NORMAL + }, + { + 10, + 8, + "This may take a minute", + TEXT_STYLE_NORMAL + }, + { + 10, + 9, + "When finished, your computer will reboot automatically", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "Flushing cache", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDQuitPageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 10, + 6, + "ReactOS is not completely installed", + TEXT_STYLE_NORMAL + }, + { + 10, + 8, + "Remove floppy disk from Drive A: and", + TEXT_STYLE_NORMAL + }, + { + 10, + 9, + "all CD-ROMs from CD-Drives.", + TEXT_STYLE_NORMAL + }, + { + 10, + 11, + "Press ENTER to reboot your computer.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "Please wait ...", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG, + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDDisplayPageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "You want to change the type of display to be installed.", + TEXT_STYLE_NORMAL + }, + { 8, + 10, + "\x07 Press the UP or DOWN key to select the desired display type.", + TEXT_STYLE_NORMAL + }, + { + 8, + 11, + " Then press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 13, + "\x07 Press the ESC key to return to the previous page without changing", + TEXT_STYLE_NORMAL + }, + { + 8, + 14, + " the display type.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDSuccessPageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 10, + 6, + "The basic components of ReactOS have been installed successfully.", + TEXT_STYLE_NORMAL + }, + { + 10, + 8, + "Remove floppy disk from Drive A: and", + TEXT_STYLE_NORMAL + }, + { + 10, + 9, + "all CD-ROMs from CD-Drive.", + TEXT_STYLE_NORMAL + }, + { + 10, + 11, + "Press ENTER to reboot your computer.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Reboot computer", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDBootPageEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "Setup cannot install the bootloader on your computers", + TEXT_STYLE_NORMAL + }, + { + 6, + 9, + "hardisk", + TEXT_STYLE_NORMAL + }, + { + 6, + 13, + "Please insert a formatted floppy disk in drive A: and", + TEXT_STYLE_NORMAL + }, + { + 6, + 14, + "press ENTER.", + TEXT_STYLE_NORMAL, + }, + { + 0, + 0, + "ENTER = Continue F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } + +}; + +static MUI_ENTRY bnBDSelectPartitionEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "The list below shows existing partitions and unused disk", + TEXT_STYLE_NORMAL + }, + { + 6, + 9, + "space for new partitions.", + TEXT_STYLE_NORMAL + }, + { + 8, + 11, + "\x07 Press UP or DOWN to select a list entry.", + TEXT_STYLE_NORMAL + }, + { + 8, + 13, + "\x07 Press ENTER to install ReactOS onto the selected partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 15, + "\x07 Press P to create a primary partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 17, + "\x07 Press E to create an extended partition.", + TEXT_STYLE_NORMAL + }, + { + 8, + 19, + "\x07 Press D to delete an existing partition.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "Please wait...", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDFormatPartitionEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "Format partition", + TEXT_STYLE_NORMAL + }, + { + 6, + 10, + "Setup will now format the partition. Press ENTER to continue.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + TEXT_STYLE_NORMAL + } +}; + +static MUI_ENTRY bnBDInstallDirectoryEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "Setup installs ReactOS files onto the selected partition. Choose a", + TEXT_STYLE_NORMAL + }, + { + 6, + 9, + "directory where you want ReactOS to be installed:", + TEXT_STYLE_NORMAL + }, + { + 6, + 14, + "To change the suggested directory, press BACKSPACE to delete", + TEXT_STYLE_NORMAL + }, + { + 6, + 15, + "characters and then type the directory where you want ReactOS to", + TEXT_STYLE_NORMAL + }, + { + 6, + 16, + "be installed.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDFileCopyEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 0, + 12, + "Please wait while ReactOS Setup copies files to your ReactOS", + TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER + }, + { + 0, + 13, + "installation folder.", + TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER + }, + { + 0, + 14, + "This may take several minutes to complete.", + TEXT_STYLE_NORMAL | TEXT_ALIGN_CENTER + }, + { + 50, + 0, + "\xB3 Please wait... ", + TEXT_TYPE_STATUS + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDBootLoaderEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "Setup is installing the boot loader", + TEXT_STYLE_NORMAL + }, + { + 8, + 12, + "Install bootloader on the harddisk (MBR and VBR).", + TEXT_STYLE_NORMAL + }, + { + 8, + 13, + "Install bootloader on the harddisk (VBR only).", + TEXT_STYLE_NORMAL + }, + { + 8, + 14, + "Install bootloader on a floppy disk.", + TEXT_STYLE_NORMAL + }, + { + 8, + 15, + "Skip install bootloader.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDKeyboardSettingsEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "You want to change the type of keyboard to be installed.", + TEXT_STYLE_NORMAL + }, + { + 8, + 10, + "\x07 Press the UP or DOWN key to select the desired keyboard type.", + TEXT_STYLE_NORMAL + }, + { + 8, + 11, + " Then press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 13, + "\x07 Press the ESC key to return to the previous page without changing", + TEXT_STYLE_NORMAL + }, + { + 8, + 14, + " the keyboard type.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDLayoutSettingsEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "Please select a layout to be installed by default.", + TEXT_STYLE_NORMAL + }, + { + 8, + 10, + "\x07 Press the UP or DOWN key to select the desired keyboard", + TEXT_STYLE_NORMAL + }, + { + 8, + 11, + " layout. Then press ENTER.", + TEXT_STYLE_NORMAL + }, + { + 8, + 13, + "\x07 Press the ESC key to return to the previous page without changing", + TEXT_STYLE_NORMAL + }, + { + 8, + 14, + " the keyboard layout.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + }, + +}; + +static MUI_ENTRY bnBDPrepareCopyEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "Setup prepares your computer for copying the ReactOS files. ", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "Building the file copy list...", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + }, + +}; + +static MUI_ENTRY bnBDSelectFSEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 17, + "Select a file system from the list below.", + 0 + }, + { + 8, + 19, + "\x07 Press UP or DOWN to select a file system.", + 0 + }, + { + 8, + 21, + "\x07 Press ENTER to format the partition.", + 0 + }, + { + 8, + 23, + "\x07 Press ESC to select another partition.", + 0 + }, + { + 0, + 0, + "ENTER = Continue ESC = Cancel F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDDeletePartitionEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "You have chosen to delete the partition", + TEXT_STYLE_NORMAL + }, + { + 8, + 18, + "\x07 Press D to delete the partition.", + TEXT_STYLE_NORMAL + }, + { + 11, + 19, + "WARNING: All data on this partition will be lost!", + TEXT_STYLE_NORMAL + }, + { + 8, + 21, + "\x07 Press ESC to cancel.", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "D = Delete Partition ESC = Cancel F3 = Quit", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + } +}; + +static MUI_ENTRY bnBDRegistryEntries[] = +{ + { + 4, + 3, + " ReactOS " KERNEL_VERSION_STR " Setup ", + TEXT_STYLE_UNDERLINE + }, + { + 6, + 8, + "Setup is updating the system configuration. ", + TEXT_STYLE_NORMAL + }, + { + 0, + 0, + "Creating registry hives...", + TEXT_TYPE_STATUS | TEXT_PADDING_BIG + }, + { + 0, + 0, + NULL, + 0 + }, + +}; + +MUI_ERROR bnBDErrorEntries[] = +{ + { + // NOT_AN_ERROR + "Success\n" + }, + { + //ERROR_NOT_INSTALLED + "ReactOS is not completely installed on your\n" + "computer. If you quit Setup now, you will need to\n" + "run Setup again to install ReactOS.\n" + "\n" + " \x07 Press ENTER to continue Setup.\n" + " \x07 Press F3 to quit Setup.", + "F3 = Quit ENTER = Continue" + }, + { + //ERROR_NO_HDD + "Setup could not find a harddisk.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_NO_SOURCE_DRIVE + "Setup could not find its source drive.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_LOAD_TXTSETUPSIF + "Setup failed to load the file TXTSETUP.SIF.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_CORRUPT_TXTSETUPSIF + "Setup found a corrupt TXTSETUP.SIF.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_SIGNATURE_TXTSETUPSIF, + "Setup found an invalid signature in TXTSETUP.SIF.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_DRIVE_INFORMATION + "Setup could not retrieve system drive information.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_WRITE_BOOT, + "Setup failed to install FAT bootcode on the system partition.", + "ENTER = Reboot computer" + }, + { + //ERROR_LOAD_COMPUTER, + "Setup failed to load the computer type list.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_LOAD_DISPLAY, + "Setup failed to load the display settings list.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_LOAD_KEYBOARD, + "Setup failed to load the keyboard type list.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_LOAD_KBLAYOUT, + "Setup failed to load the keyboard layout list.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_WARN_PARTITION, + "Setup found that at least one harddisk contains an incompatible\n" + "partition table that can not be handled properly!\n" + "\n" + "Creating or deleting partitions can destroy the partition table.\n" + "\n" + " \x07 Press F3 to quit Setup.\n" + " \x07 Press ENTER to continue.", + "F3= Quit ENTER = Continue" + }, + { + //ERROR_NEW_PARTITION, + "You can not create a new Partition inside\n" + "of an already existing Partition!\n" + "\n" + " * Press any key to continue.", + NULL + }, + { + //ERROR_DELETE_SPACE, + "You can not delete unpartitioned disk space!\n" + "\n" + " * Press any key to continue.", + NULL + }, + { + //ERROR_INSTALL_BOOTCODE, + "Setup failed to install the FAT bootcode on the system partition.", + "ENTER = Reboot computer" + }, + { + //ERROR_NO_FLOPPY, + "No disk in drive A:.", + "ENTER = Continue" + }, + { + //ERROR_UPDATE_KBSETTINGS, + "Setup failed to update keyboard layout settings.", + "ENTER = Reboot computer" + }, + { + //ERROR_UPDATE_DISPLAY_SETTINGS, + "Setup failed to update display registry settings.", + "ENTER = Reboot computer" + }, + { + //ERROR_IMPORT_HIVE, + "Setup failed to import a hive file.", + "ENTER = Reboot computer" + }, + { + //ERROR_FIND_REGISTRY + "Setup failed to find the registry data files.", + "ENTER = Reboot computer" + }, + { + //ERROR_CREATE_HIVE, + "Setup failed to create the registry hives.", + "ENTER = Reboot computer" + }, + { + //ERROR_INITIALIZE_REGISTRY, + "Setup failed to initialize the registry.", + "ENTER = Reboot computer" + }, + { + //ERROR_INVALID_CABINET_INF, + "Cabinet has no valid inf file.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_CABINET_MISSING, + "Cabinet not found.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_CABINET_SCRIPT, + "Cabinet has no setup script.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_COPY_QUEUE, + "Setup failed to open the copy file queue.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_CREATE_DIR, + "Setup could not create install directories.", + "ENTER = Reboot computer" + }, + { + //ERROR_TXTSETUP_SECTION, + "Setup failed to find the 'Directories' section\n" + "in TXTSETUP.SIF.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_CABINET_SECTION, + "Setup failed to find the 'Directories' section\n" + "in the cabinet.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_CREATE_INSTALL_DIR + "Setup could not create the install directory.", + "ENTER = Reboot computer" + }, + { + //ERROR_FIND_SETUPDATA, + "Setup failed to find the 'SetupData' section\n" + "in TXTSETUP.SIF.\n", + "ENTER = Reboot computer" + }, + { + //ERROR_WRITE_PTABLE, + "Setup failed to write partition tables.\n" + "ENTER = Reboot computer" + }, + { + //ERROR_ADDING_CODEPAGE, + "Setup failed to add codepage to registry.\n" + "ENTER = Reboot computer" + }, + { + //ERROR_UPDATE_LOCALESETTINGS, + "Setup could not set the system locale.\n" + "ENTER = Reboot computer" + }, + { + //ERROR_ADDING_KBLAYOUTS, + "Setup failed to add keyboard layouts to registry.\n" + "ENTER = Reboot computer" + }, + { + //ERROR_UPDATE_GEOID, + "Setup could not set the geo id.\n" + "ENTER = Reboot computer" + }, + { + //ERROR_INSUFFICIENT_DISKSPACE, + "Not enough free space in the selected partition.\n" + " * Press any key to continue.", + NULL + }, + { + //ERROR_PARTITION_TABLE_FULL, + "You can not create a new primary or extended partition in the\n" + "partition table of this disk because the partition table is full.\n" + "\n" + " * Press any key to continue." + }, + { + //ERROR_ONLY_ONE_EXTENDED, + "You can not create more than one extended partition per disk.\n" + "\n" + " * Press any key to continue." + }, + { + NULL, + NULL + } +}; + +MUI_PAGE bnBDPages[] = +{ + { + LANGUAGE_PAGE, + bnBDLanguagePageEntries + }, + { + START_PAGE, + bnBDWelcomePageEntries + }, + { + INSTALL_INTRO_PAGE, + bnBDIntroPageEntries + }, + { + LICENSE_PAGE, + bnBDLicensePageEntries + }, + { + DEVICE_SETTINGS_PAGE, + bnBDDevicePageEntries + }, + { + REPAIR_INTRO_PAGE, + bnBDRepairPageEntries + }, + { + COMPUTER_SETTINGS_PAGE, + bnBDComputerPageEntries + }, + { + DISPLAY_SETTINGS_PAGE, + bnBDDisplayPageEntries + }, + { + FLUSH_PAGE, + bnBDFlushPageEntries + }, + { + SELECT_PARTITION_PAGE, + bnBDSelectPartitionEntries + }, + { + SELECT_FILE_SYSTEM_PAGE, + bnBDSelectFSEntries + }, + { + FORMAT_PARTITION_PAGE, + bnBDFormatPartitionEntries + }, + { + DELETE_PARTITION_PAGE, + bnBDDeletePartitionEntries + }, + { + INSTALL_DIRECTORY_PAGE, + bnBDInstallDirectoryEntries + }, + { + PREPARE_COPY_PAGE, + bnBDPrepareCopyEntries + }, + { + FILE_COPY_PAGE, + bnBDFileCopyEntries + }, + { + KEYBOARD_SETTINGS_PAGE, + bnBDKeyboardSettingsEntries + }, + { + BOOT_LOADER_PAGE, + bnBDBootLoaderEntries + }, + { + LAYOUT_SETTINGS_PAGE, + bnBDLayoutSettingsEntries + }, + { + QUIT_PAGE, + bnBDQuitPageEntries + }, + { + SUCCESS_PAGE, + bnBDSuccessPageEntries + }, + { + BOOT_LOADER_FLOPPY_PAGE, + bnBDBootPageEntries + }, + { + REGISTRY_PAGE, + bnBDRegistryEntries + }, + { + -1, + NULL + } +}; + +MUI_STRING bnBDStrings[] = +{ + {STRING_PLEASEWAIT, + " Please wait..."}, + {STRING_INSTALLCREATEPARTITION, + " ENTER = Install P = Create Primary E = Create Extended F3 = Quit"}, + {STRING_INSTALLCREATELOGICAL, + " ENTER = Install L = Create Logical Partition F3 = Quit"}, + {STRING_INSTALLDELETEPARTITION, + " ENTER = Install D = Delete Partition F3 = Quit"}, + {STRING_DELETEPARTITION, + " D = Delete Partition F3 = Quit"}, + {STRING_PARTITIONSIZE, + "Size of new partition:"}, + {STRING_CHOOSENEWPARTITION, + "You have chosen to create a primary partition on"}, + {STRING_CHOOSE_NEW_EXTENDED_PARTITION, + "You have chosen to create an extended partition on"}, + {STRING_CHOOSE_NEW_LOGICAL_PARTITION, + "You have chosen to create a logical partition on"}, + {STRING_HDDSIZE, + "Please enter the size of the new partition in megabytes."}, + {STRING_CREATEPARTITION, + " ENTER = Create Partition ESC = Cancel F3 = Quit"}, + {STRING_PARTFORMAT, + "This Partition will be formatted next."}, + {STRING_NONFORMATTEDPART, + "You chose to install ReactOS on a new or unformatted Partition."}, + {STRING_INSTALLONPART, + "Setup installs ReactOS onto Partition"}, + {STRING_CHECKINGPART, + "Setup is now checking the selected partition."}, + {STRING_QUITCONTINUE, + "F3= Quit ENTER = Continue"}, + {STRING_REBOOTCOMPUTER, + "ENTER = Reboot computer"}, + {STRING_TXTSETUPFAILED, + "Setup failed to find the '%S' section\nin TXTSETUP.SIF.\n"}, + {STRING_COPYING, + " Copying file: %S"}, + {STRING_SETUPCOPYINGFILES, + "Setup is copying files..."}, + {STRING_REGHIVEUPDATE, + " Updating registry hives..."}, + {STRING_IMPORTFILE, + " Importing %S..."}, + {STRING_DISPLAYETTINGSUPDATE, + " Updating display registry settings..."}, + {STRING_LOCALESETTINGSUPDATE, + " Updating locale settings..."}, + {STRING_KEYBOARDSETTINGSUPDATE, + " Updating keyboard layout settings..."}, + {STRING_CODEPAGEINFOUPDATE, + " Adding codepage information to registry..."}, + {STRING_DONE, + " Done..."}, + {STRING_REBOOTCOMPUTER2, + " ENTER = Reboot computer"}, + {STRING_CONSOLEFAIL1, + "Unable to open the console\r\n\r\n"}, + {STRING_CONSOLEFAIL2, + "The most common cause of this is using an USB keyboard\r\n"}, + {STRING_CONSOLEFAIL3, + "USB keyboards are not fully supported yet\r\n"}, + {STRING_FORMATTINGDISK, + "Setup is formatting your disk"}, + {STRING_CHECKINGDISK, + "Setup is checking your disk"}, + {STRING_FORMATDISK1, + " Format partition as %S file system (quick format) "}, + {STRING_FORMATDISK2, + " Format partition as %S file system "}, + {STRING_KEEPFORMAT, + " Keep current file system (no changes) "}, + {STRING_HDINFOPARTCREATE, + "%I64u %s Harddisk %lu (Port=%hu, Bus=%hu, Id=%hu) on %wZ."}, + {STRING_HDDINFOUNK1, + "%I64u %s Harddisk %lu (Port=%hu, Bus=%hu, Id=%hu)."}, + {STRING_HDDINFOUNK2, + " %c%c Type %lu %I64u %s"}, + {STRING_HDINFOPARTDELETE, + "on %I64u %s Harddisk %lu (Port=%hu, Bus=%hu, Id=%hu) on %wZ."}, + {STRING_HDDINFOUNK3, + "on %I64u %s Harddisk %lu (Port=%hu, Bus=%hu, Id=%hu)."}, + {STRING_HDINFOPARTZEROED, + "Harddisk %lu (%I64u %s), Port=%hu, Bus=%hu, Id=%hu (%wZ)."}, + {STRING_HDDINFOUNK4, + "%c%c Type %lu %I64u %s"}, + {STRING_HDINFOPARTEXISTS, + "on Harddisk %lu (%I64u %s), Port=%hu, Bus=%hu, Id=%hu (%wZ)."}, + {STRING_HDDINFOUNK5, + "%c%c %sType %-3u%s %6lu %s"}, + {STRING_HDINFOPARTSELECT, + "%6lu %s Harddisk %lu (Port=%hu, Bus=%hu, Id=%hu) on %S"}, + {STRING_HDDINFOUNK6, + "%6lu %s Harddisk %lu (Port=%hu, Bus=%hu, Id=%hu)"}, + {STRING_NEWPARTITION, + "Setup created a new partition on"}, + {STRING_UNPSPACE, + " %sUnpartitioned space%s %6lu %s"}, + {STRING_MAXSIZE, + "MB (max. %lu MB)"}, + {STRING_EXTENDED_PARTITION, + "Extended Partition"}, + {STRING_UNFORMATTED, + "New (Unformatted)"}, + {STRING_FORMATUNUSED, + "Unused"}, + {STRING_FORMATUNKNOWN, + "Unknown"}, + {STRING_KB, + "KB"}, + {STRING_MB, + "MB"}, + {STRING_GB, + "GB"}, + {STRING_ADDKBLAYOUTS, + "Adding keyboard layouts"}, + {0, 0} +}; diff --git a/base/setup/usetup/lang/bn-IN.h b/base/setup/usetup/lang/bn-IN.h new file mode 100644 index 00000000000..607a7697708 --- /dev/null +++ b/base/setup/usetup/lang/bn-IN.h @@ -0,0 +1,7 @@ +#pragma once + +MUI_LAYOUTS bnINLayouts[] = +{ + { L"0445", L"00000445" }, + { NULL, NULL } +}; diff --git a/base/setup/usetup/lang/cs-CZ.h b/base/setup/usetup/lang/cs-CZ.h index 2f77d54881d..74555d0eeb2 100644 --- a/base/setup/usetup/lang/cs-CZ.h +++ b/base/setup/usetup/lang/cs-CZ.h @@ -1519,19 +1519,6 @@ MUI_ERROR csCZErrorEntries[] = "\n" " * Pokraujte stisknutm libovoln klvesy." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "Nen mon vytvoit oddl za rozenm oddlem.\n" - "\n" - " * Pokraujte stisknutm libovoln klvesy." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "Rozen oddl mus bt vdy posledn oddl\n" - "v tabulce oddl.\n" - "\n" - " * Pokraujte stisknutm libovoln klvesy." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/de-DE.h b/base/setup/usetup/lang/de-DE.h index ab58aae6ab7..f1d422f540b 100644 --- a/base/setup/usetup/lang/de-DE.h +++ b/base/setup/usetup/lang/de-DE.h @@ -1516,19 +1516,6 @@ MUI_ERROR deDEErrorEntries[] = "\n" " * Eine beliebige Taste zum Fortsetzen drcken." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "Sie knnen hinter einer erweiterten Partition keine weitere Partition anlegen.\n" - "\n" - " * Eine beliebige Taste zum Fortsetzen drcken." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "Eine erweiterte Partition muss immer die letzte Partition in \n" - "einer Partitionstabelle sein.\n" - "\n" - " * Eine beliebige Taste zum Fortsetzen drcken." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/el-GR.h b/base/setup/usetup/lang/el-GR.h index 82d83d4dd4c..4c7b79e1e56 100644 --- a/base/setup/usetup/lang/el-GR.h +++ b/base/setup/usetup/lang/el-GR.h @@ -1536,19 +1536,6 @@ MUI_ERROR elGRErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/en-US.h b/base/setup/usetup/lang/en-US.h index 7f752f39a8f..d4e7d5f802f 100644 --- a/base/setup/usetup/lang/en-US.h +++ b/base/setup/usetup/lang/en-US.h @@ -1511,19 +1511,6 @@ MUI_ERROR enUSErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/es-ES.h b/base/setup/usetup/lang/es-ES.h index d8bad41c343..b96a269a86d 100644 --- a/base/setup/usetup/lang/es-ES.h +++ b/base/setup/usetup/lang/es-ES.h @@ -1519,19 +1519,6 @@ MUI_ERROR esESErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/et-EE.h b/base/setup/usetup/lang/et-EE.h index e90023d4651..fe7463322ac 100644 --- a/base/setup/usetup/lang/et-EE.h +++ b/base/setup/usetup/lang/et-EE.h @@ -1509,19 +1509,6 @@ MUI_ERROR etEEErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/fr-FR.h b/base/setup/usetup/lang/fr-FR.h index c4dac549943..50220c3fe94 100644 --- a/base/setup/usetup/lang/fr-FR.h +++ b/base/setup/usetup/lang/fr-FR.h @@ -1524,19 +1524,6 @@ MUI_ERROR frFRErrorEntries[] = "\n" " * Appuyer sur une touche pour continuer." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "Impossible de crer une partition prcdant une partition tendue.\n" - "\n" - " * Appuyer sur une touche pour continuer." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "Une partition tendue doit toujours tre place en dernier\n" - "dans la table de partition.\n" - "\n" - " * Appuyer sur une touche pour continuer." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/he-IL.h b/base/setup/usetup/lang/he-IL.h index b4a3945f232..74f14761a15 100644 --- a/base/setup/usetup/lang/he-IL.h +++ b/base/setup/usetup/lang/he-IL.h @@ -1512,19 +1512,6 @@ MUI_ERROR heILErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/it-IT.h b/base/setup/usetup/lang/it-IT.h index e911a748ed1..2c7fc543cdb 100644 --- a/base/setup/usetup/lang/it-IT.h +++ b/base/setup/usetup/lang/it-IT.h @@ -1513,19 +1513,6 @@ MUI_ERROR itITErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/ja-JP.h b/base/setup/usetup/lang/ja-JP.h index 691406625fe..f4aa3cb6dc9 100644 --- a/base/setup/usetup/lang/ja-JP.h +++ b/base/setup/usetup/lang/ja-JP.h @@ -1513,19 +1513,6 @@ MUI_ERROR jaJPErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/lt-LT.h b/base/setup/usetup/lang/lt-LT.h index 7a7b4f746a5..ef7e9640dca 100644 --- a/base/setup/usetup/lang/lt-LT.h +++ b/base/setup/usetup/lang/lt-LT.h @@ -1521,19 +1521,6 @@ MUI_ERROR ltLTErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/nl-NL.h b/base/setup/usetup/lang/nl-NL.h index 167e1095b0d..cc775851d37 100644 --- a/base/setup/usetup/lang/nl-NL.h +++ b/base/setup/usetup/lang/nl-NL.h @@ -1557,19 +1557,6 @@ MUI_ERROR nlNLErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/pl-PL.h b/base/setup/usetup/lang/pl-PL.h index 7cecd01647f..cb83abb1b62 100644 --- a/base/setup/usetup/lang/pl-PL.h +++ b/base/setup/usetup/lang/pl-PL.h @@ -1521,19 +1521,6 @@ MUI_ERROR plPLErrorEntries[] = "\n" " * Nacinij dowolny klawisz, aby kontynuowa." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "Nie moesz utworzy partycji za partycj rozszerzon.\n" - "\n" - " * Nacinij dowolny klawisz, aby kontynuowa." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "Partycja rozszerzona musi by zawsze ostatni\n" - "partycj w tabeli partycji.\n" - "\n" - " * Nacinij dowolny klawisz, aby kontynuowa." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/pt-BR.h b/base/setup/usetup/lang/pt-BR.h index 19ad6719180..e1b0c113d60 100644 --- a/base/setup/usetup/lang/pt-BR.h +++ b/base/setup/usetup/lang/pt-BR.h @@ -1549,19 +1549,6 @@ MUI_ERROR ptBRErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/ro-RO.h b/base/setup/usetup/lang/ro-RO.h index 558011d80b8..dcac8972059 100644 --- a/base/setup/usetup/lang/ro-RO.h +++ b/base/setup/usetup/lang/ro-RO.h @@ -107,7 +107,7 @@ static MUI_ENTRY roROWelcomePageEntries[] = { 8, 21, - "\x07 Tastai L pentru Termenii i Condiiile de Liceniere", + "\x07 Tastai L pentru Termenii i Condiiile de Liceniere.", TEXT_STYLE_NORMAL }, { @@ -325,13 +325,13 @@ static MUI_ENTRY roROLicensePageEntries[] = { 8, 18, - "ct i internaional. Licenierea se refer doar la", + "ct i internaional. Licenierea se refer doar la distri-", TEXT_STYLE_NORMAL }, { 8, 19, - "distribuirea sistemului ReactOS ctre pri tere.", + "buirea sistemului ReactOS ctre pri tere.", TEXT_STYLE_NORMAL }, { @@ -413,7 +413,7 @@ static MUI_ENTRY roRODevicePageEntries[] = { 6, 8, - "Configurarea dispozitivelor de baz.", + "Configurare dispozitive de baz", TEXT_STYLE_NORMAL }, { @@ -478,13 +478,13 @@ static MUI_ENTRY roRODevicePageEntries[] = { 6, 24, - "selectai \"Accept configuraia dispozitivelor\", apoi", + "selectai \"Accept configuraia dispozitivelor\", apoi confirmai", TEXT_STYLE_NORMAL }, { 6, 25, - "confirmai-o apsnd ENTER.", + "apsnd ENTER.", TEXT_STYLE_NORMAL }, { @@ -575,7 +575,7 @@ static MUI_ENTRY roROComputerPageEntries[] = { 6, 8, - "Dorii specificarea arhitecturii de calcul?", + "Dorii specificarea unei alte arhitecturi de calcul?", TEXT_STYLE_NORMAL }, { @@ -627,19 +627,19 @@ static MUI_ENTRY roROFlushPageEntries[] = { 10, 6, - "Verificarea stocrii datelor necesare.", + "Se verific stocarea datelor necesare.", TEXT_STYLE_NORMAL }, { 10, 8, - "La final, calculatorul va fi repornit automat.", + "Aceasta poate dura cteva momente.", TEXT_STYLE_NORMAL }, { 10, 9, - "Ateptai...", + "La final, calculatorul va fi repornit automat.", TEXT_STYLE_NORMAL }, { @@ -679,7 +679,7 @@ static MUI_ENTRY roROQuitPageEntries[] = { 10, 9, - "i toate CD-ROM din unitile CD.", + "i toate mediile CD-ROM din unitile CD.", TEXT_STYLE_NORMAL }, { @@ -770,13 +770,13 @@ static MUI_ENTRY roROSuccessPageEntries[] = { 10, 8, - "Scoatei discul flexibil din unitatea A: i toate CD-ROM", + "Scoatei discul flexibil din unitatea A: i toate mediile", TEXT_STYLE_NORMAL }, { 10, 9, - "din unitile CD.", + "CD-ROM din unitile CD.", TEXT_STYLE_NORMAL }, { @@ -857,13 +857,13 @@ static MUI_ENTRY roROSelectPartitionEntries[] = { 6, 8, - "Urmtoarea list cuprinde partiiile existente precum", + "Urmtoarea list cuprinde partiiile existente, precum i", TEXT_STYLE_NORMAL }, { 6, 9, - "i spaiul nefolosit pentru crearea de noi partiii.", + "spaiul liber disponibil pentru crearea de noi partiii.", TEXT_STYLE_NORMAL }, { @@ -1041,7 +1041,7 @@ static MUI_ENTRY roROBootLoaderEntries[] = { 6, 8, - "Instalarea aplicaiei de iniializare a calculatorului", + "Instalare aplicaie de iniializare a calculatorului", TEXT_STYLE_NORMAL }, { @@ -1198,7 +1198,7 @@ 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 }, { @@ -1529,7 +1529,7 @@ MUI_ERROR roROErrorEntries[] = { //ERROR_CABINET_SECTION, "Nu se poate gsi seciunea de directoare\n" - "n fiierul cabinet.", + "n fiierul cabinet.", "ENTER = Repornire calculator" }, { @@ -1540,7 +1540,7 @@ MUI_ERROR roROErrorEntries[] = { //ERROR_FIND_SETUPDATA, "Nu se poate gsi seciunea pentru date de\n" - "instalare din fiierul TXTSETUP.SIF.", + "instalare din fiierul TXTSETUP.SIF.", "ENTER = Repornire calculator" }, { @@ -1561,7 +1561,7 @@ MUI_ERROR roROErrorEntries[] = { //ERROR_ADDING_KBLAYOUTS, "A euat includerea n registre a configuraiei\n" - "de tastatur.", + "de tastatur.", "ENTER = Repornire calculator" }, { @@ -1572,7 +1572,7 @@ MUI_ERROR roROErrorEntries[] = { //ERROR_INSUFFICIENT_DISKSPACE, "Pe partiia selectat nu exist suficient\n" - "spaiu liber." + "spaiu liber." " * Tastai pentru a continua.", NULL }, @@ -1589,19 +1589,6 @@ MUI_ERROR roROErrorEntries[] = "\n" " * Tastai pentru a continua." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "Nu se poate crea o partiie dup o partiie extins.\n" - "\n" - " * Tastai pentru a continua." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "O partiie extins trebuie s fie ntotdeauna\n" - "ultima partiie din tabela de partiii.\n" - "\n" - " * Tastai pentru a continua." - }, { NULL, NULL @@ -1715,7 +1702,7 @@ MUI_STRING roROStrings[] = {STRING_INSTALLCREATEPARTITION, " ENTER = Instalare P/E = Creare partiie Primar/Extins F3 = Ieire"}, {STRING_INSTALLCREATELOGICAL, - " ENTER = Install L = Create Logical Partition F3 = Quit"}, + " ENTER = Instalare L = Creare partiie Logic F3 = Ieire"}, {STRING_INSTALLDELETEPARTITION, " ENTER = Instalare D = tergere partiie F3 = Ieire"}, {STRING_DELETEPARTITION, @@ -1733,7 +1720,7 @@ MUI_STRING roROStrings[] = {STRING_CREATEPARTITION, " ENTER = Creare partiie ESC = Anulare F3 = Ieire"}, {STRING_PARTFORMAT, - "Aceast Partiie urmeaz s fie formatat."}, + "Aceast partiie urmeaz s fie formatat."}, {STRING_NONFORMATTEDPART, "Alegei s instalai ReactOS pe partiie nou sau neformatat."}, {STRING_INSTALLONPART, diff --git a/base/setup/usetup/lang/ru-RU.h b/base/setup/usetup/lang/ru-RU.h index d8385038bd2..87d976e2e8e 100644 --- a/base/setup/usetup/lang/ru-RU.h +++ b/base/setup/usetup/lang/ru-RU.h @@ -1513,19 +1513,6 @@ MUI_ERROR ruRUErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/sk-SK.h b/base/setup/usetup/lang/sk-SK.h index 1373b270101..f2213cbd1b0 100644 --- a/base/setup/usetup/lang/sk-SK.h +++ b/base/setup/usetup/lang/sk-SK.h @@ -1523,19 +1523,6 @@ MUI_ERROR skSKErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/sq-AL.h b/base/setup/usetup/lang/sq-AL.h index 906fd89e5f7..4dbd396218a 100644 --- a/base/setup/usetup/lang/sq-AL.h +++ b/base/setup/usetup/lang/sq-AL.h @@ -1516,19 +1516,6 @@ MUI_ERROR sqALErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/sv-SE.h b/base/setup/usetup/lang/sv-SE.h index c9101b628a8..d763b603f27 100644 --- a/base/setup/usetup/lang/sv-SE.h +++ b/base/setup/usetup/lang/sv-SE.h @@ -1519,19 +1519,6 @@ MUI_ERROR svSEErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/lang/tr-TR.h b/base/setup/usetup/lang/tr-TR.h index 5488f830a15..0c6fb8d1173 100644 --- a/base/setup/usetup/lang/tr-TR.h +++ b/base/setup/usetup/lang/tr-TR.h @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ #pragma once @@ -1499,19 +1499,6 @@ MUI_ERROR trTRErrorEntries[] = "\n" " * Srdrmek iin bir dmeye basnz." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "Bir geniletilmi blm arkasnda bir blm oluturamazsnz.\n" - "\n" - " * Srdrmek iin bir dmeye basnz." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "Bir geniletilmi blm, her zaman bir blm\n" - "tablosunda son blm olmaldr.\n" - "\n" - " * Srdrmek iin bir dmeye basnz." - }, { NULL, NULL @@ -1693,27 +1680,27 @@ MUI_STRING trTRStrings[] = {STRING_KEEPFORMAT, " imdiki ktk dizgesini koru. (Deiiklik yok.) "}, {STRING_HDINFOPARTCREATE, - "%I64u %s Sbit Disk %lu (Giri=%hu, Veri Yolu=%hu, Kimlik=%hu), %wZ zerinde."}, + "%I64u %s Sbit Disk %lu (Giri=%hu, Veriyolu=%hu, Kimlik=%hu), %wZ zerinde."}, {STRING_HDDINFOUNK1, - "%I64u %s Sbit Disk %lu (Giri=%hu, Veri Yolu=%hu, Kimlik=%hu)."}, + "%I64u %s Sbit Disk %lu (Giri=%hu, Veriyolu=%hu, Kimlik=%hu)."}, {STRING_HDDINFOUNK2, " %c%c Tr %lu %I64u %s"}, {STRING_HDINFOPARTDELETE, - "zerinde: %I64u %s Sbit Disk %lu (Giri=%hu, Veri Yolu=%hu, Kimlik=%hu), %wZ zerinde."}, + "zerinde: %I64u %s Sbit Disk %lu (Giri=%hu, Veriyolu=%hu, Kimlik=%hu), %wZ zerinde."}, {STRING_HDDINFOUNK3, - "zerinde: %I64u %s Sbit Disk %lu (Giri=%hu, Veri Yolu=%hu, Kimlik=%hu)."}, + "zerinde: %I64u %s Sbit Disk %lu (Giri=%hu, Veriyolu=%hu, Kimlik=%hu)."}, {STRING_HDINFOPARTZEROED, - "Sbit Disk %lu (%I64u %s), Giri=%hu, Veri Yolu=%hu, Kimlik=%hu (%wZ)."}, + "Sbit Disk %lu (%I64u %s), Giri=%hu, Veriyolu=%hu, Kimlik=%hu (%wZ)."}, {STRING_HDDINFOUNK4, "%c%c Tr %lu %I64u %s"}, {STRING_HDINFOPARTEXISTS, - "zerinde: Sbit Disk %lu (%I64u %s), Giri=%hu, Veri Yolu=%hu, Kimlik=%hu (%wZ)."}, + "zerinde: Sbit Disk %lu (%I64u %s), Giri=%hu, Veriyolu=%hu, Kimlik=%hu (%wZ)."}, {STRING_HDDINFOUNK5, "%c%c %sTr %-3u%s %6lu %s"}, {STRING_HDINFOPARTSELECT, - "%6lu %s Sbit Disk %lu (Giri=%hu, Veri Yolu=%hu, Kimlik=%hu), %S zerinde"}, + "%6lu %s Sbit Disk %lu (Giri=%hu, Veriyolu=%hu, Kimlik=%hu), %S zerinde"}, {STRING_HDDINFOUNK6, - "%6lu %s Sbit Disk %lu (Giri=%hu, Veri Yolu=%hu, Kimlik=%hu)"}, + "%6lu %s Sbit Disk %lu (Giri=%hu, Veriyolu=%hu, Kimlik=%hu)"}, {STRING_NEWPARTITION, "Kur, zerinde bir yeni blm oluturdu:"}, {STRING_UNPSPACE, diff --git a/base/setup/usetup/lang/uk-UA.h b/base/setup/usetup/lang/uk-UA.h index aa723b0308b..517736faeb4 100644 --- a/base/setup/usetup/lang/uk-UA.h +++ b/base/setup/usetup/lang/uk-UA.h @@ -1519,19 +1519,6 @@ MUI_ERROR ukUAErrorEntries[] = "\n" " * Press any key to continue." }, - { - //ERROR_NOT_BEHIND_EXTENDED, - "You can not create a partition behind an extended partition.\n" - "\n" - " * Press any key to continue." - }, - { - //ERROR_EXTENDED_NOT_LAST, - "An extended partition must always be the last\n" - "partition in a partition table.\n" - "\n" - " * Press any key to continue." - }, { NULL, NULL diff --git a/base/setup/usetup/muilanguages.h b/base/setup/usetup/muilanguages.h index c2c4ea04895..259e53e8085 100644 --- a/base/setup/usetup/muilanguages.h +++ b/base/setup/usetup/muilanguages.h @@ -62,6 +62,12 @@ #ifdef LANGUAGE_BG_BG #include "lang/bg-BG.h" #endif +#ifdef LANGUAGE_BN_BD + #include "lang/bn-BD.h" +#endif +#ifdef LANGUAGE_BN_IN + #include "lang/bn-IN.h" +#endif #ifdef LANGUAGE_CA_ES #include "lang/ca-ES.h" #endif @@ -477,6 +483,12 @@ const MUI_LANGUAGE LanguageList[] = #ifdef LANGUAGE_BE_BY {L"00000423", L"1251", L"866", L"10007", L"Belarusian", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, beBYLayouts }, #endif +#ifdef LANGUAGE_BN_BD + {L"00000845", L"0", L"1", L"2", L"Bengali (Bangladesh)", L"1", bnBDPages, bnBDErrorEntries, bnBDStrings, UnicodeFonts, bnBDLayouts }, +#endif +#ifdef LANGUAGE_BN_IN + {L"00000445", L"0", L"1", L"2", L"Bengali (India)", L"1", bnBDPages, bnBDErrorEntries, bnBDStrings, UnicodeFonts, bnINLayouts }, +#endif #ifdef LANGUAGE_BG_BG {L"00000402", L"1251", L"866", L"10007", L"Bulgarian", L"359", bgBGPages, bgBGErrorEntries, bgBGStrings, CyrillicFonts, bgBGLayouts }, #endif diff --git a/base/setup/usetup/partlist.c b/base/setup/usetup/partlist.c index 0e28213e995..6f8cd09c53e 100644 --- a/base/setup/usetup/partlist.c +++ b/base/setup/usetup/partlist.c @@ -47,7 +47,7 @@ DumpPartitionTable( for (i = 0; i < DiskEntry->LayoutBuffer->PartitionCount; i++) { PartitionInfo = &DiskEntry->LayoutBuffer->PartitionEntry[i]; - DbgPrint("%lu: %12I64u %12I64u %10lu %2lu %2x %c %c\n", + DPRINT("\n%lu: %12I64u %12I64u %10lu %2lu %2x %c %c\n", i, PartitionInfo->StartingOffset.QuadPart, PartitionInfo->PartitionLength.QuadPart, @@ -638,7 +638,7 @@ ScanForUnpartitionedDiskSpace( PPARTENTRY NewPartEntry; PLIST_ENTRY Entry; - DPRINT1("ScanForUnpartitionedDiskSpace()\n"); + DPRINT("ScanForUnpartitionedDiskSpace()\n"); if (IsListEmpty(&DiskEntry->PrimaryPartListHead)) { @@ -741,9 +741,9 @@ DPRINT1("Total Sectors: %I64u\n", NewPartEntry->SectorCount.QuadPart); NewPartEntry->StartSector.QuadPart = LastStartSector + LastSectorCount; NewPartEntry->SectorCount.QuadPart = Align(NewPartEntry->StartSector.QuadPart + LastUnusedSectorCount, DiskEntry->SectorAlignment) - NewPartEntry->StartSector.QuadPart; -DPRINT1("First Sector: %I64u\n", NewPartEntry->StartSector.QuadPart); -DPRINT1("Last Sector: %I64u\n", NewPartEntry->StartSector.QuadPart + NewPartEntry->SectorCount.QuadPart - 1); -DPRINT1("Total Sectors: %I64u\n", NewPartEntry->SectorCount.QuadPart); + DPRINT("First Sector: %I64u\n", NewPartEntry->StartSector.QuadPart); + DPRINT("Last Sector: %I64u\n", NewPartEntry->StartSector.QuadPart + NewPartEntry->SectorCount.QuadPart - 1); + DPRINT("Total Sectors: %I64u\n", NewPartEntry->SectorCount.QuadPart); NewPartEntry->FormatState = Unformatted; @@ -819,9 +819,9 @@ DPRINT1("Total Sectors: %I64u\n", NewPartEntry->SectorCount.QuadPart); NewPartEntry->StartSector.QuadPart = LastStartSector + LastSectorCount; NewPartEntry->SectorCount.QuadPart = Align(NewPartEntry->StartSector.QuadPart + LastUnusedSectorCount, DiskEntry->SectorAlignment) - NewPartEntry->StartSector.QuadPart; -DPRINT1("First Sector: %I64u\n", NewPartEntry->StartSector.QuadPart); -DPRINT1("Last Sector: %I64u\n", NewPartEntry->StartSector.QuadPart + NewPartEntry->SectorCount.QuadPart - 1); -DPRINT1("Total Sectors: %I64u\n", NewPartEntry->SectorCount.QuadPart); + DPRINT("First Sector: %I64u\n", NewPartEntry->StartSector.QuadPart); + DPRINT("Last Sector: %I64u\n", NewPartEntry->StartSector.QuadPart + NewPartEntry->SectorCount.QuadPart - 1); + DPRINT("Total Sectors: %I64u\n", NewPartEntry->SectorCount.QuadPart); NewPartEntry->FormatState = Unformatted; @@ -859,9 +859,9 @@ DPRINT1("Total Sectors: %I64u\n", NewPartEntry->SectorCount.QuadPart); NewPartEntry->StartSector.QuadPart = LastStartSector + LastSectorCount; NewPartEntry->SectorCount.QuadPart = Align(NewPartEntry->StartSector.QuadPart + LastUnusedSectorCount, DiskEntry->SectorAlignment) - NewPartEntry->StartSector.QuadPart; -DPRINT1("First Sector: %I64u\n", NewPartEntry->StartSector.QuadPart); -DPRINT1("Last Sector: %I64u\n", NewPartEntry->StartSector.QuadPart + NewPartEntry->SectorCount.QuadPart - 1); -DPRINT1("Total Sectors: %I64u\n", NewPartEntry->SectorCount.QuadPart); + DPRINT("First Sector: %I64u\n", NewPartEntry->StartSector.QuadPart); + DPRINT("Last Sector: %I64u\n", NewPartEntry->StartSector.QuadPart + NewPartEntry->SectorCount.QuadPart - 1); + DPRINT("Total Sectors: %I64u\n", NewPartEntry->SectorCount.QuadPart); NewPartEntry->FormatState = Unformatted; @@ -872,7 +872,7 @@ DPRINT1("Total Sectors: %I64u\n", NewPartEntry->SectorCount.QuadPart); } } - DPRINT1("ScanForUnpartitionedDiskSpace() done\n"); + DPRINT("ScanForUnpartitionedDiskSpace() done\n"); } @@ -1132,8 +1132,8 @@ AddDiskToList( DiskEntry->SectorAlignment = DiskGeometry.SectorsPerTrack; - DPRINT1("SectorCount %I64u\n", DiskEntry->SectorCount); - DPRINT1("SectorAlignment %lu\n", DiskEntry->SectorAlignment); + DPRINT("SectorCount %I64u\n", DiskEntry->SectorCount); + DPRINT("SectorAlignment %lu\n", DiskEntry->SectorAlignment); DiskEntry->DiskNumber = DiskNumber; DiskEntry->Port = ScsiAddress.PortNumber; @@ -1145,7 +1145,7 @@ AddDiskToList( InsertAscendingList(&List->DiskListHead, DiskEntry, DISKENTRY, ListEntry, DiskNumber); /* - * Allocate a buffer for 26 logical drives (2 entries each == 52) + * Allocate a buffer for 26 logical drives (2 entries each == 52) * plus the main partiton table (4 entries). Total 56 entries. */ LayoutBufferSize = sizeof(DRIVE_LAYOUT_INFORMATION) + @@ -1180,7 +1180,7 @@ AddDiskToList( { if ((DiskEntry->LayoutBuffer->PartitionEntry[0].StartingOffset.QuadPart / DiskEntry->BytesPerSector) % DiskEntry->SectorsPerTrack == 0) { - DPRINT1("Use %lu Sector alignment!\n", DiskEntry->SectorsPerTrack); + DPRINT("Use %lu Sector alignment!\n", DiskEntry->SectorsPerTrack); } else if (DiskEntry->LayoutBuffer->PartitionEntry[0].StartingOffset.QuadPart % 1048756 == 0) { @@ -2054,7 +2054,8 @@ ScrollDownPartitionList( { /* Primary or extended partition */ - if (IsContainerPartition(List->CurrentPartition->PartitionType)) + if (List->CurrentPartition->IsPartitioned == TRUE && + IsContainerPartition(List->CurrentPartition->PartitionType)) { /* First logical partition */ PartListEntry = List->CurrentDisk->LogicalPartListHead.Flink; @@ -2147,7 +2148,8 @@ ScrollUpPartitionList( { PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); - if (IsContainerPartition(PartEntry->PartitionType)) + if (PartEntry->IsPartitioned == TRUE && + IsContainerPartition(PartEntry->PartitionType)) { PartListEntry = List->CurrentDisk->LogicalPartListHead.Blink; PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); @@ -2171,7 +2173,8 @@ ScrollUpPartitionList( { PartEntry = CONTAINING_RECORD(PartListEntry, PARTENTRY, ListEntry); - if (IsContainerPartition(PartEntry->PartitionType)) + if (PartEntry->IsPartitioned == TRUE && + IsContainerPartition(PartEntry->PartitionType)) { PartListEntry = DiskEntry->LogicalPartListHead.Blink; if (PartListEntry != &DiskEntry->LogicalPartListHead) @@ -2697,6 +2700,7 @@ DeleteCurrentPartition( { /* Nothing to merge but change current entry */ PartEntry->IsPartitioned = FALSE; + PartEntry->PartitionType = PARTITION_ENTRY_UNUSED; PartEntry->FormatState = Unformatted; PartEntry->DriveLetter = 0; } @@ -2999,41 +3003,6 @@ SetMountedDeviceValues( } -static -BOOLEAN -IsLastPrimaryPartiton( - IN PPARTENTRY PartEntry) -{ - return (PartEntry->ListEntry.Flink == &PartEntry->DiskEntry->PrimaryPartListHead); -} - - -static -BOOLEAN -IsPreviousPartitionExtended( - IN PPARTENTRY PartEntry, - IN PDISKENTRY DiskEntry) -{ - PPARTENTRY PrevPartEntry; - PLIST_ENTRY Entry; - - Entry = PartEntry->ListEntry.Blink; - - while (Entry != &DiskEntry->PrimaryPartListHead) - { - PrevPartEntry = CONTAINING_RECORD(Entry, PARTENTRY, ListEntry); - - if (IsContainerPartition(PrevPartEntry->PartitionType)) - return TRUE; - - Entry = Entry->Blink; - } - - return FALSE; - -} - - static ULONG GetPrimaryPartitionCount( @@ -3075,10 +3044,6 @@ PrimaryPartitionCreationChecks( if (GetPrimaryPartitionCount(DiskEntry) > 4) return ERROR_PARTITION_TABLE_FULL; - /* Fail if this partiton is located behind an extended partition */ - if (IsPreviousPartitionExtended(PartEntry, DiskEntry)) - return ERROR_NOT_BEHIND_EXTENDED; - return ERROR_SUCCESS; } @@ -3105,10 +3070,6 @@ ExtendedPartitionCreationChecks( if (DiskEntry->ExtendedPartition != NULL) return ERROR_ONLY_ONE_EXTENDED; - /* Fail if the partition is not the last list entry */ - if (!IsLastPrimaryPartiton(PartEntry)) - return ERROR_EXTENDED_NOT_LAST; - return ERROR_SUCCESS; } diff --git a/base/setup/vmwinst/lang/ro-RO.rc b/base/setup/vmwinst/lang/ro-RO.rc index f44a31b1164..6c093543b3c 100644 --- a/base/setup/vmwinst/lang/ro-RO.rc +++ b/base/setup/vmwinst/lang/ro-RO.rc @@ -11,7 +11,7 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Asistent 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 + LTEXT "Asistentul de instalare a descoperit faptul că ReactOS este executat în VMware(r).", -1, 117, 8, 140, 24 LTEXT "Dacă doriți instalarea modulelor pilot VMware(r) SVGA, apăsați pe „Înainte”, altfel omiteți această instalare apăsând „Anulează”.", -1, 117, 130, 140, 34 END @@ -20,7 +20,7 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Asistent 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 + LTEXT "Asistentul de instalare 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 END IDD_INSTALLING_VMWARE_TOOLS DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT @@ -58,7 +58,7 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Asistent 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 „Sfârșit” pentru a reveni la instalarea ReactOS.", -1, 25, 25, 225, 85 + LTEXT "Asistentul de instalare 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 @@ -67,9 +67,9 @@ CAPTION "Asistent 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 + 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 asistent.", -1, 25, 93, 225, 19 END @@ -89,14 +89,14 @@ STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "Asistent 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 „Sfârșit” pentru a dezinstala modulul pilot sau „Anulează” pentru a-l lăsa așa cum este.", -1, 25, 25, 225, 85 + LTEXT "Asistentul de instalare 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 BEGIN IDS_WIZARD_NAME "VMware(r) depistat" - IDS_FAILEDTOLOCATEDRIVERS "Instalatorul ReactOS Setup nu a reușit găsirea fișierelor necesare.\nVerificați dacă este introdus suportul CD-ROM cu instrumentele VMware(r)." - IDS_FAILEDTOCOPYFILES "Instalatorul ReactOS nu a reușit să copieze fișierele necesare.\nVerificați dacă este introdus suportul CD-ROM cu instrumentele VMware(r).\n" + IDS_FAILEDTOLOCATEDRIVERS "Asistentul de instalare nu a reușit găsirea fișierelor necesare.\nVerificați dacă este introdus suportul CD-ROM cu instrumentele VMware(r)." + IDS_FAILEDTOCOPYFILES "Asistentul de instalare nu a reușit să copieze fișierele necesare.\nVerificați dacă este introdus suportul CD-ROM cu instrumentele VMware(r).\n" IDS_FAILEDTOACTIVATEDRIVER "Activarea modulului pilot VMware(r) SVGA a eșuat!" IDS_FAILEDTOSELVGADRIVER "Activarea modulului pilot VMware(r) VGA a eșuat!" IDS_FAILEDTOSELVBEDRIVER "Activarea modulului pilot VMware(r) VBE a eșuat!" @@ -113,9 +113,9 @@ END STRINGTABLE BEGIN - IDS_SEARCHINGFORCDROM "Accesarea suportului CD-ROM cu instrumentele VMware(r)…" + IDS_SEARCHINGFORCDROM "Se accesează suportul CD-ROM cu instrumentele VMware(r)…" IDS_COPYINGFILES "Se copie fișierele…" - IDS_ENABLINGDRIVER "Activarea modulului pilot VMware(r) SVGA…" + IDS_ENABLINGDRIVER "Se activează modulul pilot VMware(r) SVGA…" END STRINGTABLE diff --git a/base/setup/vmwinst/lang/tr-TR.rc b/base/setup/vmwinst/lang/tr-TR.rc index 4bbf06b54cd..241be142c9e 100644 --- a/base/setup/vmwinst/lang/tr-TR.rc +++ b/base/setup/vmwinst/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/setup/welcome/lang/da-DK.rc b/base/setup/welcome/lang/da-DK.rc index b78cff4cc07..237dbf419aa 100644 --- a/base/setup/welcome/lang/da-DK.rc +++ b/base/setup/welcome/lang/da-DK.rc @@ -7,7 +7,7 @@ STRINGTABLE BEGIN IDS_APPTITLE "ReactOS - Velkommen" IDS_DEFAULTTOPICTITLE "ReactOS" - IDS_DEFAULTTOPICDESC "Velkommen til ReactOs operativ System.\n\nKlik på et emne til venstre." + IDS_DEFAULTTOPICDESC "Velkommen til ReactOS operativ System.\n\nKlik på et emne til venstre." // IDS_CHECKTEXT "Vis denne dialog igen ved opstart" // IDS_CLOSETEXT "Afslut" END @@ -46,7 +46,7 @@ END STRINGTABLE BEGIN IDS_TOPICDESC0 "Opret en ny ReactOS installation på din computer eller opgradere en eksisterende installation." - IDS_TOPICDESC1 "Gennemse Reactos Installations Cdrom" + IDS_TOPICDESC1 "Gennemse ReactOS Installations Cdrom" IDS_TOPICDESC2 "Klik på Afslut for at lukke." // IDS_TOPICDESC3 "Topic description 3.\n\nDescribe topic 3 here." // IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here." diff --git a/base/setup/welcome/lang/tr-TR.rc b/base/setup/welcome/lang/tr-TR.rc index abde0ea6344..211cc08e17f 100644 --- a/base/setup/welcome/lang/tr-TR.rc +++ b/base/setup/welcome/lang/tr-TR.rc @@ -1,4 +1,4 @@ -/* TRANSLATOR: 2013 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ +/* TRANSLATOR: 2013, 2014 Erdem Ersoy (eersoy93) (erdemersoy@live.com) */ LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT diff --git a/base/shell/CMakeLists.txt b/base/shell/CMakeLists.txt index dc06a56fcda..87e5a37b335 100644 --- a/base/shell/CMakeLists.txt +++ b/base/shell/CMakeLists.txt @@ -1,4 +1,6 @@ add_subdirectory(cmd) add_subdirectory(explorer) -add_subdirectory(explorer-new) +add_subdirectory(explorer-old) +add_subdirectory(filebrowser) +add_subdirectory(rshell) diff --git a/base/shell/cmd/copy.c b/base/shell/cmd/copy.c index c5c127f573b..cc72cd8c2d8 100644 --- a/base/shell/cmd/copy.c +++ b/base/shell/cmd/copy.c @@ -136,6 +136,7 @@ copy(TCHAR source[MAX_PATH], _tcscat(TempSrc,_T(".decrypt")); if (!CopyFileEx(source, TempSrc, NULL, NULL, FALSE, COPY_FILE_ALLOW_DECRYPTED_DESTINATION)) { + CloseHandle (hFileSrc); nErrorLevel = 1; return 0; } @@ -766,6 +767,7 @@ INT cmd_copy(LPTSTR param) /* Check Breaker */ if (CheckCtrlBreak(BREAK_INPUT)) { + FindClose(hFile); freep(arg); return 1; } @@ -789,6 +791,7 @@ INT cmd_copy(LPTSTR param) if (_tcscmp(tmpDestPath, _T("\\\\.\\")) && !IsExistingDirectory(tmpDestPath)) { + FindClose(hFile); ConOutFormatMessage(GetLastError(), szSrcPath); freep(arg); nErrorLevel = 1; diff --git a/base/shell/cmd/filecomp.c b/base/shell/cmd/filecomp.c index f5b6ac67f23..adacf9092fb 100644 --- a/base/shell/cmd/filecomp.c +++ b/base/shell/cmd/filecomp.c @@ -556,7 +556,7 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor) /* Used to find and assemble the string that is returned */ TCHAR szBaseWord[MAX_PATH]; TCHAR szPrefix[MAX_PATH]; - TCHAR szOrginal[MAX_PATH]; + TCHAR szOriginal[MAX_PATH]; TCHAR szSearchPath[MAX_PATH]; /* Save the strings used last time, so if they hit tab again */ static TCHAR LastReturned[MAX_PATH]; @@ -586,9 +586,9 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor) if (!_tcsnicmp (line, _T("rd "), 3) || !_tcsnicmp (line, _T("cd "), 3)) ShowAll = FALSE; - /* Copy the string, str can be edited and orginal should not be */ + /* Copy the string, str can be edited and original should not be */ _tcscpy(str,strIN); - _tcscpy(szOrginal,strIN); + _tcscpy(szOriginal,strIN); /* Look to see if the cusor is not at the end of the string */ if ((cusor + 1) < _tcslen(str)) @@ -656,8 +656,8 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor) hFile = FindFirstFile (szSearchPath, &file); if (hFile == INVALID_HANDLE_VALUE) { - /* Assemble the orginal string and return */ - _tcscpy(strOut,szOrginal); + /* Assemble the original string and return */ + _tcscpy(strOut,szOriginal); return; } @@ -685,8 +685,8 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor) { /* Don't leak old buffer */ cmd_free(oldFileList); - /* Assemble the orginal string and return */ - _tcscpy(strOut,szOrginal); + /* Assemble the original string and return */ + _tcscpy(strOut,szOriginal); FindClose(hFile); ConOutFormatMessage (GetLastError()); return; @@ -698,11 +698,10 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor) FindClose(hFile); - /* Check the size of the list to see if we - found any matches */ + /* Check the size of the list to see if we found any matches */ if (FileListSize == 0) { - _tcscpy(strOut,szOrginal); + _tcscpy(strOut,szOriginal); if (FileList != NULL) cmd_free(FileList); return; @@ -712,7 +711,7 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor) qsort(FileList,FileListSize,sizeof(FileName), compare); /* Find the next/previous */ - if (!_tcscmp(szOrginal,LastReturned)) + if (_tcslen(szOriginal) && !_tcscmp(szOriginal,LastReturned)) { if (bNext) { @@ -734,8 +733,7 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor) Sel = 0; } - /* nothing found that matched last time - so return the first thing in the list */ + /* nothing found that matched last time so return the first thing in the list */ strOut[0] = _T('\0'); /* Special character in the name */ @@ -792,7 +790,7 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor) } } - if (szPrefix[_tcslen(szPrefix) - 1] == _T('\"') || NeededQuote) + if (NeededQuote || (_tcslen(szPrefix) && szPrefix[_tcslen(szPrefix) - 1] == _T('\"'))) _tcscat(strOut,_T("\"")); _tcscpy(LastReturned,strOut); diff --git a/base/shell/cmd/internal.c b/base/shell/cmd/internal.c index 925f2c3b46d..14245d6572b 100644 --- a/base/shell/cmd/internal.c +++ b/base/shell/cmd/internal.c @@ -382,7 +382,10 @@ BOOL DeleteFolder(LPTSTR FileName) { SetFileAttributes(TempFileName,FILE_ATTRIBUTE_NORMAL); if (!DeleteFile(TempFileName)) + { + FindClose (hFile); return 0; + } } }while (FindNextFile (hFile, &f)); diff --git a/base/shell/cmd/lang/no-NO.rc b/base/shell/cmd/lang/no-NO.rc index c189bd61383..d9c4b1398cc 100644 --- a/base/shell/cmd/lang/no-NO.rc +++ b/base/shell/cmd/lang/no-NO.rc @@ -411,7 +411,7 @@ VERIFY [ON | OFF]\n\n\ Skriv VERIFY uten parametre for å vise gjeldende VERIFY innstillinger.\n" STRING_VERIFY_HELP2 "VERIFY er %s.\n" STRING_VERIFY_HELP3 "Må spesifisere ON eller OFF." - STRING_VERSION_HELP1 "Vis Reactos versjonen\n\n\ + STRING_VERSION_HELP1 "Vis ReactOS versjonen\n\n\ VER [/C][/R][/W]\n\n\ /C Vis anerkjennelse.\n\ /R Vis videreformidlingsinformasjon.\n\ diff --git a/base/shell/cmd/lang/ru-RU.rc b/base/shell/cmd/lang/ru-RU.rc index 3acd352ff67..8daa10f8997 100644 --- a/base/shell/cmd/lang/ru-RU.rc +++ b/base/shell/cmd/lang/ru-RU.rc @@ -1,4 +1,4 @@ -/* Russian translation by Andrey Korotaev (unC0Rr@inbox.ru) & Aleksey Bragin (aleksey@reactos.org) */ +/* Russian translation by Andrey Korotaev (unC0Rr@inbox.ru) & Aleksey Bragin (aleksey@reactos.org) & Kudratov Olimjon (olim98@bk.ru)*/ LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT @@ -21,9 +21,9 @@ ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] файл ...\n\ S Атрибут ""Системный"".\n\ H Атрибут ""Скрытый"".\n\ /S Обработка файлов с указанными именами в текущей папке\n\ -и во всех ее подпапках.\n\ + и во всех ее подпапках.\n\ /D Обработка и файлов, и папок.\n\n\ -ATTRIB без параметров выводит атрибуты всех файлов.\n" +Команда ATTRIB без параметров выводит атрибуты всех файлов.\n" STRING_ALIAS_HELP "Вывод, установка или удаление псевдонимов.\n\n\ ALIAS [псевдоним=[команда]]\n\n\ псевдоним Наименование псевдонима.\n\ @@ -75,7 +75,7 @@ CMD [/[C|K] команда][/P][/Q][/T:bf]\n\n\ /K команда Выполнение указанной команды без последующего завершения.\n\ /P CMD становится перманентным и запускает autoexec.bat\n\ (процесс неможет быть завершен).\n\ - /T:цв Выбор цвета текста/фона (более подробно см. COLOR /?).\n" + /T:bf Выбор цвета текста/фона (более подробно см. COLOR /?).\n" STRING_COLOR_HELP1 "Установка цветов по умолчанию для текста и фона.\n\n\ COLOR [цвета [/-F]] \n\n\ цвета Атрибуты цветов для текстовых окон\n\ @@ -85,22 +85,22 @@ COLOR [цвета [/-F]] \n\n\ 2) в виде десятичных чисел (decimal on decimal)\n\ 3) два шестнадцатеричных числа\n\n\ Таблица цветов:\n\ -дес. шест.название дес. шест.название\n\ - 0 0 = Черный 8 8 = Серый\n\ - 1 1 = Синий 9 9 = Светло-синий\n\ - 2 2 = Зеленый 10 A = Светло-зеленый\n\ - 3 3 = Голубой 11 B = Светло-голубой\n\ - 4 4 = Красный 12 C = Светло-красный\n\ - 5 5 = Лиловый 13 D = Светло-лиловый\n\ - 6 6 = Желтый 14 E = Светло-желтый\n\ - 7 7 = Белый 15 F = Ярко-белый\n" +дес шест название дес шест название\n\ + 0 0 Черный 8 8 Серый\n\ + 1 1 Синий 9 9 Светло-синий\n\ + 2 2 Зеленый 10 A Светло-зеленый\n\ + 3 3 Голубой 11 B Светло-голубой\n\ + 4 4 Красный 12 C Светло-красный\n\ + 5 5 Лиловый 13 D Светло-лиловый\n\ + 6 6 Желтый 14 E Светло-желтый\n\ + 7 7 Белый 15 F Ярко-белый\n" STRING_COPY_HELP1 "Перезаписать %s (Yes/No/All)? " STRING_COPY_HELP2 "Копирование одного или нескольких файлов в другое место.\n\n\ -COPY [/V][/Y|/-Y][/A|/B] источник [/A|/B]\n\ - [+ источник [/A|/B] [+ ...]] [результат [/A|/B]]\n\n\ +COPY [/V][/Y | /-Y] [/A | /B] источник [/A | /B]\n\ + [+ источник [/A | /B] [+ ...]] [результат [/A | /B]]]\n\n\ источник Имена одного или нескольких копируемых файлов.\n\ - /A Файл является текстовым файлом ASCII.\n\ - /B Файл является двоичным файлом.\n\ + /A Является текстовым ASCII файлом.\n\ + /B Является двоичным файлом.\n\ результат Каталог и/или имя для конечных файлов.\n\ /V Проверка правильности копирования файлов.\n\ /Y Подавление запроса подтверждения на перезапись существующего\n\ @@ -116,11 +116,11 @@ COPY [/V][/Y|/-Y][/A|/B] источник [/A|/B]\n\ DATE [/T][дата]\n\n\ /T Не запрашивать ввод новой даты\n\n\ Команда DATE без параметров отображает текущую дату и запрашивает ввод\n\ -новой даты. Для сохранения текущей даты нажмите клавишу ENTER.\n" +новой даты. Для сохранения текущей даты нажмите клавишу ENTER.\n" STRING_DEL_HELP1 "Удаление одного или нескольких файлов.\n\n\ -DEL [/N /P /T /Q /S /W /Y /Z /A[[:]атрибуты]] имена_файлов ...\n\ -DELETE [/N /P /T /Q /S /W /Y /Z /A[[:]атрибуты]] имена_файлов ...\n\ -ERASE [/N /P /T /Q /S /W /Y /Z /A[[:]атрибуты]] имена_файлов ...\n\n\ +DEL [/N] [/P] [/T] [/Q] [/S] [/W] [/Y] [/Z] [/A[[:]атрибуты]] имена_файлов ...\n\ +DELETE [/N] [/P] [/T] [/Q] [/S] [/W] [/Y] [/Z] [/A[[:]атрибуты]] имена_файлов ...\n\ +ERASE [/N] [/P] [/T] [/Q] [/S] [/W] [/Y] [/Z] [/A[[:]атрибуты]] имена_файлов ...\n\n\ имена_файлов Имена одного или нескольких файлов.\n\n\ /N Не выполнять непосредственно операцию удаления файла.\n\ /P Запрос на подтверждение перед удалением каждого файла.\n\ @@ -133,7 +133,7 @@ ERASE [/N /P /T /Q /S /W /Y /Z /A[[:]атрибуты]] имена_файлов /F Принудительное удаление файлов, доступных только для чтения.\n\ /S Удалять файл из всех поддиректорий\n\ /A Отбор файлов для удаления по атрибутам.\n\ - R Доступный только для чтения\n\ + R Доступные только для чтения\n\ S Системные файлы\n\ A Файлы для архивирования\n\ H Скрытые файлы\n\ @@ -146,64 +146,67 @@ DELAY [/m]n\n\n\ /m указывает, что n означает количество миллисекунд\n\ иначе n означает количество секунд\n" STRING_DIR_HELP1 "DIR [диск:][путь][имя_файла] [/A[[:]атрибуты]] [/B] [/C] [/D] [/L] [/N]\n\ - [/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]\n\n\ + [/O[[:]сортировка]] [/P] [/Q] [/S] [/T[[:]время]] [/W] [/X] [/4]\n\n\ [диск:][путь][имя_файла]\n\ Диск, каталог и/или файлы, которые следует включить в список.\n\n\ /A Вывод файлов с указанными атрибутами.\n\ - атрибуты D Каталоги R Доступные только для чтения\n\ - H Скрытые файлы A Файлы для архивирования\n\ - S Системные файлы Префикс ""-"" имеет значение НЕ\n\ - /B Вывод только имен файлов.\n\ - /C Применение разделителя групп разрядов для вывода размеров файлов\n\ - (по умолчанию). Для отключения этого режима служит ключ /-C.\n\ - /D Вывод списка в несколько столбцов с сортировкой по столбцам.\n\ - /L Использование нижнего регистра для имен файлов.\n\ - /N Отображение имен файлов в крайнем правом столбце.\n\ - /O Сортировка списка отображаемых файлов.\n\ - порядок N По имени (алфавитная) S По размеру (сперва меньшие)\n\ - E По расширению (алфавитная) D По дате (сперва более старые)\n\ - G Начать список с каталогов Префикс ""-"" обращает порядок\n\ - /P Пауза после заполнения каждого экрана.\n\ - /Q Вывод сведений о владельце файла.\n\ - /S Вывод списка файлов из указанного каталога и его подкаталогов.\n\ - /T Выбор поля времени для отображения и сортировки\n\ - время C Создание\n\ - A Последнее использование\n\ - W Последнее изменение\n\ - /W Вывод списка в несколько столбцов.\n\ - /X Отображение коротких имен для файлов, чьи имена не соответствуют\n\ - стандарту 8.3. Формат аналогичен выводу с ключом /N, но короткие\n\ - имена файлов выводятся слева от длинных. Если короткого имени у\n\ - файла нет, вместо него выводятся пробелы.\n\ - /4 Вывод номера года в четырехзначном формате\n" + атрибуты D Каталоги R Доступные только для чтения\n\ + H Скрытые файлы A Файлы для архивирования\n\ + S Системные файлы Префикс ""-"" имеет значение НЕ\n\ + /B Вывод только имен файлов.\n\ + /C Применение разделителя групп разрядов для вывода размеров файлов\n\ + (по умолчанию). Для отключения этого режима служит ключ /-C.\n\ + /D Вывод списка в несколько столбцов с сортировкой по столбцам.\n\ + /L Использование нижнего регистра для имен файлов.\n\ + /N Отображение имен файлов в крайнем правом столбце.\n\ + /O Сортировка списка отображаемых файлов.\n\ + сортировка N По имени (алфавитная) S По размеру (сперва меньшие)\n\ + E По расширению (алфавитная) D По дате (сперва более старые)\n\ + G Начать список с каталогов Префикс ""-"" обращает порядок\n\ + /P Пауза после заполнения каждого экрана.\n\ + /Q Вывод сведений о владельце файла.\n\ + /S Вывод списка файлов из указанного каталога и его подкаталогов.\n\ + /T Выбор поля времени для отображения и сортировки\n\ + время C Создание\n\ + A Последнее использование\n\ + W Последнее изменение\n\ + /W Вывод списка в несколько столбцов.\n\ + /X Отображение коротких имен для файлов, чьи имена не соответствуют\n\ + стандарту 8.3. Формат аналогичен выводу с ключом /N, но короткие\n\ + имена файлов выводятся слева от длинных. Если короткого имени у\n\ + файла нет, вместо него выводятся пробелы.\n\ + /4 Вывод года в четырехзначном формате\n" STRING_DIR_HELP2 " Том в устройстве %c имеет метку %s\n" STRING_DIR_HELP3 " Том в устройстве %c не имеет метки.\n" STRING_DIR_HELP4 " Серийный номер тома: %04X-%04X\n" - STRING_DIR_HELP5 "\n Всего:\n%16i Файл(ов)% 14s байт\n" - STRING_DIR_HELP6 "%16i Dir(s)% 15s байт свободно\n" - STRING_DIR_HELP7 "\n Каталог of %s\n\n" + STRING_DIR_HELP5 "\n Всего:\n%16i файл(ов)% 14s байт\n" + STRING_DIR_HELP6 "%16i каталог(ов)% 15s байт свободно\n" + STRING_DIR_HELP7 "\n каталог %s\n\n" STRING_DIR_HELP8 "%16i файл(ов)% 14s байт\n" STRING_DIRSTACK_HELP1 "Сохраняет текущую директорию для использования командой POPD, затем\n\ изменяет ее на указанную.\n\n\ -PUSHD [path | ..]\n\n\ - path Указывает директорию, которую надо сделать текущей\n" +PUSHD [путь | ..]\n\n\ + путь Каталог, который следует назначить текущим.\n" STRING_DIRSTACK_HELP2 "Изменяет текущую директорию на ту, которая сохранена командой PUSHD.\n\nPOPD" STRING_DIRSTACK_HELP3 "Печатает содержимое стека директорий.\n\nDIRS" STRING_DIRSTACK_HELP4 "Стек директорий пуст" STRING_ECHO_HELP1 "Выдает сообщение без перевода строки.\n\n\ - ECHOS message" + ECHOS сообщение" STRING_ECHO_HELP2 "Выдает сообщение в стандартный канал вывода ошибок.\n\n\ - ECHOERR message\n\ + ECHOERR сообщение\n\ ECHOERR. печатает пустую строку" STRING_ECHO_HELP3 "Печатает сообщение в стандартный канал вывода ошибок без перевода строки и возврата каретки.\n\n\ - ECHOSERR message" + ECHOSERR сообщение" STRING_ECHO_HELP4 "Вывод сообщений и переключение режима отображения команд на экране.\n\n\ ECHO [ON | OFF]\n\ ECHO [сообщение]\n\ ECHO. вывод пустой строки\n\n\ ECHO без параметра выводит текущий режим отображения команд." STRING_ECHO_HELP5 "ECHO is %s\n" - STRING_EXIT_HELP "Завершает интерпретатор команд.\n\nEXIT\n" + STRING_EXIT_HELP "Завершает работу интерпретатора командной строки.\n\nEXIT [/b] [ExitCode]\n\n\ + /B Завершает текущий пакетный файл. \n\ + Если выполняется вне пакетного файла, то будет завершена программа CMD.EXE\n\ + ExitCode Это значение будет присвоено ERRORLEVEL после выхода\n" STRING_FOR_HELP1 "Запускает указанную команду для каждого файла из набора файлов\n\n\ FOR %переменная IN (набор) DO команда [параметры]\n\n\ %переменная Подставляемый параметр.\n\ @@ -218,30 +221,30 @@ FOR %переменная IN (набор) DO команда [параметры] %16s байт общего дискового пространства\n\ %16s байт занято\n\ %16s байт свободно\n" - STRING_FREE_HELP2 "Выводит информацию о томе.\n\nFREE [drive: ...]\n" + STRING_FREE_HELP2 "Выводит информацию о томе.\n\nFREE [том: ...]\n" STRING_GOTO_HELP1 "Передача управления содержащей метку строке пакетного файла.\n\n\ GOTO метка\n\n\ - label Строка пакетного файла, оформленная как метка.\n\n\ + метка Строка пакетного файла, оформленная как метка.\n\n\ Метка должна находиться в отдельной строке и начинаться с двоеточия." STRING_IF_HELP1 "Оператор условного выполнения команд в пакетном файле.\n\n\ IF [NOT] ERRORLEVEL число команда\n\ IF [NOT] строка1==строка2 команда\n\ IF [NOT] EXIST имя_файла команда\n\ IF [NOT] DEFINED переменная команда\n\n\ - NOT Обращает истинность условия: истинное условие\n\ - становится ложным, а ложное - истинным.\n\ - ERRORLEVEL число Условие является истинным, если код возврата последней\n\ - выполненной программы не меньше указанного числа.\n\ - строка1==строка2 Это условие является истинным, если указанные строки\n\ - совпадают.\n\ - EXIST имя_файла Это условие является истинным, если файл с указанным\n\ - именем существует.\n\ -DEFINED переменная Это условие является истинным, если указанная переменная\n\ - задана\n\ - команда Задает команду, выполняемую при истинности условия.\n\ - За этой командой может следовать ключевое слово ELSE,\n\ - служащее для указания команды, которая должна\n\ - выполняться в том случае, если условие ложно.\n" + NOT Обращает истинность условия: истинное условие\n\ + становится ложным, а ложное - истинным.\n\ + ERRORLEVEL число Условие является истинным, если код возврата последней\n\ + выполненной программы не меньше указанного числа.\n\ + строка1==строка2 Это условие является истинным, если указанные строки\n\ + совпадают.\n\ + EXIST имя_файла Это условие является истинным, если файл с указанным\n\ + именем существует.\n\ + DEFINED переменная Это условие является истинным, если указанная переменная\n\ + задана\n\ + команда Задает команду, выполняемую при истинности условия.\n\ + За этой командой может следовать ключевое слово ELSE,\n\ + служащее для указания команды, которая должна\n\ + выполняться в том случае, если условие ложно.\n" STRING_LABEL_HELP1 "Создание, изменение и удаление меток тома.\n\nLABEL [диск:][метка]\n" STRING_LABEL_HELP2 "Том в устройстве %c имеет метку %s\n" STRING_LABEL_HELP3 "Том в устройстве %c: не имеет метки\n" @@ -251,16 +254,16 @@ DEFINED переменная Это условие является истин STRING_MKDIR_HELP "Создание каталога.\n\n\ MKDIR [диск:]путь\nMD [диск:]путь" STRING_MKLINK_HELP "Создание символической ссылки.\n\n\ -MKLINK [[/D] | [/H] | [/J]] Ссылка Назначение\n\n\ +MKLINK [[/D] | [/H] | [/J]] ссылка назначение\n\n\ /D Создание символической ссылки на каталог.\n\ /H Создание жесткой связи вместо символической ссылки.\n\ /J Создание соединения для каталога.\n\ - Ссылка Имя новой символической ссылки.\n\ - Назначение Путь (относительный или абсолютный), на который ссылается\n\ + ссылка Имя новой символической ссылки.\n\ + назначение Путь (относительный или абсолютный), на который ссылается\n\ новая ссылка.\n\n\ -If neither /H or /J is specified, a symbolic link is created." +Если не указаны /H и /J, то будет создана символическая ссылка." STRING_MEMMORY_HELP1 "Вывод объема системной памяти.\n\nMEMORY" - STRING_MEMMORY_HELP2 "\n %12s%% memory load.\n\n\ + STRING_MEMMORY_HELP2 "\n %12s%% загружено памяти.\n\n\ %13s байт всего физической памяти.\n\ %13s байт доступно физической памяти.\n\n\ %13s байт всего в файле подкачки.\n\ @@ -268,7 +271,7 @@ If neither /H or /J is specified, a symbolic link is created." %13s байт всего виртуальной памяти.\n\ %13s байт доступно виртуально памяти.\n" STRING_MISC_HELP1 "Нажмите клавишу для продолжения...\n" - STRING_MOVE_HELP1 "Переписать %s (Yes/No/All)? " + STRING_MOVE_HELP1 "Перезаписать %s (Yes/No/All)? " STRING_MOVE_HELP2 "Перемещение файлов и переименование файлов и каталогов.\n\n\ Перемещение одного или более файлов:\n\ MOVE [/N][диск:][путь]имя_файла1[,...] назначение\n\n\ @@ -281,14 +284,14 @@ MOVE [/N][диск:][путь]имя_каталога1 имя_каталога2\ - Невозможно переносить файлы или папки между разными разделами.\n" STRING_MSGBOX_HELP "Вывод окна с сообщением и возврат ответа пользователя\n\n\ MSGBOX тип ['заголовок'] подсказка\n\n\ -тип выводимые кнопки\n\ - возможные значения: OK, OKCANCEL,\n\ +тип Выводимые кнопки\n\ + Возможные значения: OK, OKCANCEL,\n\ YESNO, YESNOCANCEL\n\ -заголовок заголовок окна с сообщением\n\ -подсказка выводимый текст подсказки\n\n\n\ -ERRORLEVEL устанавливается в соответствии с нажатой кнопкой:\n\n\ -YES : 10 | NO : 11\n\ -OK : 10 | CANCEL : 12\n" +заголовок Заголовок окна с сообщением\n\ +подсказка Выводимый текст подсказки\n\n\n\ +ERRORLEVEL Устанавливается в соответствии с нажатой кнопкой:\n\n\ +Да: 10 | Нет: 11\n\ +OK: 10 | Отмена: 12\n" STRING_PATH_HELP1 "Вывод или задание пути поиска исполняемых файлов.\n\n\ PATH [[диск:]путь[;...]]\nPATH ;\n\n\ Команда PATH ; очищает путь поиска используемых файлов, ограничив его\n\ @@ -306,33 +309,33 @@ PROMPT [текст]\n\n\ $F ) (правая круглая скобка)\n\ $G > (знак ""больше"")\n\ $H BACKSPACE (удаление предыдущего символа)\n\ - $I Information line\n\ + $I Информационная линия\n\ $L < (знак ""меньше"")\n\ $N Текущий диск\n\ $P Текущие диск и каталог\n\ $Q = (знак равенства)\n\ - $S (space)\n\ + $S (пробел)\n\ $T Текущее время\n\ $V Номер версии операционной системы\n\ - $_ Перевод строки\n\ + $_ Возврат каретки и перевод строки\n\ $$ $ (знак доллара)\n" STRING_PAUSE_HELP1 "Приостановка выполнения пакетного файла и вывод сообщения:\n\ 'Для продолжения нажмите любую клавишу...' или указанное сообщение.\n\n\ PAUSE [сообщение]" - STRING_PROMPT_HELP2 " $+ Displays the current depth of the directory stack" + STRING_PROMPT_HELP2 " $+ Вывод глубины вложенности каталогов" STRING_PROMPT_HELP3 "\nPROMPT без параметров устанавливает приглашение командной строки по умолчанию." STRING_REM_HELP "Помещение комментариев в пакетные файлы.\n\nREM [комментарий]" STRING_RMDIR_HELP "Удаление каталога.\n\n\ RMDIR [диск:]путь\nRD [диск:]путь\n\ /S Удаление дерева каталогов\n\ /Q Отключение запроса подтверждения\n" - STRING_RMDIR_HELP2 "Каталог пуст!\n" - STRING_REN_HELP1 "Переименование одного или нескольких файлов или каталогов.\n\n\ + STRING_RMDIR_HELP2 "Каталог не пуст!\n" + STRING_REN_HELP1 "Переименование одного или нескольких файлов/каталогов.\n\n\ RENAME [/E /N /P /Q /S /T] старое_имя ... новое_имя\n\ REN [/E /N /P /Q /S /T] старое_имя ... новое_имя\n\n\ /E Не выводить сообщения об ошибках.\n\ /N Nothing.\n\ - /P Запрос подтверждения перед переименованием.\n\ + /P Запрос подтверждения перед каждым переименованием.\n\ (Не реализовано в данный момент!)\n\ /Q Тихий режим.\n\ /S Переименовывать подкаталоги.\n\ @@ -361,14 +364,14 @@ REPLACE [диск1:][путь1]имя_файла [диск2:][путь2] [/P] [/ Этот ключ несовместим с ключом /A.\n" STRING_REPLACE_HELP2 "Необходимо указать путь к исходным файлам.\n" STRING_REPLACE_HELP3 "Ни один файл не заменен\n" - STRING_REPLACE_HELP4 "%lu file(s) replaced\n" - STRING_REPLACE_HELP5 "Replacing %s\n" - STRING_REPLACE_HELP6 "Replace %s\n" - STRING_REPLACE_HELP7 "No files added\n" - STRING_REPLACE_HELP8 "%lu file(s) added\n" - STRING_REPLACE_HELP9 "Add %s (Y/N) " - STRING_REPLACE_HELP10 "Replace %s (Y/N) " - STRING_REPLACE_HELP11 "Adding %s\n" + STRING_REPLACE_HELP4 "%lu файл(ов) заменено\n" + STRING_REPLACE_HELP5 "Замена %s\n" + STRING_REPLACE_HELP6 "Замена %s\n" + STRING_REPLACE_HELP7 "Нет новых файлов\n" + STRING_REPLACE_HELP8 "%lu файл(ов) добавлено\n" + STRING_REPLACE_HELP9 "Добавить %s (Y/N) " + STRING_REPLACE_HELP10 "Заменить %s (Y/N) " + STRING_REPLACE_HELP11 "Добавление %s\n" STRING_SHIFT_HELP "Изменение содержимого (сдвиг) подставляемых параметров для пакетного файла.\n\n\ SHIFT [DOWN]" STRING_SCREEN_HELP "Перемещение курсора и вывод текста\n\n\ @@ -395,14 +398,14 @@ TIME без параметров выводит текущее время и з STRING_TIME_HELP2 "Введите новое время: " STRING_TIMER_HELP1 "Прошло %d мсек\n" STRING_TIMER_HELP2 "Прошло %02d%c%02d%c%02d%c%02d\n" - STRING_TIMER_HELP3 "Секундомер.\n\n\ + STRING_TIMER_HELP3 "ПОзволяет использовать десять секундомеров.\n\n\ TIMER [ON|OFF] [/S] [/n] [/Fn]\n\n\ ON Включить секундомер\n\ OFF Выключить секундомер\n\ /S Разница времени. Возвращает разницу времени\n\ секундомера без изменения его значения\n\ /n Задать номер секундомера.\n\ - Доступные номера - от 0 до 9\n\ + Доступны номера от 0 до 9\n\ Значение по умолчанию - 1\n\ /Fn Формат вывода\n\ n одно из:\n\ @@ -421,11 +424,11 @@ VERIFY без параметра выводит текущее значение STRING_VERIFY_HELP3 "Необходимо указать ON или OFF." STRING_VERSION_HELP1 "Вывод версии\n\n\ VER [/C] [/R] [/W]\n\n\ - /C Отображает авторов.\n\ + /C Отображание авторов.\n\ /R Displays redistribution information.\n\ - /W Displays warranty information." - STRING_VERSION_HELP2 " comes with ABSOLUTELY NO WARRANTY; for details\n\ -type: `ver /w'. This is free software, and you are welcome to redistribute\n\ + /W Отображаение предоставляемых гарантий." + STRING_VERSION_HELP2 " предоставляется БЕЗ ВСЯКИХ ГАРАНТИЙ; для подробности\n\ +введите: `ver /w'. This is free software, and you are welcome to redistribute\n\ it under certain conditions; type `ver /r' for details. Type `ver /c' for a\n\ listing of credits." STRING_VERSION_HELP3 "\n This program is distributed in the hope that it will be useful,\n\ @@ -437,24 +440,24 @@ listing of credits." the Free Software Foundation; either version 2 of the License, or\n\ (at your option) any later version.\n" STRING_VERSION_HELP5 "\nПосылайте отчеты об ошибках на .\n\ -Обновления доступны по адресу: http://www.reactos.org/" - STRING_VERSION_HELP6 "\nFreeDOS-версия написана:\n" - STRING_VERSION_HELP7 "\nReactOS-версия написана:\n" +Обновления доступны по адресу: http://www.reactos.org" + STRING_VERSION_HELP6 "\nFreeDOS версия написана:\n" + STRING_VERSION_HELP7 "\nReactOS версия написана:\n" STRING_VOL_HELP1 " Том в устройстве %c имеет метку %s\n" STRING_VOL_HELP2 " Том в устройстве %c не имеет метки\n" STRING_VOL_HELP3 " Серийный номер тома: %04X-%04X\n" STRING_VOL_HELP4 "Выводит метку тома и серийный номер.\n\nVOL [диск:]" STRING_WINDOW_HELP1 "Меняет вид окна консоли\n\n\ -WINDOW [/POS[=]left,top,ширина,высота]\n\ - [MIN|MAX|RESTORE] ['заголовок']\n\n\ +WINDOW [/POS[=]лево,верх,ширина,высота]\n\ + [MIN | MAX | RESTORE] ['заголовок']\n\n\ /POS указывает размер и положение окна\n\ MIN сворачивает окно\n\ MAX разворачивает окно\n\ RESTORE восстанавливает окно\n" STRING_WINDOW_HELP2 "Меняет вид окна консоли\n\n\ -ACTIVATE 'window' [/POS[=]left,top,ширина,высота]\n\ - [MIN|MAX|RESTORE] ['заголовок']\n\n\ -window заголовок окна, вид которого следует менять\n\ +ACTIVATE 'окно' [/POS[=]лево,верх,ширина,высота]\n\ + [MIN | MAX | RESTORE] ['заголовок']\n\n\ +окно заголовок окна, состояние которого следует менять\n\ /POS указывает размер и положение окна\n\ MIN сворачивает окно\n\ MAX разворачивает окно\n\ @@ -476,7 +479,7 @@ RESTORE восстанавливает окно\n\ STRING_CMD_ERROR4 "Запуск %s...\n" STRING_CMD_ERROR5 "Запуск cmdexit.bat...\n" STRING_COLOR_ERROR1 "Одинаковые цвета! (Цвета фона и текста не могут быть одинаковыми)" - STRING_COLOR_ERROR2 "ошибка в указании цвета" + STRING_COLOR_ERROR2 "Ошибка в указании цвета" STRING_COLOR_ERROR3 "Цвет %02x\n" STRING_CONSOLE_ERROR "Неизвестная ошибка: %d\n" STRING_COPY_ERROR1 "Ошибка: Невозможно открыть источник - %s!\n" @@ -526,7 +529,7 @@ RESTORE восстанавливает окно\n\ STRING_REPLACE_ERROR4 "Неверная комбинация параметров\n" STRING_REPLACE_ERROR5 "Доступ запрещен - %s\n" STRING_REPLACE_ERROR6 "Не найдено файлов - %s\n" - STRING_REPLACE_ERROR7 "Extended Error 32\n" + STRING_REPLACE_ERROR7 "Расширенная ошибка 32\n" STRING_REACTOS_VERSION "Операционная система ReactOS [Версия %s-%s]\n" STRING_CMD_SHELLINFO "\nИнтерпретатор командной строки ReactOS\nВерсия %s %s" STRING_VERSION_RUNVER " запущен на %s" @@ -538,7 +541,7 @@ RESTORE восстанавливает окно\n\ STRING_TIMER_TIME "Timer %d is %s: " STRING_MKLINK_CREATED_SYMBOLIC "Символическая ссылка создана для %s <<===>> %s\n" STRING_MKLINK_CREATED_HARD "Жесткая связь создана для %s <<===>> %s\n" - STRING_MKLINK_CREATED_JUNCTION "Junction created for %s <<===>> %s\n" + STRING_MKLINK_CREATED_JUNCTION "Ссылка-каталог создана для %s <<===>> %s\n" STRING_MORE "Еще? " STRING_CANCEL_BATCH_FILE "\r\nЗавершить выполнение пакетного файла [Y(да)/N(нет)]? " STRING_INVALID_OPERAND "Неверный операнд." diff --git a/base/shell/cmd/lang/sv-SE.rc b/base/shell/cmd/lang/sv-SE.rc index ecdd380d697..da739c64698 100644 --- a/base/shell/cmd/lang/sv-SE.rc +++ b/base/shell/cmd/lang/sv-SE.rc @@ -411,7 +411,7 @@ VERIFY [ON | OFF]\n\n\ Skriv VERIFY uten parametre för att visa aktuell VERIFY inställninar.\n" STRING_VERIFY_HELP2 "VERIFY är %s.\n" STRING_VERIFY_HELP3 "Må ange ON eller OFF." - STRING_VERSION_HELP1 "Vis Reactos versjonen\n\n\ + STRING_VERSION_HELP1 "Vis ReactOS versjonen\n\n\ VER [/C][/R][/W]\n\n\ /C Vis anerkjennelse.\n\ /R Vis videreformidlingsinformasjon.\n\ diff --git a/base/shell/cmd/locale.c b/base/shell/cmd/locale.c index 80e72bc01a4..ca16fbd6956 100644 --- a/base/shell/cmd/locale.c +++ b/base/shell/cmd/locale.c @@ -62,7 +62,7 @@ GetDateString(VOID) INT len; GetLocalTime(&t); - len = GetDateFormat(LOCALE_USER_DEFAULT, 0, &t, _T("ddd"), szDate, sizeof szDate); + len = GetDateFormat(LOCALE_USER_DEFAULT, 0, &t, _T("ddd"), szDate, sizeof(szDate) / sizeof(szDate[0])); szDate[len - 1] = _T(' '); FormatDate(&szDate[len], &t, TRUE); return szDate; diff --git a/base/shell/cmd/move.c b/base/shell/cmd/move.c index f557f31496c..dd7dca968af 100644 --- a/base/shell/cmd/move.c +++ b/base/shell/cmd/move.c @@ -100,7 +100,7 @@ INT cmd_move (LPTSTR param) HANDLE hFile; /* used only when source and destination directories are on different volume */ - HANDLE hDestFile; + HANDLE hDestFile = NULL; WIN32_FIND_DATA findDestBuffer; TCHAR szMoveDest[MAX_PATH]; TCHAR szMoveSrc[MAX_PATH]; @@ -505,6 +505,9 @@ INT cmd_move (LPTSTR param) FindNextFile (hFile, &findBuffer)); FindClose (hFile); + if(hDestFile && hDestFile != INVALID_HANDLE_VALUE) + FindClose(hDestFile); + freep (arg); return 0; } diff --git a/base/shell/cmd/replace.c b/base/shell/cmd/replace.c index 864e3fb6e24..9f19d746dc4 100644 --- a/base/shell/cmd/replace.c +++ b/base/shell/cmd/replace.c @@ -131,7 +131,10 @@ INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *d else ConOutResPrintf(STRING_REPLACE_HELP10, dest); if ( !FilePromptYNA (0)) + { + CloseHandle (hFileSrc); return 0; + } } /* Output depending on add flag */ @@ -220,7 +223,7 @@ INT recReplace(DWORD dwFlags, HANDLE hFile; WIN32_FIND_DATA findBuffer; - /* Get file handel to the sourcefile(s) */ + /* Get file handle to the sourcefile(s) */ hFile = FindFirstFile (szSrcPath, &findBuffer); /* @@ -302,6 +305,8 @@ INT recReplace(DWORD dwFlags, /* Take next sourcefile if any */ } while(FindNextFile (hFile, &findBuffer)); + FindClose(hFile); + return filesReplaced; } @@ -378,6 +383,8 @@ INT recFindSubDirs(DWORD dwFlags, /* Get the next handle */ } while(FindNextFile (hFile, &findBuffer)); + FindClose(hFile); + return filesReplaced; } diff --git a/base/shell/explorer-new/CMakeLists.txt b/base/shell/explorer-new/CMakeLists.txt deleted file mode 100644 index 55ccc90a6a1..00000000000 --- a/base/shell/explorer-new/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ - -add_definitions(-DWIN32) - -list(APPEND SOURCE - desktop.c - dragdrop.c - explorer.c - settings.c - startmnu.c - startup.c - taskband.c - taskswnd.c - tbsite.c - trayntfy.c - trayprop.c - traywnd.c - precomp.h) - -add_executable(explorer_new ${SOURCE} explorer.rc) -target_link_libraries(explorer_new uuid) -set_module_type(explorer_new win32gui UNICODE) -add_importlibs(explorer_new - advapi32 - gdi32 - user32 - comctl32 - ole32 - oleaut32 - shell32 - shlwapi - shdocvw - version - uxtheme - msvcrt - kernel32 - ntdll) -add_pch(explorer_new precomp.h SOURCE) -add_cd_file(TARGET explorer_new DESTINATION reactos FOR all) diff --git a/base/shell/explorer-new/comcsup.h b/base/shell/explorer-new/comcsup.h deleted file mode 100644 index d8a437b928e..00000000000 --- a/base/shell/explorer-new/comcsup.h +++ /dev/null @@ -1,50 +0,0 @@ -#pragma once - -/* - ****************************************************************************** - * This header is for easier generation of IUnknown interfaces for inherited * - * classes and for casts from the interface to the implementation and vice * - * versa. * - ****************************************************************************** - */ - -/* Generates a Iiface::AddRef() method that forwards to Iimpl::AddRef() */ -#define METHOD_IUNKNOWN_INHERITED_ADDREF_NAME(iface,impl) impl##Impl_##iface##_AddRef -#define METHOD_IUNKNOWN_INHERITED_ADDREF(iface,impl) \ -static ULONG STDMETHODCALLTYPE \ -impl##Impl_##iface##_AddRef(IN OUT iface *ifc) { \ - impl##Impl *This = impl##Impl_from_##iface (ifc); \ - impl *baseiface = impl##_from_##impl##Impl(This); \ - return impl##Impl_AddRef(baseiface); \ -} - -/* Generates a Iiface::Release() method that forwards to Iimpl::Release() */ -#define METHOD_IUNKNOWN_INHERITED_RELEASE_NAME(iface,impl) impl##Impl_##iface##_Release -#define METHOD_IUNKNOWN_INHERITED_RELEASE(iface,impl) \ -static ULONG STDMETHODCALLTYPE \ -impl##Impl_##iface##_Release(IN OUT iface *ifc) { \ - impl##Impl *This = impl##Impl_from_##iface (ifc); \ - impl *baseiface = impl##_from_##impl##Impl(This); \ - return impl##Impl_AddRef(baseiface); \ -} - -/* Generates a Iiface::QueryInterface() method that forwards to Iimpl::QueryInterface() */ -#define METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE_NAME(iface,impl) impl##Impl_##iface##_QueryInterface -#define METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE(iface,impl) \ -static HRESULT STDMETHODCALLTYPE \ -impl##Impl_##iface##_QueryInterface(IN OUT iface *ifc, IN REFIID riid, OUT VOID **ppvObject) { \ - impl##Impl *This = impl##Impl_from_##iface (ifc); \ - impl *baseiface = impl##_from_##impl##Impl(This); \ - return impl##Impl_QueryInterface(baseiface, riid, ppvObject); \ -} - -/* Generates a Ixxx_from_IxxxImpl() and a IxxxImpl_from_Ixxx() inline function */ -#define IMPL_CASTS(iface,impl,vtbl) \ -static __inline iface * \ -iface##_from_##impl##Impl (impl##Impl *This) { \ - return (iface *)&This->vtbl; \ -} \ -static __inline impl##Impl * \ -impl##Impl_from_##iface (iface *ifc) { \ - return (impl##Impl *)((ULONG_PTR)ifc - FIELD_OFFSET(impl##Impl, vtbl)); \ -} diff --git a/base/shell/explorer-new/desktop.c b/base/shell/explorer-new/desktop.c deleted file mode 100644 index 2ccebb3fc51..00000000000 --- a/base/shell/explorer-new/desktop.c +++ /dev/null @@ -1,132 +0,0 @@ -/* - * ReactOS Explorer - * - * Copyright 2006 - 2007 Thomas Weidenmueller - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "precomp.h" - -typedef struct _DESKCREATEINFO -{ - HANDLE hEvent; - ITrayWindow *Tray; - HANDLE hDesktop; -} DESKCREATEINFO, *PDESKCREATEINFO; - -static DWORD CALLBACK -DesktopThreadProc(IN OUT LPVOID lpParameter) -{ - volatile DESKCREATEINFO *DeskCreateInfo = (volatile DESKCREATEINFO *)lpParameter; - IShellDesktopTray *pSdt; - HANDLE hDesktop; - HRESULT hRet; - - OleInitialize(NULL); - - hRet = ITrayWindow_QueryInterface(DeskCreateInfo->Tray, - &IID_IShellDesktopTray, - (PVOID*)&pSdt); - if (!SUCCEEDED(hRet)) - return 1; - - hDesktop = SHCreateDesktop(pSdt); - - IShellDesktopTray_Release(pSdt); - if (hDesktop == NULL) - return 1; - - (void)InterlockedExchangePointer(&DeskCreateInfo->hDesktop, - hDesktop); - - if (!SetEvent(DeskCreateInfo->hEvent)) - { - /* Failed to notify that we initialized successfully, kill ourselves - to make the main thread wake up! */ - return 1; - } - - SHDesktopMessageLoop(hDesktop); - - /* FIXME: Properly rundown the main thread! */ - ExitProcess(0); - - return 0; -} - -HANDLE -DesktopCreateWindow(IN OUT ITrayWindow *Tray) -{ - HANDLE hThread; - HANDLE hEvent; - DWORD DesktopThreadId; - HANDLE hDesktop = NULL; - HANDLE Handles[2]; - DWORD WaitResult; - - hEvent = CreateEvent(NULL, - FALSE, - FALSE, - NULL); - if (hEvent != NULL) - { - volatile DESKCREATEINFO DeskCreateInfo; - - DeskCreateInfo.hEvent = hEvent; - DeskCreateInfo.Tray = Tray; - DeskCreateInfo.hDesktop = NULL; - - hThread = CreateThread(NULL, - 0, - DesktopThreadProc, - (PVOID)&DeskCreateInfo, - 0, - &DesktopThreadId); - if (hThread != NULL) - { - Handles[0] = hThread; - Handles[1] = hEvent; - - for (;;) - { - WaitResult = MsgWaitForMultipleObjects(sizeof(Handles) / sizeof(Handles[0]), - Handles, - FALSE, - INFINITE, - QS_ALLEVENTS); - if (WaitResult == WAIT_OBJECT_0 + (sizeof(Handles) / sizeof(Handles[0]))) - TrayProcessMessages(Tray); - else if (WaitResult != WAIT_FAILED && WaitResult != WAIT_OBJECT_0) - { - hDesktop = DeskCreateInfo.hDesktop; - break; - } - } - - CloseHandle(hThread); - } - - CloseHandle(hEvent); - } - - return hDesktop; -} - -VOID -DesktopDestroyShellWindow(IN HANDLE hDesktop) -{ - return; -} diff --git a/base/shell/explorer-new/dragdrop.c b/base/shell/explorer-new/dragdrop.c deleted file mode 100644 index ae1cb640160..00000000000 --- a/base/shell/explorer-new/dragdrop.c +++ /dev/null @@ -1,411 +0,0 @@ -/* - * ReactOS Explorer - * - * Copyright 2006 - 2007 Thomas Weidenmueller - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "precomp.h" - -static const IDropTargetVtbl IDropTargetImpl_Vtbl; - -/* - * IDropTarget - */ - -typedef struct -{ - const IDropTargetVtbl *lpVtbl; - LONG Ref; - HWND hwndTarget; - IDropTargetHelper *DropTargetHelper; - PVOID Context; - BOOL CanDrop; - DROPTARGET_CALLBACKS Callbacks; - DWORD FormatsCount; - FORMATETC Formats[0]; -} IDropTargetImpl; - -static IUnknown * -IUnknown_from_impl(IDropTargetImpl *This) -{ - return (IUnknown *)&This->lpVtbl; -} - -static IDropTarget * -IDropTarget_from_impl(IDropTargetImpl *This) -{ - return (IDropTarget *)&This->lpVtbl; -} - -static IDropTargetImpl * -impl_from_IDropTarget(IDropTarget *iface) -{ - return (IDropTargetImpl *)((ULONG_PTR)iface - FIELD_OFFSET(IDropTargetImpl, - lpVtbl)); -} - -static VOID -IDropTargetImpl_Free(IDropTargetImpl *This) -{ - IDropTargetHelper_Release(This->DropTargetHelper); - HeapFree(hProcessHeap, - 0, - This); -} - -static ULONG STDMETHODCALLTYPE -IDropTargetImpl_Release(IN OUT IDropTarget *iface) -{ - IDropTargetImpl *This = impl_from_IDropTarget(iface); - ULONG Ret; - - Ret = InterlockedDecrement(&This->Ref); - if (Ret == 0) - IDropTargetImpl_Free(This); - - return Ret; -} - -static ULONG STDMETHODCALLTYPE -IDropTargetImpl_AddRef(IN OUT IDropTarget *iface) -{ - IDropTargetImpl *This = impl_from_IDropTarget(iface); - - return InterlockedIncrement(&This->Ref); -} - -static HRESULT STDMETHODCALLTYPE -IDropTargetImpl_QueryInterface(IN OUT IDropTarget *iface, - IN REFIID riid, - OUT LPVOID *ppvObj) -{ - IDropTargetImpl *This; - - if (ppvObj == NULL) - return E_POINTER; - - This = impl_from_IDropTarget(iface); - - if (IsEqualIID(riid, - &IID_IUnknown)) - { - *ppvObj = IUnknown_from_impl(This); - } - else if (IsEqualIID(riid, - &IID_IDropTarget)) - { - *ppvObj = IDropTarget_from_impl(This); - } - else - { - *ppvObj = NULL; - return E_NOINTERFACE; - } - - IDropTargetImpl_AddRef(iface); - return S_OK; -} - -IDropTarget * -CreateDropTarget(IN HWND hwndTarget, - IN DWORD nSupportedFormats, - IN const FORMATETC *Formats OPTIONAL, - IN PVOID Context OPTIONAL, - IN const DROPTARGET_CALLBACKS *Callbacks OPTIONAL) -{ - IDropTargetImpl *This; - HRESULT hr; - - This = HeapAlloc(hProcessHeap, - HEAP_ZERO_MEMORY, - FIELD_OFFSET(IDropTargetImpl, - Formats[nSupportedFormats])); - if (This != NULL) - { - This->lpVtbl = &IDropTargetImpl_Vtbl; - This->Ref = 1; - This->hwndTarget = hwndTarget; - This->FormatsCount = nSupportedFormats; - if (nSupportedFormats != 0) - { - CopyMemory(This->Formats, - Formats, - sizeof(Formats[0]) * nSupportedFormats); - } - - This->Context = Context; - if (Callbacks != NULL) - { - CopyMemory(&This->Callbacks, - Callbacks, - sizeof(*Callbacks)); - } - - hr = CoCreateInstance(&CLSID_DragDropHelper, - NULL, - CLSCTX_INPROC_SERVER, - &IID_IDropTargetHelper, - (PVOID *)&This->DropTargetHelper); - - if (!SUCCEEDED(hr)) - { - HeapFree(hProcessHeap, - 0, - This); - return NULL; - } - - return IDropTarget_from_impl(This); - } - - return NULL; -} - -static const FORMATETC * -IDropTargetImpl_FindSupportedFormat(IN OUT IDropTargetImpl *This, - IN IDataObject *pDataObject) -{ - FORMATETC *Current, *Last; - HRESULT hr; - - /* NOTE: we could use IDataObject::EnumFormatEtc(), - but this appears to be a lot easier! */ - Last = This->Formats + This->FormatsCount; - for (Current = This->Formats; - Current != Last; - Current++) - { - hr = IDataObject_QueryGetData(pDataObject, - Current); - if (SUCCEEDED(hr)) - return Current; - } - - return NULL; -} - -static HRESULT STDMETHODCALLTYPE -IDropTargetImpl_DragEnter(IN OUT IDropTarget *iface, - IN IDataObject *pDataObject, - IN DWORD grfKeyState, - IN POINTL pt, - IN OUT DWORD *pdwEffect) -{ - IDropTargetImpl *This = impl_from_IDropTarget(iface); - const FORMATETC *Format; - HRESULT hr; - - if (pDataObject == NULL) - return E_INVALIDARG; - - This->CanDrop = FALSE; - - hr = IDropTargetHelper_DragEnter(This->DropTargetHelper, - This->hwndTarget, - pDataObject, - (POINT *)&pt, - *pdwEffect); - - if (SUCCEEDED(hr)) - { - Format = IDropTargetImpl_FindSupportedFormat(This, - pDataObject); - if (Format != NULL) - { - /* We found a format that we support! */ - if (This->Callbacks.OnDragEnter != NULL) - { - hr = This->Callbacks.OnDragEnter(iface, - This->Context, - Format, - grfKeyState, - pt, - pdwEffect); - if (SUCCEEDED(hr)) - { - if (hr == S_OK) - This->CanDrop = TRUE; - else - { - /* Special return value by the callback routine, - doesn't want to allow dragging */ - *pdwEffect = DROPEFFECT_NONE; - } - - hr = S_OK; - } - else - { - *pdwEffect = DROPEFFECT_NONE; - hr = S_OK; - } - } - else - *pdwEffect = DROPEFFECT_NONE; - } - else - *pdwEffect = DROPEFFECT_NONE; - } - - return hr; -} - -static HRESULT STDMETHODCALLTYPE -IDropTargetImpl_DragOver(IN OUT IDropTarget *iface, - IN DWORD grfKeyState, - IN POINTL pt, - IN OUT DWORD *pdwEffect) -{ - IDropTargetImpl *This = impl_from_IDropTarget(iface); - HRESULT hr; - - hr = IDropTargetHelper_DragOver(This->DropTargetHelper, - (POINT *)&pt, - *pdwEffect); - - if (SUCCEEDED(hr)) - { - if (This->CanDrop) - { - if (This->Callbacks.OnDragOver != NULL) - { - hr = This->Callbacks.OnDragOver(iface, - This->Context, - grfKeyState, - pt, - pdwEffect); - if (SUCCEEDED(hr)) - { - if (hr != S_OK) - { - /* Special return value by the callback routine, - doesn't want to allow dropping here */ - *pdwEffect = DROPEFFECT_NONE; - } - - hr = S_OK; - } - else - { - *pdwEffect = DROPEFFECT_NONE; - hr = S_OK; - } - } - else - *pdwEffect = DROPEFFECT_NONE; - } - else - *pdwEffect = DROPEFFECT_NONE; - } - - return hr; -} - -static HRESULT STDMETHODCALLTYPE -IDropTargetImpl_DragLeave(IN OUT IDropTarget *iface) -{ - IDropTargetImpl *This = impl_from_IDropTarget(iface); - HRESULT hr; - - hr = IDropTargetHelper_DragLeave(This->DropTargetHelper); - if (SUCCEEDED(hr)) - { - if (This->Callbacks.OnDragLeave != NULL) - { - hr = This->Callbacks.OnDragLeave(iface, - This->Context); - } - } - - return hr; -} - -static HRESULT STDMETHODCALLTYPE -IDropTargetImpl_Drop(IN OUT IDropTarget *iface, - IN IDataObject *pDataObject, - IN DWORD grfKeyState, - IN POINTL pt, - IN OUT DWORD *pdwEffect) -{ - IDropTargetImpl *This = impl_from_IDropTarget(iface); - const FORMATETC *Format; - HRESULT hr; - - if (pDataObject == NULL) - return E_INVALIDARG; - - hr = IDropTargetHelper_Drop(This->DropTargetHelper, - pDataObject, - (POINT *)&pt, - *pdwEffect); - - if (SUCCEEDED(hr) && This->CanDrop) - { - Format = IDropTargetImpl_FindSupportedFormat(This, - pDataObject); - if (Format != NULL) - { - /* We found a format that we support! */ - if (This->Callbacks.OnDrop != NULL) - { - hr = This->Callbacks.OnDrop(iface, - This->Context, - Format, - grfKeyState, - pt, - pdwEffect); - if (SUCCEEDED(hr)) - { - if (hr == S_OK) - This->CanDrop = TRUE; - else - { - /* Special return value by the callback routine, - doesn't want to allow dragging */ - *pdwEffect = DROPEFFECT_NONE; - } - - hr = S_OK; - } - else - { - *pdwEffect = DROPEFFECT_NONE; - hr = S_OK; - } - } - else - *pdwEffect = DROPEFFECT_NONE; - } - else - *pdwEffect = DROPEFFECT_NONE; - } - - return hr; -} - -static const IDropTargetVtbl IDropTargetImpl_Vtbl = -{ - /* IUnknown */ - IDropTargetImpl_QueryInterface, - IDropTargetImpl_AddRef, - IDropTargetImpl_Release, - /* IDropTarget */ - IDropTargetImpl_DragEnter, - IDropTargetImpl_DragOver, - IDropTargetImpl_DragLeave, - IDropTargetImpl_Drop -}; diff --git a/base/shell/explorer-new/explorer.c b/base/shell/explorer-new/explorer.c deleted file mode 100644 index a574a5b93e6..00000000000 --- a/base/shell/explorer-new/explorer.c +++ /dev/null @@ -1,471 +0,0 @@ -/* - * ReactOS Explorer - * - * Copyright 2006 - 2007 Thomas Weidenmueller - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "precomp.h" - -#include - -HINSTANCE hExplorerInstance; -HMODULE hUser32; -HANDLE hProcessHeap; -HKEY hkExplorer = NULL; -DRAWCAPTEMP DrawCapTemp = NULL; - -typedef struct _LANGCODEPAGE -{ - WORD wLanguage; - WORD wCodePage; -} LANGCODEPAGE, *PLANGCODEPAGE; - -LONG -SetWindowStyle(IN HWND hWnd, - IN LONG dwStyleMask, - IN LONG dwStyle) -{ - LONG PrevStyle, Style; - - ASSERT((~dwStyleMask & dwStyle) == 0); - - PrevStyle = GetWindowLong(hWnd, - GWL_STYLE); - if (PrevStyle != 0 && - (PrevStyle & dwStyleMask) != dwStyle) - { - Style = PrevStyle & ~dwStyleMask; - Style |= dwStyle; - - PrevStyle = SetWindowLong(hWnd, - GWL_STYLE, - Style); - } - - return PrevStyle; -} - -LONG -SetWindowExStyle(IN HWND hWnd, - IN LONG dwStyleMask, - IN LONG dwStyle) -{ - LONG PrevStyle, Style; - - ASSERT((~dwStyleMask & dwStyle) == 0); - - PrevStyle = GetWindowLong(hWnd, - GWL_EXSTYLE); - if (PrevStyle != 0 && - (PrevStyle & dwStyleMask) != dwStyle) - { - Style = PrevStyle & ~dwStyleMask; - Style |= dwStyle; - - PrevStyle = SetWindowLong(hWnd, - GWL_EXSTYLE, - Style); - } - - return PrevStyle; -} - -HMENU -LoadPopupMenu(IN HINSTANCE hInstance, - IN LPCTSTR lpMenuName) -{ - HMENU hMenu, hSubMenu = NULL; - - hMenu = LoadMenu(hInstance, - lpMenuName); - - if (hMenu != NULL) - { - hSubMenu = GetSubMenu(hMenu, - 0); - if (hSubMenu != NULL && - !RemoveMenu(hMenu, - 0, - MF_BYPOSITION)) - { - hSubMenu = NULL; - } - - DestroyMenu(hMenu); - } - - return hSubMenu; -} - -HMENU -FindSubMenu(IN HMENU hMenu, - IN UINT uItem, - IN BOOL fByPosition) -{ - MENUITEMINFO mii; - - mii.cbSize = sizeof(mii); - mii.fMask = MIIM_SUBMENU; - - if (GetMenuItemInfo(hMenu, - uItem, - fByPosition, - &mii)) - { - return mii.hSubMenu; - } - - return NULL; -} - -BOOL -GetCurrentLoggedOnUserName(OUT LPTSTR szBuffer, - IN DWORD dwBufferSize) -{ - DWORD dwType; - DWORD dwSize; - - /* Query the user name from the registry */ - dwSize = (dwBufferSize * sizeof(TCHAR)) - 1; - if (RegQueryValueEx(hkExplorer, - TEXT("Logon User Name"), - 0, - &dwType, - (LPBYTE)szBuffer, - &dwSize) == ERROR_SUCCESS && - (dwSize / sizeof(TCHAR)) > 1 && - szBuffer[0] != _T('\0')) - { - szBuffer[dwSize / sizeof(TCHAR)] = _T('\0'); - return TRUE; - } - - /* Fall back to GetUserName() */ - dwSize = dwBufferSize; - if (!GetUserName(szBuffer, - &dwSize)) - { - szBuffer[0] = _T('\0'); - return FALSE; - } - - return TRUE; -} - -BOOL -FormatMenuString(IN HMENU hMenu, - IN UINT uPosition, - IN UINT uFlags, - ...) -{ - va_list vl; - MENUITEMINFO mii; - TCHAR szBuf[128]; - TCHAR szBufFmt[128]; - - /* Find the menu item and read the formatting string */ - mii.cbSize = sizeof(mii); - mii.fMask = MIIM_STRING; - mii.dwTypeData = (LPTSTR)szBufFmt; - mii.cch = sizeof(szBufFmt) / sizeof(szBufFmt[0]); - if (GetMenuItemInfo(hMenu, - uPosition, - uFlags, - &mii)) - { - /* Format the string */ - va_start(vl, uFlags); - _vsntprintf(szBuf, - (sizeof(szBuf) / sizeof(szBuf[0])) - 1, - szBufFmt, - vl); - va_end(vl); - szBuf[(sizeof(szBuf) / sizeof(szBuf[0])) - 1] = _T('\0'); - - /* Update the menu item */ - mii.dwTypeData = (LPTSTR)szBuf; - if (SetMenuItemInfo(hMenu, - uPosition, - uFlags, - &mii)) - { - return TRUE; - } - } - - return FALSE; -} - -BOOL -GetExplorerRegValueSet(IN HKEY hKey, - IN LPCTSTR lpSubKey, - IN LPCTSTR lpValue) -{ - TCHAR szBuffer[MAX_PATH]; - HKEY hkSubKey; - DWORD dwType, dwSize; - BOOL Ret = FALSE; - - StringCbCopy(szBuffer, sizeof(szBuffer), - TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer")); - if (FAILED(StringCbCat(szBuffer, sizeof(szBuffer), - _T("\\")))) - return FALSE; - if (FAILED(StringCbCat(szBuffer, sizeof(szBuffer), - lpSubKey))) - return FALSE; - - dwSize = sizeof(szBuffer); - if (RegOpenKeyEx(hKey, - szBuffer, - 0, - KEY_QUERY_VALUE, - &hkSubKey) == ERROR_SUCCESS) - { - ZeroMemory(szBuffer, - sizeof(szBuffer)); - - if (RegQueryValueEx(hkSubKey, - lpValue, - 0, - &dwType, - (LPBYTE)szBuffer, - &dwSize) == ERROR_SUCCESS) - { - if (dwType == REG_DWORD && dwSize == sizeof(DWORD)) - Ret = *((PDWORD)szBuffer) != 0; - else if (dwSize > 0) - Ret = *((PUCHAR)szBuffer) != 0; - } - - RegCloseKey(hkSubKey); - } - return Ret; -} - - -static BOOL -SetShellReadyEvent(IN LPCTSTR lpEventName) -{ - HANDLE hEvent; - - hEvent = OpenEvent(EVENT_MODIFY_STATE, - FALSE, - lpEventName); - if (hEvent != NULL) - { - SetEvent(hEvent); - - CloseHandle(hEvent); - return TRUE; - } - - return FALSE; -} - -BOOL -GetVersionInfoString(IN TCHAR *szFileName, - IN TCHAR *szVersionInfo, - OUT TCHAR *szBuffer, - IN UINT cbBufLen) -{ - LPVOID lpData = NULL; - TCHAR szSubBlock[128]; - TCHAR *lpszLocalBuf = NULL; - LANGID UserLangId; - PLANGCODEPAGE lpTranslate = NULL; - DWORD dwLen; - DWORD dwHandle; - UINT cbTranslate; - UINT cbLen; - BOOL bRet = FALSE; - unsigned int i; - - dwLen = GetFileVersionInfoSize(szFileName, &dwHandle); - - if (dwLen > 0) - { - lpData = HeapAlloc(hProcessHeap, 0, dwLen); - - if (lpData != NULL) - { - if (GetFileVersionInfo(szFileName, - 0, - dwLen, - lpData) != 0) - { - UserLangId = GetUserDefaultLangID(); - - VerQueryValue(lpData, - TEXT("\\VarFileInfo\\Translation"), - (LPVOID *)&lpTranslate, - &cbTranslate); - - for (i = 0; i < cbTranslate / sizeof(LANGCODEPAGE); i++) - { - /* If the bottom eight bits of the language id's - match, use this version information (since this - means that the version information and the users - default language are the same). */ - if ((lpTranslate[i].wLanguage & 0xFF) == - (UserLangId & 0xFF)) - { - wnsprintf(szSubBlock, - sizeof(szSubBlock) / sizeof(szSubBlock[0]), - TEXT("\\StringFileInfo\\%04X%04X\\%s"), - lpTranslate[i].wLanguage, - lpTranslate[i].wCodePage, - szVersionInfo); - - if (VerQueryValue(lpData, - szSubBlock, - (LPVOID *)&lpszLocalBuf, - &cbLen) != 0) - { - _tcsncpy(szBuffer, lpszLocalBuf, cbBufLen / sizeof(*szBuffer)); - - bRet = TRUE; - break; - } - } - } - } - HeapFree(hProcessHeap, 0, lpData); - lpData = NULL; - } - } - - return bRet; -} - -static VOID -HideMinimizedWindows(IN BOOL bHide) -{ - MINIMIZEDMETRICS mm; - - mm.cbSize = sizeof(mm); - if (!SystemParametersInfo(SPI_GETMINIMIZEDMETRICS, sizeof(mm), &mm, 0)) - { - DbgPrint("SystemParametersInfo failed with %lu\n", GetLastError()); - return; - } - if (bHide) - mm.iArrange |= ARW_HIDE; - else - mm.iArrange &= ~ARW_HIDE; - if (!SystemParametersInfo(SPI_SETMINIMIZEDMETRICS, sizeof(mm), &mm, 0)) - DbgPrint("SystemParametersInfo failed with %lu\n", GetLastError()); -} - -INT WINAPI -_tWinMain(IN HINSTANCE hInstance, - IN HINSTANCE hPrevInstance, - IN LPTSTR lpCmdLine, - IN INT nCmdShow) -{ - ITrayWindow *Tray = NULL; - HANDLE hShellDesktop = NULL; - BOOL CreateShellDesktop = FALSE; - - if (RegOpenKey(HKEY_CURRENT_USER, - TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer"), - &hkExplorer) != ERROR_SUCCESS) - { - TCHAR Message[256]; - LoadString(hInstance, IDS_STARTUP_ERROR, Message, 256); - MessageBox(NULL, Message, NULL, MB_ICONERROR); - return 1; - } - - hExplorerInstance = hInstance; - hProcessHeap = GetProcessHeap(); - LoadAdvancedSettings(); - - hUser32 = GetModuleHandle(TEXT("USER32.DLL")); - if (hUser32 != NULL) - { - DrawCapTemp = (DRAWCAPTEMP)GetProcAddress(hUser32, - PROC_NAME_DRAWCAPTIONTEMP); - } - - InitCommonControls(); - OleInitialize(NULL); - - ProcessStartupItems(); - - if (GetShellWindow() == NULL) - CreateShellDesktop = TRUE; - - /* FIXME - initialize SSO Thread */ - - if (CreateShellDesktop) - { - /* Initialize shell dde support */ - ShellDDEInit(TRUE); - - /* Initialize shell icons */ - FileIconInit(TRUE); - - /* Initialize CLSID_ShellWindows class */ - WinList_Init(); - - if (RegisterTrayWindowClass() && RegisterTaskSwitchWndClass()) - { - Tray = CreateTrayWindow(); - /* This not only hides the minimized window captions in the bottom - left screen corner, but is also needed in order to receive - HSHELL_* notification messages (which are required for taskbar - buttons to work right) */ - HideMinimizedWindows(TRUE); - - if (Tray != NULL) - hShellDesktop = DesktopCreateWindow(Tray); - } - - /* WinXP: Notify msgina to hide the welcome screen */ - if (!SetShellReadyEvent(TEXT("msgina: ShellReadyEvent"))) - SetShellReadyEvent(TEXT("Global\\msgina: ShellReadyEvent")); - } - else - { - /* A shell is already loaded. Parse the command line arguments - and unless we need to do something specific simply display - the desktop in a separate explorer window */ - /* FIXME */ - } - - if (Tray != NULL) - { - RegisterHotKey(NULL, IDHK_RUN, MOD_WIN, 'R'); - TrayMessageLoop(Tray); - HideMinimizedWindows(FALSE); - ITrayWindow_Release(Tray); - UnregisterTrayWindowClass(); - } - - if (hShellDesktop != NULL) - DesktopDestroyShellWindow(hShellDesktop); - - /* FIXME - shutdown SSO Thread */ - - OleUninitialize(); - - RegCloseKey(hkExplorer); - hkExplorer = NULL; - - return 0; -} diff --git a/base/shell/explorer-new/explorer.rc b/base/shell/explorer-new/explorer.rc deleted file mode 100644 index 323d7318e7d..00000000000 --- a/base/shell/explorer-new/explorer.rc +++ /dev/null @@ -1,96 +0,0 @@ -#include -#include - -#include "resource.h" - -#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Explorer" -#define REACTOS_STR_INTERNAL_NAME "explorer" -#define REACTOS_STR_ORIGINAL_FILENAME "explorer.exe" -#include - -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -IDI_START ICON "res/start.ico" -IDB_STARTMENU BITMAP "res/logov.bmp" - -IDB_TASKBARPROP_AUTOHIDE BITMAP "res/auto_hide.bmp" -IDB_TASKBARPROP_LOCK_GROUP_NOQL BITMAP "res/lock_group_noql.bmp" -IDB_TASKBARPROP_LOCK_GROUP_QL BITMAP "res/lock_group_ql.bmp" -IDB_TASKBARPROP_LOCK_NOGROUP_NOQL BITMAP "res/lock_nogroup_noql.bmp" -IDB_TASKBARPROP_LOCK_NOGROUP_QL BITMAP "res/lock_nogroup_ql.bmp" -IDB_TASKBARPROP_NOLOCK_GROUP_NOQL BITMAP "res/nolock_group_noql.bmp" -IDB_TASKBARPROP_NOLOCK_NOGROUP_NOQL BITMAP "res/nolock_nogroup_noql.bmp" -IDB_TASKBARPROP_NOLOCK_NOGROUP_QL BITMAP "res/nolock_nogroup_ql.bmp" -IDB_TASKBARPROP_NOLOCK_GROUP_QL BITMAP "res/nolock_group_ql.bmp" - -CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "explorer.exe.manifest" - -/* UTF-8 */ -#pragma code_page(65001) - -#ifdef LANGUAGE_BG_BG - #include "lang/bg-BG.rc" -#endif -#ifdef LANGUAGE_CS_CZ - #include "lang/cs-CZ.rc" -#endif -#ifdef LANGUAGE_DE_DE - #include "lang/de-DE.rc" -#endif -#ifdef LANGUAGE_EN_US - #include "lang/en-US.rc" -#endif -#ifdef LANGUAGE_ES_ES - #include "lang/es-ES.rc" -#endif -#ifdef LANGUAGE_FR_FR - #include "lang/fr-FR.rc" -#endif -#ifdef LANGUAGE_HE_IL - #include "lang/he-IL.rc" -#endif -#ifdef LANGUAGE_IT_IT - #include "lang/it-IT.rc" -#endif -#ifdef LANGUAGE_JA_JP - #include "lang/ja-JP.rc" -#endif -#ifdef LANGUAGE_KO_KR - #include "lang/ko-KR.rc" -#endif -#ifdef LANGUAGE_LT_LT - #include "lang/lt-LT.rc" -#endif -#ifdef LANGUAGE_NL_NL - #include "lang/nl-NL.rc" -#endif -#ifdef LANGUAGE_NB_NO - #include "lang/no-NO.rc" -#endif -#ifdef LANGUAGE_PL_PL - #include "lang/pl-PL.rc" -#endif -#ifdef LANGUAGE_RO_RO - #include "lang/ro-RO.rc" -#endif -#ifdef LANGUAGE_PT_BR - #include "lang/pt-BR.rc" -#endif -#ifdef LANGUAGE_RU_RU - #include "lang/ru-RU.rc" -#endif -#ifdef LANGUAGE_SK_SK - #include "lang/sk-SK.rc" -#endif -#ifdef LANGUAGE_SQ_AL - #include "lang/sq-AL.rc" -#endif -#ifdef LANGUAGE_TR_TR - #include "lang/tr-TR.rc" -#endif -#ifdef LANGUAGE_UK_UA - #include "lang/uk-UA.rc" -#endif -#ifdef LANGUAGE_ZH_CN - #include "lang/zh-CN.rc" -#endif diff --git a/base/shell/explorer-new/precomp.h b/base/shell/explorer-new/precomp.h deleted file mode 100644 index ad2bfc9944a..00000000000 --- a/base/shell/explorer-new/precomp.h +++ /dev/null @@ -1,448 +0,0 @@ -#ifndef _EXPLORER_PRECOMP__H_ -#define _EXPLORER_PRECOMP__H_ - -#include -#include - -#define WIN32_NO_STATUS -#define _INC_WINDOWS -#define COM_NO_WINDOWS_H - -#define COBJMACROS - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "tmschema.h" -#include "resource.h" -#include "comcsup.h" - -/* dynamic imports due to lack of support in msvc linker libs */ -typedef INT (APIENTRY *REGSHELLHOOK)(HWND, DWORD); -#ifdef UNICODE -#define PROC_NAME_DRAWCAPTIONTEMP "DrawCaptionTempW" -typedef BOOL (APIENTRY *DRAWCAPTEMP)(HWND, HDC, const RECT*, HFONT, HICON, LPCWSTR, UINT); -#else -#define PROC_NAME_DRAWCAPTIONTEMP "DrawCaptionTempA" -typedef BOOL (APIENTRY *DRAWCAPTEMP)(HWND, HDC, const RECT*, HFONT, HICON, LPCSTR, UINT); -#endif -typedef HRESULT (APIENTRY *SHINVDEFCMD)(HWND, IShellFolder*, LPCITEMIDLIST); -typedef void (APIENTRY *RUNFILEDLG)(HWND, HICON, LPCWSTR, LPCWSTR, LPCWSTR, UINT); -typedef void (APIENTRY *EXITWINDLG)(HWND); -typedef HRESULT (APIENTRY *SHWINHELP)(HWND, LPWSTR, UINT, DWORD); - -/* Constants for RunFileDlg */ -#define RFF_CALCDIRECTORY 0x04 /* Calculates the working directory from the file name. */ - -static __inline ULONG -Win32DbgPrint(const char *filename, int line, const char *lpFormat, ...) -{ - char szMsg[512]; - char *szMsgStart; - const char *fname; - va_list vl; - ULONG uRet; - - fname = strrchr(filename, '\\'); - if (fname == NULL) - { - fname = strrchr(filename, '/'); - if (fname != NULL) - fname++; - } - else - fname++; - - if (fname == NULL) - fname = filename; - - szMsgStart = szMsg + sprintf(szMsg, "%s:%d: ", fname, line); - - va_start(vl, lpFormat); - uRet = (ULONG)vsprintf(szMsgStart, lpFormat, vl); - va_end(vl); - - OutputDebugStringA(szMsg); - - return uRet; -} - -#define ASSERT(cond) \ - do if (!(cond)) { \ - Win32DbgPrint(__FILE__, __LINE__, "ASSERTION %s FAILED!\n", #cond); \ - } while (0) - -#define DbgPrint(fmt, ...) \ - Win32DbgPrint(__FILE__, __LINE__, fmt, ##__VA_ARGS__) - -extern HINSTANCE hExplorerInstance; -extern HMODULE hUser32; -extern HANDLE hProcessHeap; -extern HKEY hkExplorer; -extern DRAWCAPTEMP DrawCapTemp; - -/* - * dragdrop.c - */ - -typedef struct _DROPTARGET_CALLBACKS -{ - HRESULT (*OnDragEnter)(IN IDropTarget *pDropTarget, - IN PVOID Context, - IN const FORMATETC *Format, - IN DWORD grfKeyState, - IN POINTL pt, - IN OUT DWORD *pdwEffect); - HRESULT (*OnDragOver)(IN IDropTarget *pDropTarget, - IN PVOID Context, - IN DWORD grfKeyState, - IN POINTL pt, - IN OUT DWORD *pdwEffect); - HRESULT (*OnDragLeave)(IN IDropTarget *pDropTarget, - IN PVOID Context); - HRESULT (*OnDrop)(IN IDropTarget *pDropTarget, - IN PVOID Context, - IN const FORMATETC *Format, - IN DWORD grfKeyState, - IN POINTL pt, - IN OUT DWORD *pdwEffect); -} DROPTARGET_CALLBACKS, *PDROPTARGET_CALLBACKS; - -IDropTarget * -CreateDropTarget(IN HWND hwndTarget, - IN DWORD nSupportedFormats, - IN const FORMATETC *Formats OPTIONAL, - IN PVOID Context OPTIONAL, - IN const DROPTARGET_CALLBACKS *Callbacks OPTIONAL); - -/* - * explorer.c - */ - -#define IDHK_RUN 1 /* Win+R */ - -LONG -SetWindowStyle(IN HWND hWnd, - IN LONG dwStyleMask, - IN LONG dwStyle); - -LONG -SetWindowExStyle(IN HWND hWnd, - IN LONG dwStyleMask, - IN LONG dwStyle); - -HMENU -LoadPopupMenu(IN HINSTANCE hInstance, - IN LPCTSTR lpMenuName); - -HMENU -FindSubMenu(IN HMENU hMenu, - IN UINT uItem, - IN BOOL fByPosition); - -BOOL -GetCurrentLoggedOnUserName(OUT LPTSTR szBuffer, - IN DWORD dwBufferSize); - -BOOL -FormatMenuString(IN HMENU hMenu, - IN UINT uPosition, - IN UINT uFlags, - ...); - -BOOL -GetExplorerRegValueSet(IN HKEY hKey, - IN LPCTSTR lpSubKey, - IN LPCTSTR lpValue); - -/* - * traywnd.c - */ - -#define TWM_OPENSTARTMENU (WM_USER + 260) - -typedef HMENU (*PCREATECTXMENU)(IN HWND hWndOwner, - IN PVOID *ppcmContext, - IN PVOID Context OPTIONAL); -typedef VOID (*PCTXMENUCOMMAND)(IN HWND hWndOwner, - IN UINT uiCmdId, - IN PVOID pcmContext OPTIONAL, - IN PVOID Context OPTIONAL); - -typedef struct _TRAYWINDOW_CTXMENU -{ - PCREATECTXMENU CreateCtxMenu; - PCTXMENUCOMMAND CtxMenuCommand; -} TRAYWINDOW_CTXMENU, *PTRAYWINDOW_CTXMENU; - -extern const GUID IID_IShellDesktopTray; - -#define INTERFACE ITrayWindow -DECLARE_INTERFACE_(ITrayWindow,IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void** ppvObject) PURE; - STDMETHOD_(ULONG,AddRef) (THIS) PURE; - STDMETHOD_(ULONG,Release) (THIS) PURE; - /*** ITrayWindow methods ***/ - STDMETHOD_(HRESULT,Open) (THIS) PURE; - STDMETHOD_(HRESULT,Close) (THIS) PURE; - STDMETHOD_(HWND,GetHWND) (THIS) PURE; - STDMETHOD_(BOOL,IsSpecialHWND) (THIS_ HWND hWnd) PURE; - STDMETHOD_(BOOL,IsHorizontal) (THIS) PURE; - STDMETHOD_(HFONT,GetCaptionFonts) (THIS_ HFONT *phBoldCaption) PURE; - STDMETHOD_(HWND,DisplayProperties) (THIS) PURE; - STDMETHOD_(BOOL,ExecContextMenuCmd) (THIS_ UINT uiCmd) PURE; - STDMETHOD_(BOOL,Lock) (THIS_ BOOL bLock) PURE; -}; -#undef INTERFACE - -#if defined(COBJMACROS) -/*** IUnknown methods ***/ -#define ITrayWindow_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define ITrayWindow_AddRef(p) (p)->lpVtbl->AddRef(p) -#define ITrayWindow_Release(p) (p)->lpVtbl->Release(p) -/*** ITrayWindow methods ***/ -#define ITrayWindow_Open(p) (p)->lpVtbl->Open(p) -#define ITrayWindow_Close(p) (p)->lpVtbl->Close(p) -#define ITrayWindow_GetHWND(p) (p)->lpVtbl->GetHWND(p) -#define ITrayWindow_IsSpecialHWND(p,a) (p)->lpVtbl->IsSpecialHWND(p,a) -#define ITrayWindow_IsHorizontal(p) (p)->lpVtbl->IsHorizontal(p) -#define ITrayWindow_GetCaptionFonts(p,a) (p)->lpVtbl->GetCaptionFonts(p,a) -#define ITrayWindow_DisplayProperties(p) (p)->lpVtbl->DisplayProperties(p) -#define ITrayWindow_ExecContextMenuCmd(p,a) (p)->lpVtbl->ExecContextMenuCmd(p,a) -#define ITrayWindow_Lock(p,a) (p)->lpVtbl->Lock(p,a) -#endif - -BOOL -RegisterTrayWindowClass(VOID); - -VOID -UnregisterTrayWindowClass(VOID); - -ITrayWindow * -CreateTrayWindow(VOID); - -VOID -TrayProcessMessages(IN OUT ITrayWindow *Tray); - -VOID -TrayMessageLoop(IN OUT ITrayWindow *Tray); - -/* - * settings.c - */ - -/* Structure to hold non-default options*/ -typedef struct _ADVANCED_SETTINGS { - BOOL bShowSeconds; -} ADVANCED_SETTINGS, *PADVANCED_SETTINGS; - -extern ADVANCED_SETTINGS AdvancedSettings; -extern const TCHAR szAdvancedSettingsKey[]; - -VOID -LoadAdvancedSettings(VOID); - -BOOL -SaveSettingDword(IN PCTSTR pszKeyName, - IN PCTSTR pszValueName, - IN DWORD dwValue); - -/* - * startup.c - */ - -int -ProcessStartupItems(VOID); - -/* - * trayprop.h - */ - -VOID -DisplayTrayProperties(IN HWND hwndOwner); - -/* - * desktop.c - */ -HANDLE -DesktopCreateWindow(IN OUT ITrayWindow *Tray); - -VOID -DesktopDestroyShellWindow(IN HANDLE hDesktop); - -/* - * taskband.c - */ - -/* Internal Task Band CLSID */ -extern const GUID CLSID_ITaskBand; - -#define INTERFACE ITaskBand -DECLARE_INTERFACE_(ITaskBand,IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void** ppvObject) PURE; - STDMETHOD_(ULONG,AddRef) (THIS) PURE; - STDMETHOD_(ULONG,Release) (THIS) PURE; - /*** ITaskBand methods ***/ - STDMETHOD_(HRESULT,GetRebarBandID)(THIS_ DWORD *pdwBandID) PURE; -}; -#undef INTERFACE - -#if defined(COBJMACROS) -/*** IUnknown methods ***/ -#define ITaskBand_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define ITaskBand_AddRef(p) (p)->lpVtbl->AddRef(p) -#define ITaskBand_Release(p) (p)->lpVtbl->Release(p) -/*** ITaskBand methods ***/ -#define ITaskBand_GetRebarBandID(p,a) (p)->lpVtbl->GetRebarBandID(p,a) -#endif - -ITaskBand * -CreateTaskBand(IN OUT ITrayWindow *Tray); - -/* - * tbsite.c - */ - -#define INTERFACE ITrayBandSite -DECLARE_INTERFACE_(ITrayBandSite,IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void** ppvObject) PURE; - STDMETHOD_(ULONG,AddRef) (THIS) PURE; - STDMETHOD_(ULONG,Release) (THIS) PURE; - /*** IBandSiteStreamCallback ***/ - STDMETHOD_(HRESULT,OnLoad)(THIS_ IStream *pStm, REFIID riid, PVOID *pvObj) PURE; - STDMETHOD_(HRESULT,OnSave)(THIS_ IUnknown *pUnk, IStream *pStm) PURE; - /*** ITrayBandSite methods ***/ - STDMETHOD_(HRESULT,IsTaskBand) (THIS_ IUnknown *punk) PURE; - STDMETHOD_(HRESULT,ProcessMessage) (THIS_ HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *plResult) PURE; - STDMETHOD_(HRESULT,AddContextMenus) (THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags, IContextMenu **ppcm) PURE; - STDMETHOD_(HRESULT,Lock) (THIS_ BOOL bLock) PURE; -}; -#undef INTERFACE - -#if defined(COBJMACROS) -/*** IUnknown methods ***/ -#define ITrayBandSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define ITrayBandSite_AddRef(p) (p)->lpVtbl->AddRef(p) -#define ITrayBandSite_Release(p) (p)->lpVtbl->Release(p) -/*** IBandSiteStreamCallback methods ***/ -#define ITrayBandSite_OnLoad(p,a,b,c) (p)->lpVtbl->OnLoad(p,a,b,c) -#define ITrayBandSite_OnSave(p,a,b) (p)->lpVtbl->OnSave(p,a,b) -/*** ITrayBandSite methods ***/ -#define ITrayBandSite_IsTaskBand(p,a) (p)->lpVtbl->IsTaskBand(p,a) -#define ITrayBandSite_ProcessMessage(p,a,b,c,d,e) (p)->lpVtbl->ProcessMessage(p,a,b,c,d,e) -#define ITrayBandSite_AddContextMenus(p,a,b,c,d,e,f) (p)->lpVtbl->AddContextMenus(p,a,b,c,d,e,f) -#define ITrayBandSite_Lock(p,a) (p)->lpVtbl->Lock(p,a) -#endif - -ITrayBandSite * -CreateTrayBandSite(IN OUT ITrayWindow *Tray, - OUT HWND *phWndRebar, - OUT HWND *phWndTaskSwitch); - -/* - * startmnu.c - */ - -extern const TRAYWINDOW_CTXMENU StartMenuBtnCtxMenu; - -#define INTERFACE IStartMenuSite -DECLARE_INTERFACE_(IStartMenuSite,IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void** ppvObject) PURE; - STDMETHOD_(ULONG,AddRef) (THIS) PURE; - STDMETHOD_(ULONG,Release) (THIS) PURE; - /*** IStartMenuSite ***/ -}; -#undef INTERFACE - -#if defined(COBJMACROS) -/*** IUnknown methods ***/ -#define IStartMenuSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IStartMenuSite_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IStartMenuSite_Release(p) (p)->lpVtbl->Release(p) -/*** IStartMenuSite methods ***/ -#endif - -IMenuPopup* -CreateStartMenu(IN ITrayWindow *Tray, - OUT IMenuBand **ppMenuBand, - IN HBITMAP hbmBanner OPTIONAL, - IN BOOL bSmallIcons); - -HRESULT -UpdateStartMenu(IN OUT IMenuPopup *pMenuPopup, - IN HBITMAP hbmBanner OPTIONAL, - IN BOOL bSmallIcons); - -/* - * trayntfy.c - */ - -/* TrayClockWnd */ -#define TCWM_GETMINIMUMSIZE (WM_USER + 0x100) -#define TCWM_UPDATETIME (WM_USER + 0x101) - -/* TrayNotifyWnd */ -#define TNWM_GETMINIMUMSIZE (WM_USER + 0x100) -#define TNWM_UPDATETIME (WM_USER + 0x101) -#define TNWM_SHOWCLOCK (WM_USER + 0x102) -#define TNWM_SHOWTRAY (WM_USER + 0x103) -#define TNWM_CHANGETRAYPOS (WM_USER + 0x104) - -#define NTNWM_REALIGN (0x1) - -BOOL -RegisterTrayNotifyWndClass(VOID); - -VOID -UnregisterTrayNotifyWndClass(VOID); - -HWND -CreateTrayNotifyWnd(IN OUT ITrayWindow *TrayWindow, - IN BOOL bHideClock); - -VOID -TrayNotify_NotifyMsg(IN HWND hwnd, - IN WPARAM wParam, - IN LPARAM lParam); - -BOOL -TrayNotify_GetClockRect(IN HWND hwnd, - OUT PRECT rcClock); - -/* - * taskswnd.c - */ - -#define TSWM_ENABLEGROUPING (WM_USER + 1) -#define TSWM_UPDATETASKBARPOS (WM_USER + 2) - -BOOL -RegisterTaskSwitchWndClass(VOID); - -VOID -UnregisterTaskSwitchWndClass(VOID); - -HWND -CreateTaskSwitchWnd(IN HWND hWndParent, - IN OUT ITrayWindow *Tray); - -#endif /* _EXPLORER_PRECOMP__H_ */ diff --git a/base/shell/explorer-new/res/logov.bmp b/base/shell/explorer-new/res/logov.bmp deleted file mode 100644 index b4404ba9b90..00000000000 Binary files a/base/shell/explorer-new/res/logov.bmp and /dev/null differ diff --git a/base/shell/explorer-new/resource.h b/base/shell/explorer-new/resource.h deleted file mode 100644 index e8b32e4aa25..00000000000 --- a/base/shell/explorer-new/resource.h +++ /dev/null @@ -1,111 +0,0 @@ -#pragma once - -#define IDC_STATIC -1 - -#define IDI_START 101 - -#define IDS_START 101 -#define IDS_PROPERTIES 102 -#define IDS_OPEN_ALL_USERS 103 -#define IDS_EXPLORE_ALL_USERS 104 -#define IDS_STARTUP_ERROR 105 - -#define IDC_STARTBTN 304 - -#define IDM_TRAYWND 101 -#define IDM_STARTMENU 102 - -#define IDB_STARTMENU 101 - -#define ID_SHELL_CMD_FIRST 0xF -#define ID_SHELL_CMD_LAST 0x7FEF -#define ID_SHELL_CMD_PROPERTIES (ID_SHELL_CMD_LAST + 1) -#define ID_SHELL_CMD_OPEN_ALL_USERS (ID_SHELL_CMD_LAST + 2) -#define ID_SHELL_CMD_EXPLORE_ALL_USERS (ID_SHELL_CMD_LAST + 3) - -#define ID_LOCKTASKBAR (ID_SHELL_CMD_LAST + 4) - -#define ID_SHELL_CMD_OPEN_TASKMGR (ID_SHELL_CMD_LAST + 5) -#define ID_SHELL_CMD_UNDO_ACTION (ID_SHELL_CMD_LAST + 6) -#define ID_SHELL_CMD_SHOW_DESKTOP (ID_SHELL_CMD_LAST + 7) -#define ID_SHELL_CMD_TILE_WND_V (ID_SHELL_CMD_LAST + 8) -#define ID_SHELL_CMD_TILE_WND_H (ID_SHELL_CMD_LAST + 9) -#define ID_SHELL_CMD_CASCADE_WND (ID_SHELL_CMD_LAST + 10) -#define ID_SHELL_CMD_CUST_NOTIF (ID_SHELL_CMD_LAST + 11) -#define ID_SHELL_CMD_ADJUST_DAT (ID_SHELL_CMD_LAST + 12) - -/* NOTE: The following constants may *NOT* be changed because - they're hardcoded and need to be the exact values - in order to get the start menu to work! */ -#define IDM_PROGRAMS 504 -#define IDM_FAVORITES 507 -#define IDM_DOCUMENTS 501 -#define IDM_SETTINGS 508 -#define IDM_CONTROLPANEL 505 -#define IDM_SECURITY 5001 -#define IDM_NETWORKCONNECTIONS 557 -#define IDM_PRINTERSANDFAXES 510 -#define IDM_TASKBARANDSTARTMENU 413 -#define IDM_SEARCH 520 -#define IDM_HELPANDSUPPORT 503 -#define IDM_RUN 401 -#define IDM_SYNCHRONIZE 553 -#define IDM_LOGOFF 402 -#define IDM_DISCONNECT 5000 -#define IDM_UNDOCKCOMPUTER 410 -#define IDM_SHUTDOWN 506 -#define IDM_LASTSTARTMENU_SEPARATOR 450 - -/* Taskbar resources */ -#define IDD_TASKBARPAGE 2000 -#define IDC_TASKBAR_BITMAP 2001 -#define IDD_STARTMENUPAGE 2001 -#define IDD_NOTIFICATIONPAGE 2002 -#define IDD_TOOLBARSPAGE 2003 - -/* Taskbar properties, taskbar */ -#define IDD_TASKBARPROP_TASKBAR 2000 -#define IDC_TASKBARPROP_TASKBARBITMAP 2001 -#define IDC_TASKBARPROP_LOCK 2002 -#define IDC_TASKBARPROP_HIDE 2003 -#define IDC_TASKBARPROP_ONTOP 2004 -#define IDC_TASKBARPROP_GROUP 2005 -#define IDC_TASKBARPROP_SHOWQL 2006 -#define IDC_TASKBARPROP_WNDPREV 2007 - -#define IDB_TASKBARPROP_AUTOHIDE 2050 -#define IDB_TASKBARPROP_LOCK_GROUP_NOQL 2051 -#define IDB_TASKBARPROP_LOCK_GROUP_QL 2052 -#define IDB_TASKBARPROP_LOCK_NOGROUP_NOQL 2053 -#define IDB_TASKBARPROP_LOCK_NOGROUP_QL 2054 -#define IDB_TASKBARPROP_NOLOCK_GROUP_NOQL 2055 -#define IDB_TASKBARPROP_NOLOCK_NOGROUP_NOQL 2056 -#define IDB_TASKBARPROP_NOLOCK_NOGROUP_QL 2057 -#define IDB_TASKBARPROP_NOLOCK_GROUP_QL 2058 -#define IDC_TASKBARPROP_SECONDS 2059 - -/* Taskbar properties, startmenu*/ -#define IDD_TASKBARPROP_STARTMENU 2100 -#define IDC_TASKBARPROP_STARTMENU 2101 -#define IDC_TASKBARPROP_STARTMENUCUST 2102 -#define IDC_TASKBARPROP_STARTMENUCLASSIC 2103 -#define IDC_TASKBARPROP_STARTMENUCLASSICCUST 2104 -#define IDC_TASKBARPROP_RECENTFILES 2105 -#define IDC_TASKBARPROP_RECENTFOLDERS 2106 - -/* Taskbar properties, notification */ -#define IDD_TASKBARPROP_NOTIFICATION 2200 -#define IDC_TASKBARPROP_NOTIFICATIONBITMAP 2201 -#define IDC_TASKBARPROP_HIDEICONS 2202 -#define IDC_TASKBARPROP_ICONCUST 2203 -#define IDC_TASKBARPROP_CLOCK 2204 -#define IDC_TASKBARPROP_VOLUME 2205 -#define IDC_TASKBARPROP_NETWORK 2206 -#define IDC_TASKBARPROP_POWER 2207 -#define IDD_TASKBARPROP_ADVANCED 2208 - -/* Taskbar properties, toolbars */ -#define IDD_TASKBARPROP_TOOLBARS 2300 -#define IDC_TASKBARPROP_DESKBANDLIST 2301 - -#define IDS_TASKBAR_STARTMENU_PROP_CAPTION 2200 diff --git a/base/shell/explorer-new/startmnu.c b/base/shell/explorer-new/startmnu.c deleted file mode 100644 index 845f53835e9..00000000000 --- a/base/shell/explorer-new/startmnu.c +++ /dev/null @@ -1,950 +0,0 @@ -/* - * ReactOS Explorer - * - * Copyright 2006 - 2007 Thomas Weidenmueller - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "precomp.h" - -/* - * Start menu button context menu - */ - -typedef struct _STARTMNU_CTMENU_CTX -{ - IContextMenu *pcm; - LPITEMIDLIST pidl; -} STARTMNU_CTMENU_CTX, *PSTARTMNU_CTMENU_CTX; - -static HMENU -CreateStartContextMenu(IN HWND hWndOwner, - IN PVOID *ppcmContext, - IN PVOID Context OPTIONAL); - -static VOID -OnStartContextMenuCommand(IN HWND hWndOwner, - IN UINT uiCmdId, - IN PVOID pcmContext OPTIONAL, - IN PVOID Context OPTIONAL); - -const TRAYWINDOW_CTXMENU StartMenuBtnCtxMenu = { - CreateStartContextMenu, - OnStartContextMenuCommand -}; - -static HMENU -CreateContextMenuFromShellFolderPidl(IN HWND hWndOwner, - IN OUT IShellFolder *psf, - IN OUT LPITEMIDLIST pidl, - OUT IContextMenu **ppcm) -{ - IContextMenu *pcm; - HRESULT hRet; - HMENU hPopup; - - hRet = IShellFolder_GetUIObjectOf(psf, - hWndOwner, - 1, - (LPCITEMIDLIST *)&pidl, - &IID_IContextMenu, - NULL, - (PVOID *)&pcm); - if (SUCCEEDED(hRet)) - { - hPopup = CreatePopupMenu(); - - if (hPopup != NULL) - { - hRet = IContextMenu_QueryContextMenu(pcm, - hPopup, - 0, - ID_SHELL_CMD_FIRST, - ID_SHELL_CMD_LAST, - CMF_VERBSONLY); - - if (SUCCEEDED(hRet)) - { - *ppcm = pcm; - return hPopup; - } - - DestroyMenu(hPopup); - } - - IContextMenu_Release(pcm); - } - - return NULL; -} - -static VOID -OnStartContextMenuCommand(IN HWND hWndOwner, - IN UINT uiCmdId, - IN PVOID pcmContext OPTIONAL, - IN PVOID Context OPTIONAL) -{ - PSTARTMNU_CTMENU_CTX psmcmc = pcmContext; - - if (uiCmdId != 0) - { - if ((uiCmdId >= ID_SHELL_CMD_FIRST) && (uiCmdId <= ID_SHELL_CMD_LAST)) - { - CMINVOKECOMMANDINFO cmici = {0}; - CHAR szDir[MAX_PATH]; - - /* Setup and invoke the shell command */ - cmici.cbSize = sizeof(cmici); - cmici.hwnd = hWndOwner; - cmici.lpVerb = (LPCSTR)MAKEINTRESOURCE(uiCmdId - ID_SHELL_CMD_FIRST); - cmici.nShow = SW_NORMAL; - - /* FIXME: Support Unicode!!! */ - if (SHGetPathFromIDListA(psmcmc->pidl, - szDir)) - { - cmici.lpDirectory = szDir; - } - - IContextMenu_InvokeCommand(psmcmc->pcm, - &cmici); - } - else - { - ITrayWindow_ExecContextMenuCmd((ITrayWindow *)Context, - uiCmdId); - } - } - - IContextMenu_Release(psmcmc->pcm); - - HeapFree(hProcessHeap, - 0, - psmcmc); -} - -static VOID -AddStartContextMenuItems(IN HWND hWndOwner, - IN HMENU hPopup) -{ - TCHAR szBuf[MAX_PATH]; - HRESULT hRet; - - /* Add the "Open All Users" menu item */ - if (LoadString(hExplorerInstance, - IDS_PROPERTIES, - szBuf, - sizeof(szBuf) / sizeof(szBuf[0]))) - { - AppendMenu(hPopup, - MF_STRING, - ID_SHELL_CMD_PROPERTIES, - szBuf); - } - - if (!SHRestricted(REST_NOCOMMONGROUPS)) - { - /* Check if we should add menu items for the common start menu */ - hRet = SHGetFolderPath(hWndOwner, - CSIDL_COMMON_STARTMENU, - NULL, - SHGFP_TYPE_CURRENT, - szBuf); - if (SUCCEEDED(hRet) && hRet != S_FALSE) - { - /* The directory exists, but only show the items if the - user can actually make any changes to the common start - menu. This is most likely only the case if the user - has administrative rights! */ - if (IsUserAnAdmin()) - { - AppendMenu(hPopup, - MF_SEPARATOR, - 0, - NULL); - - /* Add the "Open All Users" menu item */ - if (LoadString(hExplorerInstance, - IDS_OPEN_ALL_USERS, - szBuf, - sizeof(szBuf) / sizeof(szBuf[0]))) - { - AppendMenu(hPopup, - MF_STRING, - ID_SHELL_CMD_OPEN_ALL_USERS, - szBuf); - } - - /* Add the "Explore All Users" menu item */ - if (LoadString(hExplorerInstance, - IDS_EXPLORE_ALL_USERS, - szBuf, - sizeof(szBuf) / sizeof(szBuf[0]))) - { - AppendMenu(hPopup, - MF_STRING, - ID_SHELL_CMD_EXPLORE_ALL_USERS, - szBuf); - } - } - } - } -} - -static HMENU -CreateStartContextMenu(IN HWND hWndOwner, - IN PVOID *ppcmContext, - IN PVOID Context OPTIONAL) -{ - LPITEMIDLIST pidlStart, pidlLast; - IShellFolder *psfStart, *psfDesktop; - IContextMenu *pcm; - HRESULT hRet; - HMENU hPopup; - - pidlStart = SHCloneSpecialIDList(hWndOwner, - CSIDL_STARTMENU, - TRUE); - - if (pidlStart != NULL) - { - pidlLast = ILClone(ILFindLastID(pidlStart)); - ILRemoveLastID(pidlStart); - - if (pidlLast != NULL) - { - hRet = SHGetDesktopFolder(&psfDesktop); - if (SUCCEEDED(hRet)) - { - hRet = IShellFolder_BindToObject(psfDesktop, - pidlStart, - NULL, - &IID_IShellFolder, - (PVOID*)&psfStart); - if (SUCCEEDED(hRet)) - { - hPopup = CreateContextMenuFromShellFolderPidl(hWndOwner, - psfStart, - pidlLast, - &pcm); - - if (hPopup != NULL) - { - PSTARTMNU_CTMENU_CTX psmcmc; - - psmcmc = HeapAlloc(hProcessHeap, - 0, - sizeof(*psmcmc)); - if (psmcmc != NULL) - { - psmcmc->pcm = pcm; - psmcmc->pidl = pidlLast; - - AddStartContextMenuItems(hWndOwner, - hPopup); - - *ppcmContext = psmcmc; - return hPopup; - } - else - { - IContextMenu_Release(pcm); - - DestroyMenu(hPopup); - hPopup = NULL; - } - } - - IShellFolder_Release(psfStart); - } - - IShellFolder_Release(psfDesktop); - } - - ILFree(pidlLast); - } - - ILFree(pidlStart); - } - - return NULL; -} - -/***************************************************************************** - ** IStartMenuSite *********************************************************** - *****************************************************************************/ - -static const IStartMenuSiteVtbl IStartMenuSiteImpl_Vtbl; -static const IServiceProviderVtbl IServiceProviderImpl_Vtbl; -static const ITrayPrivVtbl ITrayPrivImpl_Vtbl; -static const IOleCommandTargetVtbl IOleCommandTargetImpl_Vtbl; - -typedef struct -{ - const IStartMenuSiteVtbl *lpVtbl; - const IServiceProviderVtbl *lpServiceProviderVtbl; - const ITrayPrivVtbl *lpStartMenuCallbackVtbl; - const IOleCommandTargetVtbl *lpOleCommandTargetVtbl; - LONG Ref; - - ITrayWindow *Tray; -} IStartMenuSiteImpl; - -static IUnknown * -IUnknown_from_IStartMenuSiteImpl(IStartMenuSiteImpl *This) -{ - return (IUnknown *)&This->lpVtbl; -} - -IMPL_CASTS(IStartMenuSite, IStartMenuSite, lpVtbl) -IMPL_CASTS(IServiceProvider, IStartMenuSite, lpServiceProviderVtbl) -IMPL_CASTS(ITrayPriv, IStartMenuSite, lpStartMenuCallbackVtbl) -IMPL_CASTS(IOleCommandTarget, IStartMenuSite, lpOleCommandTargetVtbl) - -/*******************************************************************/ - -static ULONG STDMETHODCALLTYPE -IStartMenuSiteImpl_AddRef(IN OUT IStartMenuSite *iface) -{ - IStartMenuSiteImpl *This = IStartMenuSiteImpl_from_IStartMenuSite(iface); - - return InterlockedIncrement(&This->Ref); -} - -static VOID -IStartMenuSiteImpl_Free(IN OUT IStartMenuSiteImpl *This) -{ - HeapFree(hProcessHeap, - 0, - This); -} - -static ULONG STDMETHODCALLTYPE -IStartMenuSiteImpl_Release(IN OUT IStartMenuSite *iface) -{ - IStartMenuSiteImpl *This = IStartMenuSiteImpl_from_IStartMenuSite(iface); - ULONG Ret; - - Ret = InterlockedDecrement(&This->Ref); - - if (Ret == 0) - IStartMenuSiteImpl_Free(This); - - return Ret; -} - -static HRESULT STDMETHODCALLTYPE -IStartMenuSiteImpl_QueryInterface(IN OUT IStartMenuSite *iface, - IN REFIID riid, - OUT LPVOID *ppvObj) -{ - IStartMenuSiteImpl *This; - - if (ppvObj == NULL) - return E_POINTER; - - This = IStartMenuSiteImpl_from_IStartMenuSite(iface); - - if (IsEqualIID(riid, - &IID_IUnknown)) - { - *ppvObj = IUnknown_from_IStartMenuSiteImpl(This); - } - else if (IsEqualIID(riid, - &IID_IServiceProvider)) - { - *ppvObj = IServiceProvider_from_IStartMenuSiteImpl(This); - } - else if (IsEqualIID(riid, - &IID_ITrayPriv) || - IsEqualIID(riid, - &IID_IOleWindow)) - { - *ppvObj = ITrayPriv_from_IStartMenuSiteImpl(This); - } - else if (IsEqualIID(riid, - &IID_IOleCommandTarget)) - { - *ppvObj = IOleCommandTarget_from_IStartMenuSiteImpl(This); - } - else - { - DbgPrint("IStartMenuSite::QueryInterface queried unsupported interface: " - "{0x%8x,0x%4x,0x%4x,{0x%2x,0x%2x,0x%2x,0x%2x,0x%2x,0x%2x,0x%2x,0x%2x}}\n", - riid->Data1, riid->Data2, riid->Data3, riid->Data4[0], riid->Data4[1], - riid->Data4[2], riid->Data4[3], riid->Data4[4], riid->Data4[5], - riid->Data4[6], riid->Data4[7]); - *ppvObj = NULL; - return E_NOINTERFACE; - } - - IStartMenuSiteImpl_AddRef(iface); - return S_OK; -} - -static const IStartMenuSiteVtbl IStartMenuSiteImpl_Vtbl = -{ - /*** IUnknown methods ***/ - IStartMenuSiteImpl_QueryInterface, - IStartMenuSiteImpl_AddRef, - IStartMenuSiteImpl_Release, - /*** IStartMenuSite methods ***/ -}; - -/*******************************************************************/ - -METHOD_IUNKNOWN_INHERITED_ADDREF(IServiceProvider, IStartMenuSite) -METHOD_IUNKNOWN_INHERITED_RELEASE(IServiceProvider, IStartMenuSite) -METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE(IServiceProvider, IStartMenuSite) - -static HRESULT STDMETHODCALLTYPE -IStartMenuSiteImpl_QueryService(IN OUT IServiceProvider *iface, - IN REFGUID guidService, - IN REFIID riid, - OUT PVOID *ppvObject) -{ - IStartMenuSiteImpl *This = IStartMenuSiteImpl_from_IServiceProvider(iface); - - if (IsEqualGUID(guidService, - &SID_SMenuPopup)) - { - return IStartMenuSiteImpl_QueryInterface(IStartMenuSite_from_IStartMenuSiteImpl(This), - riid, - ppvObject); - } - - return E_NOINTERFACE; -} - -static const IServiceProviderVtbl IServiceProviderImpl_Vtbl = -{ - /*** IUnknown methods ***/ - METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE_NAME(IServiceProvider, IStartMenuSite), - METHOD_IUNKNOWN_INHERITED_ADDREF_NAME(IServiceProvider, IStartMenuSite), - METHOD_IUNKNOWN_INHERITED_RELEASE_NAME(IServiceProvider, IStartMenuSite), - /*** IServiceProvider methods ***/ - IStartMenuSiteImpl_QueryService -}; - -/*******************************************************************/ - -METHOD_IUNKNOWN_INHERITED_ADDREF(ITrayPriv, IStartMenuSite) -METHOD_IUNKNOWN_INHERITED_RELEASE(ITrayPriv, IStartMenuSite) -METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE(ITrayPriv, IStartMenuSite) - -static HRESULT STDMETHODCALLTYPE -IStartMenuSiteImpl_GetWindow(IN OUT ITrayPriv *iface, - OUT HWND *phwnd) -{ - IStartMenuSiteImpl *This = IStartMenuSiteImpl_from_ITrayPriv(iface); - DbgPrint("ITrayPriv::GetWindow\n"); - - *phwnd = ITrayWindow_GetHWND(This->Tray); - if (*phwnd != NULL) - return S_OK; - - return E_FAIL; -} - -static HRESULT STDMETHODCALLTYPE -IStartMenuSiteImpl_ContextSensitiveHelp(IN OUT ITrayPriv *iface, - IN BOOL fEnterMode) -{ - DbgPrint("ITrayPriv::ContextSensitiveHelp\n"); - return E_NOTIMPL; -} - -static HRESULT STDMETHODCALLTYPE -IStartMenuSiteImpl_Execute(IN OUT ITrayPriv *iface, - IN IShellFolder *pShellFolder, - IN LPCITEMIDLIST pidl) -{ - HMODULE hShlwapi; - HRESULT ret = S_FALSE; - - IStartMenuSiteImpl *This = IStartMenuSiteImpl_from_ITrayPriv(iface); - - DbgPrint("ITrayPriv::Execute\n"); - - hShlwapi = GetModuleHandle(TEXT("SHLWAPI.DLL")); - if (hShlwapi != NULL) - { - SHINVDEFCMD SHInvokeDefCmd; - - /* SHInvokeDefaultCommand */ - SHInvokeDefCmd = (SHINVDEFCMD)GetProcAddress(hShlwapi, - (LPCSTR)((LONG)279)); - if (SHInvokeDefCmd != NULL) - { - ret = SHInvokeDefCmd(ITrayWindow_GetHWND(This->Tray), - pShellFolder, - pidl); - } - } - - return ret; -} - -static HRESULT STDMETHODCALLTYPE -IStartMenuSiteImpl_Unknown(IN OUT ITrayPriv *iface, - IN PVOID Unknown1, - IN PVOID Unknown2, - IN PVOID Unknown3, - IN PVOID Unknown4) -{ - DbgPrint("ITrayPriv::Unknown(0x%p,0x%p,0x%p,0x%p)\n", Unknown1, Unknown2, Unknown3, Unknown4); - return E_NOTIMPL; -} - -static BOOL -ShowUndockMenuItem(VOID) -{ - DbgPrint("ShowUndockMenuItem() not implemented!\n"); - /* FIXME: How do we detect this?! */ - return FALSE; -} - -static BOOL -ShowSynchronizeMenuItem(VOID) -{ - DbgPrint("ShowSynchronizeMenuItem() not implemented!\n"); - /* FIXME: How do we detect this?! */ - return FALSE; -} - -static HRESULT STDMETHODCALLTYPE -IStartMenuSiteImpl_AppendMenu(IN OUT ITrayPriv *iface, - OUT HMENU* phMenu) -{ - HMENU hMenu, hSettingsMenu; - DWORD dwLogoff; - BOOL bWantLogoff; - UINT uLastItemsCount = 5; /* 5 menu items below the last separator */ - TCHAR szUser[128]; - - DbgPrint("ITrayPriv::AppendMenu\n"); - - hMenu = LoadPopupMenu(hExplorerInstance, - MAKEINTRESOURCE(IDM_STARTMENU)); - *phMenu = hMenu; - if (hMenu == NULL) - return E_FAIL; - - /* Remove menu items that don't apply */ - - dwLogoff = SHRestricted(REST_STARTMENULOGOFF); - bWantLogoff = (dwLogoff == 2 || - SHRestricted(REST_FORCESTARTMENULOGOFF) || - GetExplorerRegValueSet(HKEY_CURRENT_USER, - TEXT("Advanced"), - TEXT("StartMenuLogoff"))); - - /* FIXME: Favorites */ - - /* Documents */ - if (SHRestricted(REST_NORECENTDOCSMENU)) - { - DeleteMenu(hMenu, - IDM_DOCUMENTS, - MF_BYCOMMAND); - } - - /* Settings */ - hSettingsMenu = FindSubMenu(hMenu, - IDM_SETTINGS, - FALSE); - if (hSettingsMenu != NULL) - { - if (SHRestricted(REST_NOSETFOLDERS)) - { - /* Control Panel */ - if (SHRestricted(REST_NOCONTROLPANEL)) - { - DeleteMenu(hSettingsMenu, - IDM_CONTROLPANEL, - MF_BYCOMMAND); - - /* Delete the separator below it */ - DeleteMenu(hSettingsMenu, - 0, - MF_BYPOSITION); - } - - /* Network Connections */ - if (SHRestricted(REST_NONETWORKCONNECTIONS)) - { - DeleteMenu(hSettingsMenu, - IDM_NETWORKCONNECTIONS, - MF_BYCOMMAND); - } - - /* Printers and Faxes */ - DeleteMenu(hSettingsMenu, - IDM_PRINTERSANDFAXES, - MF_BYCOMMAND); - } - - /* Security */ - if (GetSystemMetrics(SM_REMOTECONTROL) == 0 || - SHRestricted(REST_NOSECURITY)) - { - DeleteMenu(hSettingsMenu, - IDM_SECURITY, - MF_BYCOMMAND); - } - - if (GetMenuItemCount(hSettingsMenu) == 0) - { - DeleteMenu(hMenu, - IDM_SETTINGS, - MF_BYCOMMAND); - } - } - - /* Search */ - if (SHRestricted(REST_NOFIND)) - { - DeleteMenu(hMenu, - IDM_SEARCH, - MF_BYCOMMAND); - } - - /* FIXME: Help */ - - /* Run */ - if (SHRestricted(REST_NORUN)) - { - DeleteMenu(hMenu, - IDM_RUN, - MF_BYCOMMAND); - } - - /* Synchronize */ - if (!ShowSynchronizeMenuItem()) - { - DeleteMenu(hMenu, - IDM_SYNCHRONIZE, - MF_BYCOMMAND); - uLastItemsCount--; - } - - /* Log off */ - if (dwLogoff != 1 && bWantLogoff) - { - /* FIXME: We need a more sophisticated way to determine whether to show - or hide it, it might be hidden in too many cases!!! */ - - /* Update Log Off menu item */ - if (!GetCurrentLoggedOnUserName(szUser, - sizeof(szUser) / sizeof(szUser[0]))) - { - szUser[0] = _T('\0'); - } - - if (!FormatMenuString(hMenu, - IDM_LOGOFF, - MF_BYCOMMAND, - szUser)) - { - /* We couldn't update the menu item, delete it... */ - DeleteMenu(hMenu, - IDM_LOGOFF, - MF_BYCOMMAND); - } - } - else - { - DeleteMenu(hMenu, - IDM_LOGOFF, - MF_BYCOMMAND); - uLastItemsCount--; - } - - - /* Disconnect */ - if (GetSystemMetrics(SM_REMOTECONTROL) == 0) - { - DeleteMenu(hMenu, - IDM_DISCONNECT, - MF_BYCOMMAND); - uLastItemsCount--; - } - - /* Undock computer */ - if (!ShowUndockMenuItem()) - { - DeleteMenu(hMenu, - IDM_UNDOCKCOMPUTER, - MF_BYCOMMAND); - uLastItemsCount--; - } - - /* Shut down */ - if (SHRestricted(REST_NOCLOSE)) - { - DeleteMenu(hMenu, - IDM_SHUTDOWN, - MF_BYCOMMAND); - uLastItemsCount--; - } - - if (uLastItemsCount == 0) - { - /* Remove the separator at the end of the menu */ - DeleteMenu(hMenu, - IDM_LASTSTARTMENU_SEPARATOR, - MF_BYCOMMAND); - } - - return S_OK; -} - -static const ITrayPrivVtbl ITrayPrivImpl_Vtbl = -{ - /*** IUnknown methods ***/ - METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE_NAME(ITrayPriv, IStartMenuSite), - METHOD_IUNKNOWN_INHERITED_ADDREF_NAME(ITrayPriv, IStartMenuSite), - METHOD_IUNKNOWN_INHERITED_RELEASE_NAME(ITrayPriv, IStartMenuSite), - /*** IOleWindow methods ***/ - IStartMenuSiteImpl_GetWindow, - IStartMenuSiteImpl_ContextSensitiveHelp, - /*** ITrayPriv methods ***/ - IStartMenuSiteImpl_Execute, - IStartMenuSiteImpl_Unknown, - IStartMenuSiteImpl_AppendMenu -}; - -/*******************************************************************/ - -METHOD_IUNKNOWN_INHERITED_ADDREF(IOleCommandTarget, IStartMenuSite) -METHOD_IUNKNOWN_INHERITED_RELEASE(IOleCommandTarget, IStartMenuSite) -METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE(IOleCommandTarget, IStartMenuSite) - -static HRESULT STDMETHODCALLTYPE -IStartMenuSiteImpl_QueryStatus(IN OUT IOleCommandTarget *iface, - IN const GUID *pguidCmdGroup OPTIONAL, - IN ULONG cCmds, - IN OUT OLECMD *prgCmds, - IN OUT OLECMDTEXT *pCmdText OPTIONAL) -{ - return E_NOTIMPL; -} - -static HRESULT STDMETHODCALLTYPE -IStartMenuSiteImpl_Exec(IN OUT IOleCommandTarget *iface, - IN const GUID *pguidCmdGroup OPTIONAL, - IN DWORD nCmdID, - IN DWORD nCmdExecOpt, - IN VARIANTARG *pvaIn OPTIONAL, - IN VARIANTARG *pvaOut OPTIONAL) -{ - return E_NOTIMPL; -} - -static const IOleCommandTargetVtbl IOleCommandTargetImpl_Vtbl = -{ - /*** IUnknown methods ***/ - METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE_NAME(IOleCommandTarget, IStartMenuSite), - METHOD_IUNKNOWN_INHERITED_ADDREF_NAME(IOleCommandTarget, IStartMenuSite), - METHOD_IUNKNOWN_INHERITED_RELEASE_NAME(IOleCommandTarget, IStartMenuSite), - /*** IOleCommandTarget ***/ - IStartMenuSiteImpl_QueryStatus, - IStartMenuSiteImpl_Exec -}; - -/*******************************************************************/ - -static IStartMenuSiteImpl* -IStartMenuSiteImpl_Construct(IN ITrayWindow *Tray) -{ - IStartMenuSiteImpl *This; - - This = HeapAlloc(hProcessHeap, - HEAP_ZERO_MEMORY, - sizeof(*This)); - if (This == NULL) - return NULL; - - This->lpVtbl = &IStartMenuSiteImpl_Vtbl; - This->lpServiceProviderVtbl = &IServiceProviderImpl_Vtbl; - This->lpStartMenuCallbackVtbl = &ITrayPrivImpl_Vtbl; - This->lpOleCommandTargetVtbl = &IOleCommandTargetImpl_Vtbl; - This->Ref = 1; - - This->Tray = Tray; - - return This; -} - -static IStartMenuSite* -CreateStartMenuSite(IN ITrayWindow *Tray) -{ - IStartMenuSiteImpl *This; - - This = IStartMenuSiteImpl_Construct(Tray); - if (This != NULL) - { - return IStartMenuSite_from_IStartMenuSiteImpl(This); - } - - return NULL; -} - -HRESULT -UpdateStartMenu(IN OUT IMenuPopup *pMenuPopup, - IN HBITMAP hbmBanner OPTIONAL, - IN BOOL bSmallIcons) -{ - IBanneredBar *pbb; - HRESULT hRet; - - hRet = IMenuPopup_QueryInterface(pMenuPopup, - &IID_IBanneredBar, - (PVOID *)&pbb); - if (SUCCEEDED(hRet)) - { - hRet = IBanneredBar_SetBitmap(pbb, hbmBanner); - - /* Update the icon size */ - hRet = IBanneredBar_SetIconSize(pbb, - bSmallIcons ? BMICON_SMALL : BMICON_LARGE); - - IBanneredBar_Release(pbb); - } - - return hRet; -} - -IMenuPopup * -CreateStartMenu(IN ITrayWindow *Tray, - OUT IMenuBand **ppMenuBand, - IN HBITMAP hbmBanner OPTIONAL, - IN BOOL bSmallIcons) -{ - HRESULT hr; - IObjectWithSite *pOws = NULL; - IMenuPopup *pMp = NULL; - IStartMenuSite *pSms = NULL; - IMenuBand *pMb = NULL; - IInitializeObject *pIo; - IUnknown *pUnk = NULL; - IBandSite *pBs = NULL; - DWORD dwBandId = 0; - - pSms = CreateStartMenuSite(Tray); - if (pSms == NULL) - return NULL; - - hr = CoCreateInstance(&CLSID_StartMenu, - NULL, - CLSCTX_INPROC_SERVER, - &IID_IMenuPopup, - (PVOID *)&pMp); - if (FAILED(hr)) - { - DbgPrint("CoCreateInstance failed: %x\n", hr); - goto cleanup; - } - - hr = IMenuPopup_QueryInterface(pMp, - &IID_IObjectWithSite, - (PVOID *)&pOws); - if (FAILED(hr)) - { - DbgPrint("IMenuPopup_QueryInterface failed: %x\n", hr); - goto cleanup; - } - - /* Set the menu site so we can handle messages */ - hr = IObjectWithSite_SetSite(pOws, (IUnknown *)pSms); - if (FAILED(hr)) - { - DbgPrint("IObjectWithSite_SetSite failed: %x\n", hr); - goto cleanup; - } - - /* Initialize the menu object */ - hr = IMenuPopup_QueryInterface(pMp, &IID_IInitializeObject, (PVOID*)&pIo); - if (SUCCEEDED(hr)) - { - hr = IInitializeObject_Initialize(pIo); - IInitializeObject_Release(pIo); - } - else - hr = S_OK; - - /* Everything is initialized now. Let's get the IMenuBand interface. */ - if (FAILED(hr)) - { - DbgPrint("IMenuPopup_QueryInterface failed: %x\n", hr); - goto cleanup; - } - - hr = IMenuPopup_GetClient(pMp, &pUnk); - if (FAILED(hr)) - { - DbgPrint("IMenuPopup_GetClient failed: %x\n", hr); - goto cleanup; - } - - hr = IUnknown_QueryInterface(pUnk, &IID_IBandSite, (PVOID *)&pBs); - if (FAILED(hr)) - { - DbgPrint("IUnknown_QueryInterface pBs failed: %x\n", hr); - goto cleanup; - } - - /* Finally we have the IBandSite interface, there's only one - band in it that apparently provides the IMenuBand interface */ - hr = IBandSite_EnumBands(pBs, 0, &dwBandId); - if (FAILED(hr)) - { - DbgPrint("IBandSite_EnumBands failed: %x\n", hr); - goto cleanup; - } - - hr = IBandSite_GetBandObject(pBs, dwBandId, &IID_IMenuBand, (PVOID *)&pMb); - if (FAILED(hr)) - { - DbgPrint("IBandSite_GetBandObject failed: %x\n", hr); - goto cleanup; - } - - UpdateStartMenu(pMp, - hbmBanner, - bSmallIcons); - -cleanup: - if (SUCCEEDED(hr)) - *ppMenuBand = pMb; - else if (pMb != NULL) - IMenuBand_Release(pMb); - - if (pBs != NULL) - IBandSite_Release(pBs); - if (pUnk != NULL) - IUnknown_Release(pUnk); - if (pOws != NULL) - IObjectWithSite_Release(pOws); - if (pMp != NULL) - IMenuPopup_Release(pMp); - if (pSms != NULL) - IStartMenuSite_Release(pSms); - - if (FAILED(hr)) - return NULL; - return pMp; -} diff --git a/base/shell/explorer-new/taskband.c b/base/shell/explorer-new/taskband.c deleted file mode 100644 index b884a7ae78f..00000000000 --- a/base/shell/explorer-new/taskband.c +++ /dev/null @@ -1,663 +0,0 @@ -/* - * ReactOS Explorer - * - * Copyright 2006 - 2007 Thomas Weidenmueller - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "precomp.h" - -/***************************************************************************** - ** ITaskBand **************************************************************** - *****************************************************************************/ - -const GUID CLSID_ITaskBand = {0x68284FAA,0x6A48,0x11D0,{0x8C,0x78,0x00,0xC0,0x4F,0xD9,0x18,0xB4}}; - -static const ITaskBandVtbl ITaskBandImpl_Vtbl; -static const IDeskBandVtbl IDeskBandImpl_Vtbl; -static const IObjectWithSiteVtbl IObjectWithSiteImpl_Vtbl; -static const IDeskBarVtbl IDeskBarImpl_Vtbl; -static const IPersistStreamVtbl IPersistStreamImpl_Vtbl; -static const IWinEventHandlerVtbl IWinEventHandlerImpl_Vtbl; - -typedef struct -{ - const ITaskBandVtbl *lpVtbl; - const IDeskBandVtbl *lpDeskBandVtbl; - const IObjectWithSiteVtbl *lpObjectWithSiteVtbl; - const IDeskBarVtbl *lpDeskBarVtbl; - const IPersistStreamVtbl *lpPersistStreamVtbl; - const IWinEventHandlerVtbl *lpWindowEventHandlerVtbl; - /* FIXME: Implement IOleCommandTarget */ - LONG Ref; - - ITrayWindow *Tray; - IUnknown *punkSite; - - HWND hWnd; - DWORD dwBandID; -} ITaskBandImpl; - -static IUnknown * -IUnknown_from_ITaskBandImpl(ITaskBandImpl *This) -{ - return (IUnknown *)&This->lpVtbl; -} - -IMPL_CASTS(ITaskBand, ITaskBand, lpVtbl) -IMPL_CASTS(IDeskBand, ITaskBand, lpDeskBandVtbl) -IMPL_CASTS(IObjectWithSite, ITaskBand, lpObjectWithSiteVtbl) -IMPL_CASTS(IDeskBar, ITaskBand, lpDeskBarVtbl) -IMPL_CASTS(IPersistStream, ITaskBand, lpPersistStreamVtbl) -IMPL_CASTS(IWinEventHandler, ITaskBand, lpWindowEventHandlerVtbl) - -static ULONG STDMETHODCALLTYPE -ITaskBandImpl_AddRef(IN OUT ITaskBand *iface) -{ - ITaskBandImpl *This = ITaskBandImpl_from_ITaskBand(iface); - - return InterlockedIncrement(&This->Ref); -} - -static VOID -ITaskBandImpl_Free(IN OUT ITaskBandImpl *This) -{ - if (This->punkSite != NULL) - { - IUnknown_Release(This->punkSite); - This->punkSite = NULL; - } - - HeapFree(hProcessHeap, - 0, - This); -} - -static ULONG STDMETHODCALLTYPE -ITaskBandImpl_Release(IN OUT ITaskBand *iface) -{ - ITaskBandImpl *This = ITaskBandImpl_from_ITaskBand(iface); - ULONG Ret; - - Ret = InterlockedDecrement(&This->Ref); - - if (Ret == 0) - ITaskBandImpl_Free(This); - - return Ret; -} - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_QueryInterface(IN OUT ITaskBand *iface, - IN REFIID riid, - OUT LPVOID *ppvObj) -{ - ITaskBandImpl *This; - - if (ppvObj == NULL) - return E_POINTER; - - This = ITaskBandImpl_from_ITaskBand(iface); - - if (IsEqualIID(riid, - &IID_IUnknown)) - { - *ppvObj = IUnknown_from_ITaskBandImpl(This); - } - else if (IsEqualIID(riid, - &IID_IDeskBand) || - IsEqualIID(riid, - &IID_IOleWindow) || - IsEqualIID(riid, - &IID_IDockingWindow)) - { - *ppvObj = IDeskBand_from_ITaskBandImpl(This); - } - else if (IsEqualIID(riid, - &IID_IObjectWithSite)) - { - *ppvObj = IObjectWithSite_from_ITaskBandImpl(This); - } - else if (IsEqualIID(riid, - &IID_IDeskBar)) - { - *ppvObj = IDeskBar_from_ITaskBandImpl(This); - } - else if (IsEqualIID(riid, - &IID_IWinEventHandler)) - { - /* When run on Windows the system queries this interface, which is completely - undocumented :( It's queried during initialization of the tray band site. - The system apparently uses this interface to forward messages to be handled - by the band child window. This interface appears to be implemented by a number - of classes provided by the shell, including the IBandSite interface. In that - we (the host application) forward messages to the default message handler (in - our case the IBandSite default message handler for the Rebar control)! This - interface in the ITaskBand implementation is only actually used if we use - the same interface to forward messages to the IBandSite implementation of - the shell! */ - *ppvObj = IWinEventHandler_from_ITaskBandImpl(This); - } -#if 0 - else if (IsEqualIID(riid, - &IID_IPersistStream) || - IsEqualIID(riid, - &IID_IPersist)) - { - *ppvObj = IPersistStream_from_ITaskBandImpl(This); - } -#endif - else - { - *ppvObj = NULL; - return E_NOINTERFACE; - } - - ITaskBandImpl_AddRef(iface); - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_GetRebarBandID(IN OUT ITaskBand *iface, - OUT DWORD *pdwBandID) -{ - ITaskBandImpl *This = ITaskBandImpl_from_ITaskBand(iface); - - if (This->dwBandID != (DWORD)-1) - { - if (pdwBandID != NULL) - *pdwBandID = This->dwBandID; - - return S_OK; - } - - return E_FAIL; -} - -static const ITaskBandVtbl ITaskBandImpl_Vtbl = -{ - /*** IUnknown methods ***/ - ITaskBandImpl_QueryInterface, - ITaskBandImpl_AddRef, - ITaskBandImpl_Release, - /*** ITaskBand methods ***/ - ITaskBandImpl_GetRebarBandID -}; - -/*****************************************************************************/ - -METHOD_IUNKNOWN_INHERITED_ADDREF(IDeskBand, ITaskBand) -METHOD_IUNKNOWN_INHERITED_RELEASE(IDeskBand, ITaskBand) -METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE(IDeskBand, ITaskBand) - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_GetWindow(IN OUT IDeskBand *iface, - OUT HWND *phwnd) -{ - ITaskBandImpl *This = ITaskBandImpl_from_IDeskBand(iface); - - /* NOTE: We have to return the tray window here so that ITaskBarClient - knows the parent window of the Rebar control it creates when - calling ITaskBarClient::SetDeskBarSite()! However, once we - created a window we return the task switch window! */ - if (This->hWnd != NULL) - *phwnd = This->hWnd; - else - *phwnd = ITrayWindow_GetHWND(This->Tray); - - DbgPrint("ITaskBand::GetWindow(0x%p->0x%p)\n", phwnd, *phwnd); - - if (*phwnd != NULL) - return S_OK; - - return E_FAIL; -} - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_ContextSensitiveHelp(IN OUT IDeskBand *iface, - IN BOOL fEnterMode) -{ - /* FIXME: Implement */ - return E_NOTIMPL; -} - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_ShowDW(IN OUT IDeskBand *iface, - IN BOOL bShow) -{ - /* We don't do anything... */ - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_CloseDW(IN OUT IDeskBand *iface, - IN DWORD dwReserved) -{ - /* We don't do anything... */ - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_ResizeBoderDW(IN OUT IDeskBand *iface, - IN LPCRECT prcBorder, - IN IUnknown *punkToolbarSite, - IN BOOL fReserved) -{ - /* No need to implement this method */ - return E_NOTIMPL; -} - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_GetBandInfo(IN OUT IDeskBand *iface, - IN DWORD dwBandID, - IN DWORD dwViewMode, - IN OUT DESKBANDINFO *pdbi) -{ - ITaskBandImpl *This = ITaskBandImpl_from_IDeskBand(iface); - DbgPrint("ITaskBand::GetBandInfo(0x%x,0x%x,0x%p) hWnd=0x%p\n", dwBandID, dwViewMode, pdbi, This->hWnd); - - /* NOTE: We could save dwBandID in the instance in case we need it later... */ - - if (This->hWnd != NULL) - { - /* The task band never has a title */ - pdbi->dwMask &= ~DBIM_TITLE; - - /* NOTE: We don't return DBIMF_UNDELETEABLE here, the band site will - handle us differently and add this flag for us. The reason for - this is future changes that might allow it to be deletable. - We want the band site to be in charge of this decision rather - the band itself! */ - /* FIXME: What about DBIMF_NOGRIPPER and DBIMF_ALWAYSGRIPPER */ - pdbi->dwModeFlags = DBIMF_VARIABLEHEIGHT; - - if (dwViewMode & DBIF_VIEWMODE_VERTICAL) - { - pdbi->ptIntegral.y = 1; - pdbi->ptMinSize.y = 1; - /* FIXME: Get the button metrics from the task bar object!!! */ - pdbi->ptMinSize.x = (3 * GetSystemMetrics(SM_CXEDGE) / 2) + /* FIXME: Might be wrong if only one column! */ - GetSystemMetrics(SM_CXSIZE) + (2 * GetSystemMetrics(SM_CXEDGE)); /* FIXME: Min button size, query!!! */ - } - else - { - pdbi->ptMinSize.y = GetSystemMetrics(SM_CYSIZE) + (2 * GetSystemMetrics(SM_CYEDGE)); /* FIXME: Query */ - pdbi->ptIntegral.y = pdbi->ptMinSize.y + (3 * GetSystemMetrics(SM_CYEDGE) / 2); /* FIXME: Query metrics */ - /* We're not going to allow task bands where not even the minimum button size fits into the band */ - pdbi->ptMinSize.x = pdbi->ptIntegral.y; - } - - /* Ignored: pdbi->ptMaxSize.x */ - pdbi->ptMaxSize.y = -1; - - /* FIXME: We should query the height from the task bar object!!! */ - pdbi->ptActual.y = GetSystemMetrics(SM_CYSIZE) + (2 * GetSystemMetrics(SM_CYEDGE)); - - /* Save the band ID for future use in case we need to check whether a given band - is the task band */ - This->dwBandID = dwBandID; - - DbgPrint("H: %d, Min: %d,%d, Integral.y: %d Actual: %d,%d\n", (dwViewMode & DBIF_VIEWMODE_VERTICAL) == 0, - pdbi->ptMinSize.x, pdbi->ptMinSize.y, pdbi->ptIntegral.y, - pdbi->ptActual.x,pdbi->ptActual.y); - - return S_OK; - } - - return E_FAIL; -} - -static const IDeskBandVtbl IDeskBandImpl_Vtbl = -{ - /*** IUnknown methods ***/ - METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE_NAME(IDeskBand, ITaskBand), - METHOD_IUNKNOWN_INHERITED_ADDREF_NAME(IDeskBand, ITaskBand), - METHOD_IUNKNOWN_INHERITED_RELEASE_NAME(IDeskBand, ITaskBand), - /*** IOleWindow methods ***/ - ITaskBandImpl_GetWindow, - ITaskBandImpl_ContextSensitiveHelp, - /*** IDockingWindow methods ***/ - ITaskBandImpl_ShowDW, - ITaskBandImpl_CloseDW, - ITaskBandImpl_ResizeBoderDW, - /*** IDeskBand methods ***/ - ITaskBandImpl_GetBandInfo -}; - -/*****************************************************************************/ - -METHOD_IUNKNOWN_INHERITED_ADDREF(IDeskBar, ITaskBand) -METHOD_IUNKNOWN_INHERITED_RELEASE(IDeskBar, ITaskBand) -METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE(IDeskBar, ITaskBand) - -static HRESULT STDMETHODCALLTYPE -IDeskBarImpl_GetWindow(IN OUT IDeskBar *iface, - OUT HWND *phwnd) -{ - ITaskBandImpl *This = ITaskBandImpl_from_IDeskBar(iface); - IDeskBand *DeskBand = IDeskBand_from_ITaskBandImpl(This); - - /* Proxy to IDeskBand interface */ - return IDeskBand_GetWindow(DeskBand, - phwnd); -} - -static HRESULT STDMETHODCALLTYPE -IDeskBarImpl_ContextSensitiveHelp(IN OUT IDeskBar *iface, - IN BOOL fEnterMode) -{ - ITaskBandImpl *This = ITaskBandImpl_from_IDeskBar(iface); - IDeskBand *DeskBand = IDeskBand_from_ITaskBandImpl(This); - - /* Proxy to IDeskBand interface */ - return IDeskBand_ContextSensitiveHelp(DeskBand, - fEnterMode); -} - -static HRESULT STDMETHODCALLTYPE -IDeskBarImpl_SetClient(IN OUT IDeskBar *iface, - IN IUnknown *punkClient) -{ - DbgPrint("IDeskBar::SetClient(0x%p)\n", punkClient); - return E_NOTIMPL; -} - -static HRESULT STDMETHODCALLTYPE -IDeskBarImpl_GetClient(IN OUT IDeskBar *iface, - OUT IUnknown **ppunkClient) -{ - DbgPrint("IDeskBar::GetClient(0x%p)\n", ppunkClient); - return E_NOTIMPL; -} - -static HRESULT STDMETHODCALLTYPE -IDeskBarImpl_OnPosRectChangeDB(IN OUT IDeskBar *iface, - IN RECT *prc) -{ - DbgPrint("IDeskBar::OnPosRectChangeDB(0x%p=(%d,%d,%d,%d))\n", prc, prc->left, prc->top, prc->right, prc->bottom); - if (prc->bottom - prc->top == 0) - return S_OK; - - return S_FALSE; -} - -static const IDeskBarVtbl IDeskBarImpl_Vtbl = -{ - /*** IUnknown methods ***/ - METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE_NAME(IDeskBar, ITaskBand), - METHOD_IUNKNOWN_INHERITED_ADDREF_NAME(IDeskBar, ITaskBand), - METHOD_IUNKNOWN_INHERITED_RELEASE_NAME(IDeskBar, ITaskBand), - /*** IOleWindow methods ***/ - IDeskBarImpl_GetWindow, - IDeskBarImpl_ContextSensitiveHelp, - /*** IDeskBar methods ***/ - IDeskBarImpl_SetClient, - IDeskBarImpl_GetClient, - IDeskBarImpl_OnPosRectChangeDB -}; - -/*****************************************************************************/ - -METHOD_IUNKNOWN_INHERITED_ADDREF(IPersistStream, ITaskBand) -METHOD_IUNKNOWN_INHERITED_RELEASE(IPersistStream, ITaskBand) -METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE(IPersistStream, ITaskBand) - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_GetClassID(IN OUT IPersistStream *iface, - OUT CLSID *pClassID) -{ - DbgPrint("ITaskBand::GetClassID(0x%p)\n", pClassID); - /* We're going to return the (internal!) CLSID of the task band interface */ - *pClassID = CLSID_ITaskBand; - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_IsDirty(IN OUT IPersistStream *iface) -{ - /* The object hasn't changed since the last save! */ - return S_FALSE; -} - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_Load(IN OUT IPersistStream *iface, - IN IStream *pStm) -{ - DbgPrint("ITaskBand::Load called\n"); - /* Nothing to do */ - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_Save(IN OUT IPersistStream *iface, - IN IStream *pStm, - IN BOOL fClearDirty) -{ - /* Nothing to do */ - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_GetSizeMax(IN OUT IPersistStream *iface, - OUT ULARGE_INTEGER *pcbSize) -{ - DbgPrint("ITaskBand::GetSizeMax called\n"); - /* We don't need any space for the task band */ - pcbSize->QuadPart = 0; - return S_OK; -} - -static const IPersistStreamVtbl IPersistStreamImpl_Vtbl = -{ - /*** IUnknown methods ***/ - METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE_NAME(IPersistStream, ITaskBand), - METHOD_IUNKNOWN_INHERITED_ADDREF_NAME(IPersistStream, ITaskBand), - METHOD_IUNKNOWN_INHERITED_RELEASE_NAME(IPersistStream, ITaskBand), - /*** IPersist methods ***/ - ITaskBandImpl_GetClassID, - /*** IPersistStream methods ***/ - ITaskBandImpl_IsDirty, - ITaskBandImpl_Load, - ITaskBandImpl_Save, - ITaskBandImpl_GetSizeMax -}; - -/*****************************************************************************/ - -METHOD_IUNKNOWN_INHERITED_ADDREF(IObjectWithSite, ITaskBand) -METHOD_IUNKNOWN_INHERITED_RELEASE(IObjectWithSite, ITaskBand) -METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE(IObjectWithSite, ITaskBand) - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_SetSite(IN OUT IObjectWithSite *iface, - IN IUnknown* pUnkSite) -{ - ITaskBandImpl *This = ITaskBandImpl_from_IObjectWithSite(iface); - HRESULT hRet = E_FAIL; - - DbgPrint("ITaskBand::SetSite(0x%p)\n", pUnkSite); - - /* Release the current site */ - if (This->punkSite != NULL) - { - IUnknown_Release(This->punkSite); - } - - This->punkSite = NULL; - This->hWnd = NULL; - - if (pUnkSite != NULL) - { - IOleWindow *OleWindow; - - /* Check if the site supports IOleWindow */ - hRet = IUnknown_QueryInterface(pUnkSite, - &IID_IOleWindow, - (PVOID *)&OleWindow); - if (SUCCEEDED(hRet)) - { - HWND hWndParent = NULL; - - hRet = IOleWindow_GetWindow(OleWindow, - &hWndParent); - if (SUCCEEDED(hRet)) - { - /* Attempt to create the task switch window */ - - DbgPrint("CreateTaskSwitchWnd(Parent: 0x%p)\n", hWndParent); - This->hWnd = CreateTaskSwitchWnd(hWndParent, - This->Tray); - if (This->hWnd != NULL) - { - This->punkSite = pUnkSite; - hRet = S_OK; - } - else - { - DbgPrint("CreateTaskSwitchWnd() failed!\n"); - IUnknown_Release(OleWindow); - hRet = E_FAIL; - } - } - else - IUnknown_Release(OleWindow); - } - else - DbgPrint("Querying IOleWindow failed: 0x%x\n", hRet); - } - - return hRet; -} - -static HRESULT STDMETHODCALLTYPE -ITaskBandImpl_GetSite(IN OUT IObjectWithSite *iface, - IN REFIID riid, - OUT VOID **ppvSite) -{ - ITaskBandImpl *This = ITaskBandImpl_from_IObjectWithSite(iface); - DbgPrint("ITaskBand::GetSite(0x%p,0x%p)\n", riid, ppvSite); - - if (This->punkSite != NULL) - { - return IUnknown_QueryInterface(This->punkSite, - riid, - ppvSite); - } - - *ppvSite = NULL; - return E_FAIL; -} - -static const IObjectWithSiteVtbl IObjectWithSiteImpl_Vtbl = -{ - /*** IUnknown methods ***/ - METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE_NAME(IObjectWithSite, ITaskBand), - METHOD_IUNKNOWN_INHERITED_ADDREF_NAME(IObjectWithSite, ITaskBand), - METHOD_IUNKNOWN_INHERITED_RELEASE_NAME(IObjectWithSite, ITaskBand), - /*** IObjectWithSite methods ***/ - ITaskBandImpl_SetSite, - ITaskBandImpl_GetSite -}; - - -/*****************************************************************************/ - -METHOD_IUNKNOWN_INHERITED_ADDREF(IWinEventHandler, ITaskBand) -METHOD_IUNKNOWN_INHERITED_RELEASE(IWinEventHandler, ITaskBand) -METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE(IWinEventHandler, ITaskBand) - -static HRESULT STDMETHODCALLTYPE -IWinEventHandlerImpl_ProcessMessage(IN OUT IWinEventHandler *iface, - IN HWND hWnd, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam, - OUT LRESULT *plrResult) -{ - DbgPrint("ITaskBand: IWinEventHandler::ProcessMessage(0x%p, 0x%x, 0x%p, 0x%p, 0x%p)\n", hWnd, uMsg, wParam, lParam, plrResult); - return E_NOTIMPL; -} - -static HRESULT STDMETHODCALLTYPE -IWinEventHandlerImpl_ContainsWindow(IN OUT IWinEventHandler *iface, - IN HWND hWnd) -{ - ITaskBandImpl *This = ITaskBandImpl_from_IWinEventHandler(iface); - HRESULT hRet = S_OK; - - if (This->hWnd != hWnd || - !IsChild(This->hWnd, - hWnd)) - { - hRet = S_FALSE; - } - - DbgPrint("ITaskBand::ContainsWindow(0x%p) returns %s\n", hWnd, hRet == S_OK ? "S_OK" : "S_FALSE"); - - return hRet; -} - -static const IWinEventHandlerVtbl IWinEventHandlerImpl_Vtbl = -{ - /*** IUnknown methods ***/ - METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE_NAME(IWinEventHandler, ITaskBand), - METHOD_IUNKNOWN_INHERITED_ADDREF_NAME(IWinEventHandler, ITaskBand), - METHOD_IUNKNOWN_INHERITED_RELEASE_NAME(IWinEventHandler, ITaskBand), - /*** IWinEventHandler methods ***/ - IWinEventHandlerImpl_ProcessMessage, - IWinEventHandlerImpl_ContainsWindow -}; - -/*****************************************************************************/ - -static ITaskBandImpl * -ITaskBandImpl_Construct(IN OUT ITrayWindow *Tray) -{ - ITaskBandImpl *This; - - This = HeapAlloc(hProcessHeap, - HEAP_ZERO_MEMORY, - sizeof(*This)); - if (This == NULL) - return NULL; - - This->lpVtbl = &ITaskBandImpl_Vtbl; - This->lpDeskBandVtbl = &IDeskBandImpl_Vtbl; - This->lpObjectWithSiteVtbl = &IObjectWithSiteImpl_Vtbl; - This->lpDeskBarVtbl = &IDeskBarImpl_Vtbl; - This->lpPersistStreamVtbl = &IPersistStreamImpl_Vtbl; - This->lpWindowEventHandlerVtbl = &IWinEventHandlerImpl_Vtbl; - This->Ref = 1; - - This->Tray = Tray; - This->dwBandID = (DWORD)-1; - - return This; -} - -ITaskBand * -CreateTaskBand(IN OUT ITrayWindow *Tray) -{ - ITaskBandImpl *This; - - This = ITaskBandImpl_Construct(Tray); - if (This != NULL) - { - return ITaskBand_from_ITaskBandImpl(This); - } - - return NULL; -} diff --git a/base/shell/explorer-new/taskswnd.c b/base/shell/explorer-new/taskswnd.c deleted file mode 100644 index 5b1abb7fe41..00000000000 --- a/base/shell/explorer-new/taskswnd.c +++ /dev/null @@ -1,2203 +0,0 @@ -/* - * ReactOS Explorer - * - * Copyright 2006 - 2007 Thomas Weidenmueller - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "precomp.h" - -/* Set DUMP_TASKS to 1 to enable a dump of the tasks and task groups every - 5 seconds */ -#define DUMP_TASKS 0 - -static const TCHAR szTaskSwitchWndClass[] = TEXT("MSTaskSwWClass"); -static const TCHAR szRunningApps[] = TEXT("Running Applications"); - -typedef struct _TASK_GROUP -{ - /* We have to use a linked list instead of an array so we don't have to - update all pointers to groups in the task item array when removing - groups. */ - struct _TASK_GROUP *Next; - - DWORD dwTaskCount; - DWORD dwProcessId; - INT Index; - union - { - DWORD dwFlags; - struct - { - - DWORD IsCollapsed : 1; - }; - }; -} TASK_GROUP, *PTASK_GROUP; - -typedef struct _TASK_ITEM -{ - HWND hWnd; - PTASK_GROUP Group; - INT Index; - INT IconIndex; - - - - union - { - DWORD dwFlags; - struct - { - - /* IsFlashing is TRUE when the task bar item should be flashing. */ - DWORD IsFlashing : 1; - - /* RenderFlashed is only TRUE if the task bar item should be - drawn with a flash. */ - DWORD RenderFlashed : 1; - }; - }; -} TASK_ITEM, *PTASK_ITEM; - -#define TASK_ITEM_ARRAY_ALLOC 64 - -typedef struct _TASK_SWITCH_WND -{ - HWND hWnd; - HWND hWndNotify; - - UINT ShellHookMsg; - ITrayWindow *Tray; - - PTASK_GROUP TaskGroups; - - WORD TaskItemCount; - WORD AllocatedTaskItems; - PTASK_ITEM TaskItems; - PTASK_ITEM ActiveTaskItem; - - HTHEME TaskBandTheme; - HWND hWndToolbar; - UINT TbButtonsPerLine; - WORD ToolbarBtnCount; - HIMAGELIST TaskIcons; - - union - { - DWORD dwFlags; - struct - { - DWORD IsGroupingEnabled : 1; - DWORD IsDestroying : 1; - DWORD IsToolbarSubclassed : 1; - }; - }; - - SIZE ButtonSize; - TCHAR szBuf[255]; -} TASK_SWITCH_WND, *PTASK_SWITCH_WND; - -#define TSW_TOOLBAR_SUBCLASS_ID 1 - -#define MAX_TASKS_COUNT (0x7FFF) - -static VOID TaskSwitchWnd_UpdateButtonsSize(IN OUT PTASK_SWITCH_WND This, - IN BOOL bRedrawDisabled); - -static LPTSTR -TaskSwitchWnd_GetWndTextFromTaskItem(IN OUT PTASK_SWITCH_WND This, - IN PTASK_ITEM TaskItem) -{ - /* Get the window text without sending a message so we don't hang if an - application isn't responding! */ - if (InternalGetWindowText(TaskItem->hWnd, - This->szBuf, - sizeof(This->szBuf) / sizeof(This->szBuf[0])) > 0) - { - return This->szBuf; - } - - return NULL; -} - - -#if DUMP_TASKS != 0 -static VOID -TaskSwitchWnd_DumpTasks(IN OUT PTASK_SWITCH_WND This) -{ - PTASK_GROUP CurrentGroup; - PTASK_ITEM CurrentTaskItem, LastTaskItem; - - DbgPrint("Tasks dump:\n"); - if (This->IsGroupingEnabled) - { - CurrentGroup = This->TaskGroups; - while (CurrentGroup != NULL) - { - DbgPrint("- Group PID: 0x%p Tasks: %d Index: %d\n", CurrentGroup->dwProcessId, CurrentGroup->dwTaskCount, CurrentGroup->Index); - - CurrentTaskItem = This->TaskItems; - LastTaskItem = CurrentTaskItem + This->TaskItemCount; - while (CurrentTaskItem != LastTaskItem) - { - if (CurrentTaskItem->Group == CurrentGroup) - { - DbgPrint(" + Task hwnd: 0x%p Index: %d\n", CurrentTaskItem->hWnd, CurrentTaskItem->Index); - } - CurrentTaskItem++; - } - - CurrentGroup = CurrentGroup->Next; - } - - CurrentTaskItem = This->TaskItems; - LastTaskItem = CurrentTaskItem + This->TaskItemCount; - while (CurrentTaskItem != LastTaskItem) - { - if (CurrentTaskItem->Group == NULL) - { - DbgPrint("- Task hwnd: 0x%p Index: %d\n", CurrentTaskItem->hWnd, CurrentTaskItem->Index); - } - CurrentTaskItem++; - } - } - else - { - CurrentTaskItem = This->TaskItems; - LastTaskItem = CurrentTaskItem + This->TaskItemCount; - while (CurrentTaskItem != LastTaskItem) - { - DbgPrint("- Task hwnd: 0x%p Index: %d\n", CurrentTaskItem->hWnd, CurrentTaskItem->Index); - CurrentTaskItem++; - } - } -} -#endif - -static VOID -TaskSwitchWnd_BeginUpdate(IN OUT PTASK_SWITCH_WND This) -{ - SendMessage(This->hWndToolbar, - WM_SETREDRAW, - FALSE, - 0); -} - -static VOID -TaskSwitchWnd_EndUpdate(IN OUT PTASK_SWITCH_WND This) -{ - SendMessage(This->hWndToolbar, - WM_SETREDRAW, - TRUE, - 0); - InvalidateRect(This->hWndToolbar, - NULL, - TRUE); -} - -static BOOL -TaskSwitchWnd_SetToolbarButtonCommandId(IN OUT PTASK_SWITCH_WND This, - IN INT iButtonIndex, - IN INT iCommandId) -{ - TBBUTTONINFO tbbi; - - tbbi.cbSize = sizeof(tbbi); - tbbi.dwMask = TBIF_BYINDEX | TBIF_COMMAND; - tbbi.idCommand = iCommandId; - - return SendMessage(This->hWndToolbar, - TB_SETBUTTONINFO, - (WPARAM)iButtonIndex, - (LPARAM)&tbbi) != 0; -} - -static VOID -TaskSwitchWnd_UpdateIndexesAfterButtonInserted(IN OUT PTASK_SWITCH_WND This, - IN INT iIndex) -{ - PTASK_GROUP CurrentGroup; - PTASK_ITEM CurrentTaskItem, LastTaskItem; - INT NewIndex; - - if (This->IsGroupingEnabled) - { - /* Update all affected groups */ - CurrentGroup = This->TaskGroups; - while (CurrentGroup != NULL) - { - if (CurrentGroup->IsCollapsed && - CurrentGroup->Index >= iIndex) - { - /* Update the toolbar buttons */ - NewIndex = CurrentGroup->Index + 1; - if (TaskSwitchWnd_SetToolbarButtonCommandId(This, - CurrentGroup->Index + 1, - NewIndex)) - { - CurrentGroup->Index = NewIndex; - } - else - CurrentGroup->Index = -1; - } - - CurrentGroup = CurrentGroup->Next; - } - } - - /* Update all affected task items */ - CurrentTaskItem = This->TaskItems; - LastTaskItem = CurrentTaskItem + This->TaskItemCount; - while (CurrentTaskItem != LastTaskItem) - { - CurrentGroup = CurrentTaskItem->Group; - if (CurrentGroup != NULL) - { - if (!CurrentGroup->IsCollapsed && - CurrentTaskItem->Index >= iIndex) - { - goto UpdateTaskItemBtn; - } - } - else if (CurrentTaskItem->Index >= iIndex) - { -UpdateTaskItemBtn: - /* Update the toolbar buttons */ - NewIndex = CurrentTaskItem->Index + 1; - if (TaskSwitchWnd_SetToolbarButtonCommandId(This, - CurrentTaskItem->Index + 1, - NewIndex)) - { - CurrentTaskItem->Index = NewIndex; - } - else - CurrentTaskItem->Index = -1; - } - - CurrentTaskItem++; - } -} - -static VOID -TaskSwitchWnd_UpdateIndexesAfterButtonDeleted(IN OUT PTASK_SWITCH_WND This, - IN INT iIndex) -{ - PTASK_GROUP CurrentGroup; - PTASK_ITEM CurrentTaskItem, LastTaskItem; - INT NewIndex; - - if (This->IsGroupingEnabled) - { - /* Update all affected groups */ - CurrentGroup = This->TaskGroups; - while (CurrentGroup != NULL) - { - if (CurrentGroup->IsCollapsed && - CurrentGroup->Index > iIndex) - { - /* Update the toolbar buttons */ - NewIndex = CurrentGroup->Index - 1; - if (TaskSwitchWnd_SetToolbarButtonCommandId(This, - CurrentGroup->Index - 1, - NewIndex)) - { - CurrentGroup->Index = NewIndex; - } - else - CurrentGroup->Index = -1; - } - - CurrentGroup = CurrentGroup->Next; - } - } - - /* Update all affected task items */ - CurrentTaskItem = This->TaskItems; - LastTaskItem = CurrentTaskItem + This->TaskItemCount; - while (CurrentTaskItem != LastTaskItem) - { - CurrentGroup = CurrentTaskItem->Group; - if (CurrentGroup != NULL) - { - if (!CurrentGroup->IsCollapsed && - CurrentTaskItem->Index > iIndex) - { - goto UpdateTaskItemBtn; - } - } - else if (CurrentTaskItem->Index > iIndex) - { -UpdateTaskItemBtn: - /* Update the toolbar buttons */ - NewIndex = CurrentTaskItem->Index - 1; - if (TaskSwitchWnd_SetToolbarButtonCommandId(This, - CurrentTaskItem->Index - 1, - NewIndex)) - { - CurrentTaskItem->Index = NewIndex; - } - else - CurrentTaskItem->Index = -1; - } - - CurrentTaskItem++; - } -} - -static INT -TaskSwitchWnd_UpdateTaskGroupButton(IN OUT PTASK_SWITCH_WND This, - IN PTASK_GROUP TaskGroup) -{ - ASSERT(TaskGroup->Index >= 0); - - /* FIXME: Implement */ - - return TaskGroup->Index; -} - -static VOID -TaskSwitchWnd_ExpandTaskGroup(IN OUT PTASK_SWITCH_WND This, - IN PTASK_GROUP TaskGroup) -{ - ASSERT(TaskGroup->dwTaskCount > 0); - ASSERT(TaskGroup->IsCollapsed); - ASSERT(TaskGroup->Index >= 0); - - /* FIXME: Implement */ -} - -static HICON -TaskSwitchWnd_GetWndIcon(HWND hwnd) -{ - HICON hIcon = 0; - - SendMessageTimeout(hwnd, WM_GETICON, ICON_SMALL2, 0, SMTO_ABORTIFHUNG, 1000, (PDWORD_PTR)&hIcon); - - if (!hIcon) - SendMessageTimeout(hwnd, WM_GETICON, ICON_SMALL, 0, SMTO_ABORTIFHUNG, 1000, (PDWORD_PTR)&hIcon); - - if (!hIcon) - SendMessageTimeout(hwnd, WM_GETICON, ICON_BIG, 0, SMTO_ABORTIFHUNG, 1000, (PDWORD_PTR)&hIcon); - - if (!hIcon) - hIcon = (HICON)GetClassLongPtr(hwnd, GCL_HICONSM); - - if (!hIcon) - hIcon = (HICON)GetClassLongPtr(hwnd, GCL_HICON); - - return hIcon; -} -static INT -TaskSwitchWnd_UpdateTaskItemButton(IN OUT PTASK_SWITCH_WND This, - IN PTASK_ITEM TaskItem) -{ - TBBUTTONINFO tbbi; - HICON icon; - - ASSERT(TaskItem->Index >= 0); - - tbbi.cbSize = sizeof(tbbi); - tbbi.dwMask = TBIF_BYINDEX | TBIF_STATE | TBIF_TEXT | TBIF_IMAGE; - tbbi.fsState = TBSTATE_ENABLED; - if (This->ActiveTaskItem == TaskItem) - tbbi.fsState |= TBSTATE_CHECKED; - - if (TaskItem->RenderFlashed) - tbbi.fsState |= TBSTATE_MARKED; - - /* Check if we're updating a button that is the last one in the - line. If so, we need to set the TBSTATE_WRAP flag! */ - if (This->TbButtonsPerLine != 0 && - (TaskItem->Index + 1) % This->TbButtonsPerLine == 0) - { - tbbi.fsState |= TBSTATE_WRAP; - } - - tbbi.pszText = TaskSwitchWnd_GetWndTextFromTaskItem(This, - TaskItem); - - icon = TaskSwitchWnd_GetWndIcon(TaskItem->hWnd); - TaskItem->IconIndex = ImageList_ReplaceIcon(This->TaskIcons, - TaskItem->IconIndex, - icon); - tbbi.iImage = TaskItem->IconIndex; - - if (!SendMessage(This->hWndToolbar, - TB_SETBUTTONINFO, - (WPARAM)TaskItem->Index, - (LPARAM)&tbbi)) - { - TaskItem->Index = -1; - return -1; - } - - DbgPrint("Updated button %d for hwnd 0x%p\n", TaskItem->Index, TaskItem->hWnd); - return TaskItem->Index; -} - -static VOID -TaskSwitchWnd_RemoveIcon(IN OUT PTASK_SWITCH_WND This, - IN PTASK_ITEM TaskItem) -{ - TBBUTTONINFO tbbi; - PTASK_ITEM currentTaskItem, LastItem; - - if (TaskItem->IconIndex == -1) - return; - - tbbi.cbSize = sizeof(tbbi); - tbbi.dwMask = TBIF_IMAGE; - - currentTaskItem = This->TaskItems; - LastItem = currentTaskItem + This->TaskItemCount; - while (currentTaskItem != LastItem) - { - if (currentTaskItem->IconIndex > TaskItem->IconIndex) - { - currentTaskItem->IconIndex--; - tbbi.iImage = currentTaskItem->IconIndex; - - SendMessage(This->hWndToolbar, - TB_SETBUTTONINFO, - currentTaskItem->Index, - (LPARAM)&tbbi); - } - currentTaskItem++; - } - - ImageList_Remove(This->TaskIcons, TaskItem->IconIndex); -} - -static PTASK_ITEM -TaskSwitchWnd_FindLastTaskItemOfGroup(IN OUT PTASK_SWITCH_WND This, - IN PTASK_GROUP TaskGroup OPTIONAL, - IN PTASK_ITEM NewTaskItem OPTIONAL) -{ - PTASK_ITEM TaskItem, LastTaskItem, FoundTaskItem = NULL; - DWORD dwTaskCount; - - ASSERT(This->IsGroupingEnabled); - - TaskItem = This->TaskItems; - LastTaskItem = TaskItem + This->TaskItemCount; - - dwTaskCount = (TaskGroup != NULL ? TaskGroup->dwTaskCount : MAX_TASKS_COUNT); - - ASSERT(dwTaskCount > 0); - - while (TaskItem != LastTaskItem) - { - if (TaskItem->Group == TaskGroup) - { - if ((NewTaskItem != NULL && TaskItem != NewTaskItem) || NewTaskItem == NULL) - { - FoundTaskItem = TaskItem; - } - - if (--dwTaskCount == 0) - { - /* We found the last task item in the group! */ - break; - } - } - - TaskItem++; - } - - return FoundTaskItem; -} - -static INT -TaskSwitchWnd_CalculateTaskItemNewButtonIndex(IN OUT PTASK_SWITCH_WND This, - IN PTASK_ITEM TaskItem) -{ - PTASK_GROUP TaskGroup; - PTASK_ITEM LastTaskItem; - - /* NOTE: This routine assumes that the group is *not* collapsed! */ - - TaskGroup = TaskItem->Group; - if (This->IsGroupingEnabled) - { - if (TaskGroup != NULL) - { - ASSERT(TaskGroup->Index < 0); - ASSERT(!TaskGroup->IsCollapsed); - - if (TaskGroup->dwTaskCount > 1) - { - LastTaskItem = TaskSwitchWnd_FindLastTaskItemOfGroup(This, - TaskGroup, - TaskItem); - if (LastTaskItem != NULL) - { - /* Since the group is expanded the task items must have an index */ - ASSERT(LastTaskItem->Index >= 0); - - return LastTaskItem->Index + 1; - } - } - } - else - { - /* Find the last NULL group button. NULL groups are added at the end of the - task item list when grouping is enabled */ - LastTaskItem = TaskSwitchWnd_FindLastTaskItemOfGroup(This, - NULL, - TaskItem); - if (LastTaskItem != NULL) - { - ASSERT(LastTaskItem->Index >= 0); - - return LastTaskItem->Index + 1; - } - } - } - - return This->ToolbarBtnCount; -} - -static INT -TaskSwitchWnd_AddTaskItemButton(IN OUT PTASK_SWITCH_WND This, - IN OUT PTASK_ITEM TaskItem) -{ - TBBUTTON tbBtn; - INT iIndex; - HICON icon; - - if (TaskItem->Index >= 0) - { - return TaskSwitchWnd_UpdateTaskItemButton(This, - TaskItem); - } - - if (TaskItem->Group != NULL && - TaskItem->Group->IsCollapsed) - { - /* The task group is collapsed, we only need to update the group button */ - return TaskSwitchWnd_UpdateTaskGroupButton(This, - TaskItem->Group); - } - - icon = TaskSwitchWnd_GetWndIcon(TaskItem->hWnd); - TaskItem->IconIndex = ImageList_AddIcon(This->TaskIcons, icon); - - tbBtn.iBitmap = TaskItem->IconIndex; - tbBtn.fsState = TBSTATE_ENABLED | TBSTATE_ELLIPSES; - tbBtn.fsStyle = BTNS_CHECK | BTNS_NOPREFIX | BTNS_SHOWTEXT; - tbBtn.dwData = TaskItem->Index; - - tbBtn.iString = (DWORD_PTR)TaskSwitchWnd_GetWndTextFromTaskItem(This, - TaskItem); - - /* Find out where to insert the new button */ - iIndex = TaskSwitchWnd_CalculateTaskItemNewButtonIndex(This, - TaskItem); - ASSERT(iIndex >= 0); - tbBtn.idCommand = iIndex; - - TaskSwitchWnd_BeginUpdate(This); - - if (SendMessage(This->hWndToolbar, - TB_INSERTBUTTON, - (WPARAM)iIndex, - (LPARAM)&tbBtn)) - { - TaskSwitchWnd_UpdateIndexesAfterButtonInserted(This, - iIndex); - - DbgPrint("Added button %d for hwnd 0x%p\n", iIndex, TaskItem->hWnd); - - TaskItem->Index = iIndex; - This->ToolbarBtnCount++; - - /* Update button sizes and fix the button wrapping */ - TaskSwitchWnd_UpdateButtonsSize(This, - TRUE); - return iIndex; - } - - TaskSwitchWnd_EndUpdate(This); - - return -1; -} - -static BOOL -TaskSwitchWnd_DeleteTaskItemButton(IN OUT PTASK_SWITCH_WND This, - IN OUT PTASK_ITEM TaskItem) -{ - PTASK_GROUP TaskGroup; - INT iIndex; - - TaskGroup = TaskItem->Group; - - if (TaskItem->Index >= 0) - { - if ((TaskGroup != NULL && !TaskGroup->IsCollapsed) || - TaskGroup == NULL) - { - TaskSwitchWnd_BeginUpdate(This); - - TaskSwitchWnd_RemoveIcon(This, TaskItem); - iIndex = TaskItem->Index; - if (SendMessage(This->hWndToolbar, - TB_DELETEBUTTON, - (WPARAM)iIndex, - 0)) - { - TaskItem->Index = -1; - This->ToolbarBtnCount--; - - TaskSwitchWnd_UpdateIndexesAfterButtonDeleted(This, - iIndex); - - /* Update button sizes and fix the button wrapping */ - TaskSwitchWnd_UpdateButtonsSize(This, - TRUE); - return TRUE; - } - - TaskSwitchWnd_EndUpdate(This); - } - } - - return FALSE; -} - -static PTASK_GROUP -TaskSwitchWnd_AddToTaskGroup(IN OUT PTASK_SWITCH_WND This, - IN HWND hWnd) -{ - DWORD dwProcessId; - PTASK_GROUP TaskGroup, *PrevLink; - - if (!GetWindowThreadProcessId(hWnd, - &dwProcessId)) - { - DbgPrint("Cannot get process id of hwnd 0x%p\n", hWnd); - return NULL; - } - - /* Try to find an existing task group */ - TaskGroup = This->TaskGroups; - PrevLink = &This->TaskGroups; - while (TaskGroup != NULL) - { - if (TaskGroup->dwProcessId == dwProcessId) - { - TaskGroup->dwTaskCount++; - return TaskGroup; - } - - PrevLink = &TaskGroup->Next; - TaskGroup = TaskGroup->Next; - } - - /* Allocate a new task group */ - TaskGroup = HeapAlloc(hProcessHeap, - HEAP_ZERO_MEMORY, - sizeof(*TaskGroup)); - if (TaskGroup != NULL) - { - TaskGroup->dwTaskCount = 1; - TaskGroup->dwProcessId = dwProcessId; - TaskGroup->Index = -1; - - /* Add the task group to the list */ - *PrevLink = TaskGroup; - } - - return TaskGroup; -} - -static VOID -TaskSwitchWnd_RemoveTaskFromTaskGroup(IN OUT PTASK_SWITCH_WND This, - IN OUT PTASK_ITEM TaskItem) -{ - PTASK_GROUP TaskGroup, CurrentGroup, *PrevLink; - - TaskGroup = TaskItem->Group; - if (TaskGroup != NULL) - { - DWORD dwNewTaskCount = --TaskGroup->dwTaskCount; - if (dwNewTaskCount == 0) - { - /* Find the previous pointer in the chain */ - CurrentGroup = This->TaskGroups; - PrevLink = &This->TaskGroups; - while (CurrentGroup != TaskGroup) - { - PrevLink = &CurrentGroup->Next; - CurrentGroup = CurrentGroup->Next; - } - - /* Remove the group from the list */ - ASSERT(TaskGroup == CurrentGroup); - *PrevLink = TaskGroup->Next; - - /* Free the task group */ - HeapFree(hProcessHeap, - 0, - TaskGroup); - } - else if (TaskGroup->IsCollapsed && - TaskGroup->Index >= 0) - { - if (dwNewTaskCount > 1) - { - /* FIXME: Check if we should expand the group */ - /* Update the task group button */ - TaskSwitchWnd_UpdateTaskGroupButton(This, - TaskGroup); - } - else - { - /* Expand the group of one task button to a task button */ - TaskSwitchWnd_ExpandTaskGroup(This, - TaskGroup); - } - } - } -} - -static PTASK_ITEM -TaskSwitchWnd_FindTaskItem(IN OUT PTASK_SWITCH_WND This, - IN HWND hWnd) -{ - PTASK_ITEM TaskItem, LastItem; - - TaskItem = This->TaskItems; - LastItem = TaskItem + This->TaskItemCount; - while (TaskItem != LastItem) - { - if (TaskItem->hWnd == hWnd) - return TaskItem; - - TaskItem++; - } - - return NULL; -} - -static PTASK_ITEM -TaskSwitchWnd_FindOtherTaskItem(IN OUT PTASK_SWITCH_WND This, - IN HWND hWnd) -{ - PTASK_ITEM LastItem, TaskItem; - PTASK_GROUP TaskGroup; - DWORD dwProcessId; - - if (!GetWindowThreadProcessId(hWnd, - &dwProcessId)) - { - return NULL; - } - - /* Try to find another task that belongs to the same - process as the given window */ - TaskItem = This->TaskItems; - LastItem = TaskItem + This->TaskItemCount; - while (TaskItem != LastItem) - { - TaskGroup = TaskItem->Group; - if (TaskGroup != NULL) - { - if (TaskGroup->dwProcessId == dwProcessId) - return TaskItem; - } - else - { - DWORD dwProcessIdTask; - - if (GetWindowThreadProcessId(TaskItem->hWnd, - &dwProcessIdTask) && - dwProcessIdTask == dwProcessId) - { - return TaskItem; - } - } - - TaskItem++; - } - - return NULL; -} - -static PTASK_ITEM -TaskSwitchWnd_AllocTaskItem(IN OUT PTASK_SWITCH_WND This) -{ - if (This->TaskItemCount >= MAX_TASKS_COUNT) - { - /* We need the most significant bit in 16 bit command IDs to indicate whether it - is a task group or task item. WM_COMMAND limits command IDs to 16 bits! */ - return NULL; - } - - ASSERT(This->AllocatedTaskItems >= This->TaskItemCount); - - if (This->TaskItemCount == 0) - { - This->TaskItems = HeapAlloc(hProcessHeap, - 0, - TASK_ITEM_ARRAY_ALLOC * sizeof(*This->TaskItems)); - if (This->TaskItems != NULL) - { - This->AllocatedTaskItems = TASK_ITEM_ARRAY_ALLOC; - } - else - return NULL; - } - else if (This->TaskItemCount >= This->AllocatedTaskItems) - { - PTASK_ITEM NewArray; - SIZE_T NewArrayLength, ActiveTaskItemIndex; - - NewArrayLength = This->AllocatedTaskItems + TASK_ITEM_ARRAY_ALLOC; - - NewArray = HeapReAlloc(hProcessHeap, - 0, - This->TaskItems, - NewArrayLength * sizeof(*This->TaskItems)); - if (NewArray != NULL) - { - if (This->ActiveTaskItem != NULL) - { - /* Fixup the ActiveTaskItem pointer */ - ActiveTaskItemIndex = This->ActiveTaskItem - This->TaskItems; - This->ActiveTaskItem = NewArray + ActiveTaskItemIndex; - } - This->AllocatedTaskItems = (WORD)NewArrayLength; - This->TaskItems = NewArray; - } - else - return NULL; - } - - return This->TaskItems + This->TaskItemCount++; -} - -static VOID -TaskSwitchWnd_FreeTaskItem(IN OUT PTASK_SWITCH_WND This, - IN OUT PTASK_ITEM TaskItem) -{ - WORD wIndex; - - if (TaskItem == This->ActiveTaskItem) - This->ActiveTaskItem = NULL; - - wIndex = (WORD)(TaskItem - This->TaskItems); - if (wIndex + 1 < This->TaskItemCount) - { - MoveMemory(TaskItem, - TaskItem + 1, - (This->TaskItemCount - wIndex - 1) * sizeof(*TaskItem)); - } - - This->TaskItemCount--; -} - -static VOID -TaskSwitchWnd_DeleteTaskItem(IN OUT PTASK_SWITCH_WND This, - IN OUT PTASK_ITEM TaskItem) -{ - if (!This->IsDestroying) - { - /* Delete the task button from the toolbar */ - TaskSwitchWnd_DeleteTaskItemButton(This, - TaskItem); - } - - /* Remove the task from it's group */ - TaskSwitchWnd_RemoveTaskFromTaskGroup(This, - TaskItem); - - /* Free the task item */ - TaskSwitchWnd_FreeTaskItem(This, - TaskItem); -} - -static VOID -TaskSwitchWnd_CheckActivateTaskItem(IN OUT PTASK_SWITCH_WND This, - IN OUT PTASK_ITEM TaskItem) -{ - PTASK_ITEM ActiveTaskItem; - PTASK_GROUP TaskGroup = NULL; - - ActiveTaskItem = This->ActiveTaskItem; - - if (TaskItem != NULL) - TaskGroup = TaskItem->Group; - - if (This->IsGroupingEnabled && - TaskGroup != NULL && - TaskGroup->IsCollapsed) - { - /* FIXME */ - return; - } - - if (ActiveTaskItem != NULL) - { - PTASK_GROUP ActiveTaskGroup; - - if (ActiveTaskItem == TaskItem) - return; - - ActiveTaskGroup = ActiveTaskItem->Group; - - if (This->IsGroupingEnabled && - ActiveTaskGroup != NULL && - ActiveTaskGroup->IsCollapsed) - { - if (ActiveTaskGroup == TaskGroup) - return; - - /* FIXME */ - } - else - { - This->ActiveTaskItem = NULL; - if (ActiveTaskItem->Index >= 0) - { - TaskSwitchWnd_UpdateTaskItemButton(This, - ActiveTaskItem); - } - } - } - - This->ActiveTaskItem = TaskItem; - - if (TaskItem != NULL && TaskItem->Index >= 0) - { - TaskSwitchWnd_UpdateTaskItemButton(This, - TaskItem); - } -} - -static PTASK_ITEM -FindTaskItemByIndex(IN OUT PTASK_SWITCH_WND This, - IN INT Index) -{ - PTASK_ITEM TaskItem, LastItem; - - TaskItem = This->TaskItems; - LastItem = TaskItem + This->TaskItemCount; - while (TaskItem != LastItem) - { - if (TaskItem->Index == Index) - return TaskItem; - - TaskItem++; - } - - return NULL; -} - -static PTASK_GROUP -FindTaskGroupByIndex(IN OUT PTASK_SWITCH_WND This, - IN INT Index) -{ - PTASK_GROUP CurrentGroup; - - CurrentGroup = This->TaskGroups; - while (CurrentGroup != NULL) - { - if (CurrentGroup->Index == Index) - break; - - CurrentGroup = CurrentGroup->Next; - } - - return CurrentGroup; -} - -static BOOL -TaskSwitchWnd_AddTask(IN OUT PTASK_SWITCH_WND This, - IN HWND hWnd) -{ - PTASK_ITEM TaskItem; - - TaskItem = TaskSwitchWnd_FindTaskItem(This, - hWnd); - if (TaskItem == NULL) - { - DbgPrint("Add window 0x%p\n", hWnd); - TaskItem = TaskSwitchWnd_AllocTaskItem(This); - if (TaskItem != NULL) - { - ZeroMemory(TaskItem, - sizeof(*TaskItem)); - TaskItem->hWnd = hWnd; - TaskItem->Index = -1; - TaskItem->Group = TaskSwitchWnd_AddToTaskGroup(This, - hWnd); - - if (!This->IsDestroying) - { - TaskSwitchWnd_AddTaskItemButton(This, - TaskItem); - } - } - } - - return TaskItem != NULL; -} - -static BOOL -TaskSwitchWnd_ActivateTaskItem(IN OUT PTASK_SWITCH_WND This, - IN OUT PTASK_ITEM TaskItem OPTIONAL) -{ - if (TaskItem != NULL) - { - DbgPrint("Activate window 0x%p on button %d\n", TaskItem->hWnd, TaskItem->Index); - } - - TaskSwitchWnd_CheckActivateTaskItem(This, - TaskItem); - - return FALSE; -} - -static BOOL -TaskSwitchWnd_ActivateTask(IN OUT PTASK_SWITCH_WND This, - IN HWND hWnd) -{ - PTASK_ITEM TaskItem; - - TaskItem = TaskSwitchWnd_FindTaskItem(This, - hWnd); - if (TaskItem == NULL) - { - TaskItem = TaskSwitchWnd_FindOtherTaskItem(This, - hWnd); - } - - if (TaskItem == NULL) - { - DbgPrint("Activate window 0x%p, could not find task\n", hWnd); - } - - return TaskSwitchWnd_ActivateTaskItem(This, - TaskItem); -} - -static BOOL -TaskSwitchWnd_DeleteTask(IN OUT PTASK_SWITCH_WND This, - IN HWND hWnd) -{ - PTASK_ITEM TaskItem; - - TaskItem = TaskSwitchWnd_FindTaskItem(This, - hWnd); - if (TaskItem != NULL) - { - DbgPrint("Delete window 0x%p on button %d\n", hWnd, TaskItem->Index); - TaskSwitchWnd_DeleteTaskItem(This, - TaskItem); - return TRUE; - } - //else - //DbgPrint("Failed to delete window 0x%p\n", hWnd); - - return FALSE; -} - -static VOID -TaskSwitchWnd_DeleteAllTasks(IN OUT PTASK_SWITCH_WND This) -{ - PTASK_ITEM CurrentTask; - - if (This->TaskItemCount > 0) - { - CurrentTask = This->TaskItems + This->TaskItemCount; - do - { - TaskSwitchWnd_DeleteTaskItem(This, - --CurrentTask); - } while (CurrentTask != This->TaskItems); - } -} - -static VOID -TaskSwitchWnd_FlashTaskItem(IN OUT PTASK_SWITCH_WND This, - IN OUT PTASK_ITEM TaskItem) -{ - TaskItem->RenderFlashed = 1; - TaskSwitchWnd_UpdateTaskItemButton(This, - TaskItem); -} - -static BOOL -TaskSwitchWnd_FlashTask(IN OUT PTASK_SWITCH_WND This, - IN HWND hWnd) -{ - PTASK_ITEM TaskItem; - - TaskItem = TaskSwitchWnd_FindTaskItem(This, - hWnd); - if (TaskItem != NULL) - { - DbgPrint("Flashing window 0x%p on button %d\n", hWnd, TaskItem->Index); - TaskSwitchWnd_FlashTaskItem(This, - TaskItem); - return TRUE; - } - - return FALSE; -} - -static VOID -TaskSwitchWnd_RedrawTaskItem(IN OUT PTASK_SWITCH_WND This, - IN OUT PTASK_ITEM TaskItem) -{ - PTASK_GROUP TaskGroup; - - TaskGroup = TaskItem->Group; - if (This->IsGroupingEnabled && TaskGroup != NULL) - { - if (TaskGroup->IsCollapsed && TaskGroup->Index >= 0) - { - TaskSwitchWnd_UpdateTaskGroupButton(This, - TaskGroup); - } - else if (TaskItem->Index >= 0) - { - goto UpdateTaskItem; - } - } - else if (TaskItem->Index >= 0) - { -UpdateTaskItem: - TaskItem->RenderFlashed = 0; - TaskSwitchWnd_UpdateTaskItemButton(This, - TaskItem); - } -} - - -static BOOL -TaskSwitchWnd_RedrawTask(IN OUT PTASK_SWITCH_WND This, - IN HWND hWnd) -{ - PTASK_ITEM TaskItem; - - TaskItem = TaskSwitchWnd_FindTaskItem(This, - hWnd); - if (TaskItem != NULL) - { - TaskSwitchWnd_RedrawTaskItem(This, - TaskItem); - return TRUE; - } - - return FALSE; -} - -static INT -TaskSwitchWnd_UpdateTbButtonSpacing(IN OUT PTASK_SWITCH_WND This, - IN BOOL bHorizontal, - IN UINT uiRows, - IN UINT uiBtnsPerLine) -{ - TBMETRICS tbm; - - tbm.cbSize = sizeof(tbm); - tbm.dwMask = TBMF_BARPAD | TBMF_BUTTONSPACING; - - tbm.cxBarPad = tbm.cyBarPad = 0; - - if (bHorizontal || uiBtnsPerLine > 1) - tbm.cxButtonSpacing = (3 * GetSystemMetrics(SM_CXEDGE) / 2); - else - tbm.cxButtonSpacing = 0; - - if (!bHorizontal || uiRows > 1) - tbm.cyButtonSpacing = (3 * GetSystemMetrics(SM_CYEDGE) / 2); - else - tbm.cyButtonSpacing = 0; - - SendMessage(This->hWndToolbar, - TB_SETMETRICS, - 0, - (LPARAM)&tbm); - - return tbm.cxButtonSpacing; -} - - -static VOID -TaskSwitchWnd_UpdateButtonsSize(IN OUT PTASK_SWITCH_WND This, - IN BOOL bRedrawDisabled) -{ - RECT rcClient; - UINT uiRows, uiMax, uiMin, uiBtnsPerLine, ui; - LONG NewBtnSize; - BOOL Horizontal; - TBBUTTONINFO tbbi; - TBMETRICS tbm; - - if (GetClientRect(This->hWnd, - &rcClient) && - !IsRectEmpty(&rcClient)) - { - if (This->ToolbarBtnCount > 0) - { - ZeroMemory (&tbm, sizeof (tbm)); - tbm.cbSize = sizeof(tbm); - tbm.dwMask = TBMF_BUTTONSPACING; - SendMessage(This->hWndToolbar, - TB_GETMETRICS, - 0, - (LPARAM)&tbm); - - uiRows = (rcClient.bottom + tbm.cyButtonSpacing) / (This->ButtonSize.cy + tbm.cyButtonSpacing); - if (uiRows == 0) - uiRows = 1; - - uiBtnsPerLine = (This->ToolbarBtnCount + uiRows - 1) / uiRows; - - Horizontal = ITrayWindow_IsHorizontal(This->Tray); - - if (!bRedrawDisabled) - TaskSwitchWnd_BeginUpdate(This); - - /* We might need to update the button spacing */ - tbm.cxButtonSpacing = TaskSwitchWnd_UpdateTbButtonSpacing(This, - Horizontal, - uiRows, - uiBtnsPerLine); - - /* Calculate the ideal width and make sure it's within the allowed range */ - NewBtnSize = (rcClient.right - (uiBtnsPerLine * tbm.cxButtonSpacing)) / uiBtnsPerLine; - - /* Determine the minimum and maximum width of a button */ - if (Horizontal) - uiMax = GetSystemMetrics(SM_CXMINIMIZED); - else - uiMax = rcClient.right; - - uiMin = GetSystemMetrics(SM_CXSIZE) + (2 * GetSystemMetrics(SM_CXEDGE)); - - if (NewBtnSize < (LONG)uiMin) - NewBtnSize = uiMin; - if (NewBtnSize > (LONG)uiMax) - NewBtnSize = uiMax; - - This->ButtonSize.cx = NewBtnSize; - - /* Recalculate how many buttons actually fit into one line */ - uiBtnsPerLine = rcClient.right / (NewBtnSize + tbm.cxButtonSpacing); - if (uiBtnsPerLine == 0) - uiBtnsPerLine++; - This->TbButtonsPerLine = uiBtnsPerLine; - - tbbi.cbSize = sizeof(tbbi); - tbbi.dwMask = TBIF_BYINDEX | TBIF_SIZE | TBIF_STATE; - tbbi.cx = (INT)NewBtnSize; - - for (ui = 0; ui != This->ToolbarBtnCount; ui++) - { - tbbi.fsState = TBSTATE_ENABLED; - - /* Check if we're updating a button that is the last one in the - line. If so, we need to set the TBSTATE_WRAP flag! */ - if ((ui + 1) % uiBtnsPerLine == 0) - tbbi.fsState |= TBSTATE_WRAP; - - if (This->ActiveTaskItem != NULL && - This->ActiveTaskItem->Index == ui) - { - tbbi.fsState |= TBSTATE_CHECKED; - } - - SendMessage(This->hWndToolbar, - TB_SETBUTTONINFO, - (WPARAM)ui, - (LPARAM)&tbbi); - } - -#if 0 - /* FIXME: Force the window to the correct position in case some idiot - did something to us */ - SetWindowPos(This->hWndToolbar, - NULL, - 0, - 0, - rcClient.right, /* FIXME */ - rcClient.bottom, /* FIXME */ - SWP_NOACTIVATE | SWP_NOZORDER); -#endif - } - else - { - This->TbButtonsPerLine = 0; - This->ButtonSize.cx = 0; - } - } - - TaskSwitchWnd_EndUpdate(This); -} - -static BOOL CALLBACK -TaskSwitchWnd_EnumWindowsProc(IN HWND hWnd, - IN LPARAM lParam) -{ - PTASK_SWITCH_WND This = (PTASK_SWITCH_WND)lParam; - - /* Only show windows that still exist and are visible and none of explorer's - special windows (such as the desktop or the tray window) */ - if (IsWindow(hWnd) && IsWindowVisible(hWnd) && - !ITrayWindow_IsSpecialHWND(This->Tray, - hWnd)) - { - /* Don't list popup windows and also no tool windows */ - if (GetWindow(hWnd, - GW_OWNER) == NULL && - !(GetWindowLong(hWnd, - GWL_EXSTYLE) & WS_EX_TOOLWINDOW)) - { - TaskSwitchWnd_AddTask(This, - hWnd); - } - } - - return TRUE; -} - -static LRESULT CALLBACK -TaskSwichWnd_ToolbarSubclassedProc(IN HWND hWnd, - IN UINT msg, - IN WPARAM wParam, - IN LPARAM lParam, - IN UINT_PTR uIdSubclass, - IN DWORD_PTR dwRefData) -{ - LRESULT Ret; - - Ret = DefSubclassProc(hWnd, - msg, - wParam, - lParam); - - if (msg == WM_NCHITTEST && Ret == HTCLIENT) - { - POINT pt; - - /* See if the mouse is on a button */ - pt.x = (SHORT)LOWORD(lParam); - pt.y = (SHORT)HIWORD(lParam); - - if (MapWindowPoints(HWND_DESKTOP, - hWnd, - &pt, - 1) != 0 && - (INT)SendMessage(hWnd, - TB_HITTEST, - 0, - (LPARAM)&pt) < 0) - { - /* Make the control appear to be transparent outside of any buttons */ - Ret = HTTRANSPARENT; - } - } - - return Ret; -} - -static VOID -TaskSwitchWnd_UpdateTheme(IN OUT PTASK_SWITCH_WND This) -{ - if (This->TaskBandTheme) - CloseThemeData(This->TaskBandTheme); - - if (IsThemeActive()) - This->TaskBandTheme = OpenThemeData(This->hWnd, L"TaskBand"); - else - This->TaskBandTheme = NULL; -} - -static VOID -TaskSwitchWnd_Create(IN OUT PTASK_SWITCH_WND This) -{ - This->hWndToolbar = CreateWindowEx(0, - TOOLBARCLASSNAME, - szRunningApps, - WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | - TBSTYLE_TOOLTIPS | TBSTYLE_WRAPABLE | TBSTYLE_LIST | - TBSTYLE_TRANSPARENT | - CCS_TOP | CCS_NORESIZE | CCS_NODIVIDER, - 0, - 0, - 0, - 0, - This->hWnd, - NULL, - hExplorerInstance, - NULL); - - if (This->hWndToolbar != NULL) - { - HMODULE hShell32; - SIZE BtnSize; - - SetWindowTheme(This->hWndToolbar, L"TaskBand", NULL); - TaskSwitchWnd_UpdateTheme(This); - /* Identify the version we're using */ - SendMessage(This->hWndToolbar, - TB_BUTTONSTRUCTSIZE, - sizeof(TBBUTTON), - 0); - - This->TaskIcons = ImageList_Create(16, 16, ILC_COLOR32 | ILC_MASK, 0, 1000); - SendMessage(This->hWndToolbar, TB_SETIMAGELIST, 0, (LPARAM)This->TaskIcons); - - /* Calculate the default button size. Don't save this in This->ButtonSize.cx so that - the actual button width gets updated correctly on the first recalculation */ - BtnSize.cx = GetSystemMetrics(SM_CXMINIMIZED); - This->ButtonSize.cy = BtnSize.cy = GetSystemMetrics(SM_CYSIZE) + (2 * GetSystemMetrics(SM_CYEDGE)); - SendMessage(This->hWndToolbar, - TB_SETBUTTONSIZE, - 0, - (LPARAM)MAKELONG(BtnSize.cx, - BtnSize.cy)); - - /* We don't want to see partially clipped buttons...not that we could see them... */ -#if 0 - SendMessage(This->hWndToolbar, - TB_SETEXTENDEDSTYLE, - 0, - TBSTYLE_EX_HIDECLIPPEDBUTTONS); -#endif - - /* Set proper spacing between buttons */ - TaskSwitchWnd_UpdateTbButtonSpacing(This, - ITrayWindow_IsHorizontal(This->Tray), - 0, - 0); - - /* Register the shell hook */ - This->ShellHookMsg = RegisterWindowMessage(TEXT("SHELLHOOK")); - hShell32 = GetModuleHandle(TEXT("SHELL32.DLL")); - if (hShell32 != NULL) - { - REGSHELLHOOK RegShellHook; - - /* RegisterShellHook */ - RegShellHook = (REGSHELLHOOK)GetProcAddress(hShell32, - (LPCSTR)((LONG)181)); - if (RegShellHook != NULL) - { - RegShellHook(This->hWnd, - 3); /* 1 if no NT! We're targeting NT so we don't care! */ - } - } - - /* Add all windows to the toolbar */ - EnumWindows(TaskSwitchWnd_EnumWindowsProc, - (LPARAM)This); - - /* Recalculate the button size */ - TaskSwitchWnd_UpdateButtonsSize(This, - FALSE); - - /* Subclass the toolbar control because it doesn't provide a - NM_NCHITTEST notification */ - This->IsToolbarSubclassed = SetWindowSubclass(This->hWndToolbar, - TaskSwichWnd_ToolbarSubclassedProc, - TSW_TOOLBAR_SUBCLASS_ID, - (DWORD_PTR)This); - } -} - -static VOID -TaskSwitchWnd_NCDestroy(IN OUT PTASK_SWITCH_WND This) -{ - HMODULE hShell32; - - This->IsDestroying = TRUE; - - /* Unregister the shell hook */ - hShell32 = GetModuleHandle(TEXT("SHELL32.DLL")); - if (hShell32 != NULL) - { - REGSHELLHOOK RegShellHook; - - /* RegisterShellHook */ - RegShellHook = (REGSHELLHOOK)GetProcAddress(hShell32, - (LPCSTR)((LONG)181)); - if (RegShellHook != NULL) - { - RegShellHook(This->hWnd, - FALSE); - } - } - - CloseThemeData(This->TaskBandTheme); - TaskSwitchWnd_DeleteAllTasks(This); -} - -static BOOL -TaskSwitchWnd_HandleAppCommand(IN OUT PTASK_SWITCH_WND This, - IN WPARAM wParam, - IN LPARAM lParam) -{ - BOOL Ret = FALSE; - - switch (GET_APPCOMMAND_LPARAM(lParam)) - { - case APPCOMMAND_BROWSER_SEARCH: - Ret = SHFindFiles(NULL, - NULL); - break; - - case APPCOMMAND_BROWSER_HOME: - case APPCOMMAND_LAUNCH_MAIL: - default: - DbgPrint("Shell app command %d unhandled!\n", (INT)GET_APPCOMMAND_LPARAM(lParam)); - break; - } - - return Ret; -} - - -static LRESULT -TaskSwitchWnd_HandleShellHookMsg(IN OUT PTASK_SWITCH_WND This, - IN WPARAM wParam, - IN LPARAM lParam) -{ - BOOL Ret = FALSE; - - switch ((INT)wParam) - { - case HSHELL_APPCOMMAND: - TaskSwitchWnd_HandleAppCommand(This, - wParam, - lParam); - Ret = TRUE; - break; - - case HSHELL_WINDOWCREATED: - TaskSwitchWnd_AddTask(This, - (HWND)lParam); - Ret = TRUE; - break; - - case HSHELL_WINDOWDESTROYED: - /* The window still exists! Delay destroying it a bit */ - TaskSwitchWnd_DeleteTask(This, - (HWND)lParam); - Ret = TRUE; - break; - - case HSHELL_ACTIVATESHELLWINDOW: - goto UnhandledShellMessage; - - case HSHELL_RUDEAPPACTIVATED: - goto UnhandledShellMessage; - - case HSHELL_WINDOWACTIVATED: - TaskSwitchWnd_ActivateTask(This, - (HWND)lParam); - Ret = TRUE; - break; - - case HSHELL_GETMINRECT: - goto UnhandledShellMessage; - - case HSHELL_FLASH: - TaskSwitchWnd_FlashTask(This, - (HWND)lParam); - Ret = TRUE; - break; - - case HSHELL_REDRAW: - TaskSwitchWnd_RedrawTask(This, - (HWND)lParam); - Ret = TRUE; - break; - - case HSHELL_TASKMAN: - case HSHELL_LANGUAGE: - case HSHELL_SYSMENU: - case HSHELL_ENDTASK: - case HSHELL_ACCESSIBILITYSTATE: - case HSHELL_WINDOWREPLACED: - case HSHELL_WINDOWREPLACING: - default: - { - static const struct { - INT msg; - LPCWSTR msg_name; - } hshell_msg[] = { - {HSHELL_WINDOWCREATED, L"HSHELL_WINDOWCREATED"}, - {HSHELL_WINDOWDESTROYED, L"HSHELL_WINDOWDESTROYED"}, - {HSHELL_ACTIVATESHELLWINDOW, L"HSHELL_ACTIVATESHELLWINDOW"}, - {HSHELL_WINDOWACTIVATED, L"HSHELL_WINDOWACTIVATED"}, - {HSHELL_GETMINRECT, L"HSHELL_GETMINRECT"}, - {HSHELL_REDRAW, L"HSHELL_REDRAW"}, - {HSHELL_TASKMAN, L"HSHELL_TASKMAN"}, - {HSHELL_LANGUAGE, L"HSHELL_LANGUAGE"}, - {HSHELL_SYSMENU, L"HSHELL_SYSMENU"}, - {HSHELL_ENDTASK, L"HSHELL_ENDTASK"}, - {HSHELL_ACCESSIBILITYSTATE, L"HSHELL_ACCESSIBILITYSTATE"}, - {HSHELL_APPCOMMAND, L"HSHELL_APPCOMMAND"}, - {HSHELL_WINDOWREPLACED, L"HSHELL_WINDOWREPLACED"}, - {HSHELL_WINDOWREPLACING, L"HSHELL_WINDOWREPLACING"}, - {HSHELL_RUDEAPPACTIVATED, L"HSHELL_RUDEAPPACTIVATED"}, - }; - int i, found; -UnhandledShellMessage: - for (i = 0, found = 0; i != sizeof(hshell_msg) / sizeof(hshell_msg[0]); i++) - { - if (hshell_msg[i].msg == (INT)wParam) - { - DbgPrint("Shell message %ws unhandled (lParam = 0x%p)!\n", hshell_msg[i].msg_name, lParam); - found = 1; - break; - } - } - if (!found) - { - DbgPrint("Shell message %d unhandled (lParam = 0x%p)!\n", (INT)wParam, lParam); - } - break; - } - } - - return Ret; -} - -static VOID -TaskSwitchWnd_EnableGrouping(IN OUT PTASK_SWITCH_WND This, - IN BOOL bEnable) -{ - This->IsGroupingEnabled = bEnable; - - /* Collapse or expand groups if neccessary */ - TaskSwitchWnd_UpdateButtonsSize(This, - FALSE); -} - -static VOID -TaskSwitchWnd_HandleTaskItemClick(IN OUT PTASK_SWITCH_WND This, - IN OUT PTASK_ITEM TaskItem) -{ - BOOL bIsMinimized; - BOOL bIsActive; - - if (IsWindow(TaskItem->hWnd)) - { - bIsMinimized = IsIconic(TaskItem->hWnd); - bIsActive = (TaskItem == This->ActiveTaskItem); - - if (!bIsMinimized && bIsActive) - { - PostMessage(TaskItem->hWnd, - WM_SYSCOMMAND, - SC_MINIMIZE, - 0); - } - else - { - if (bIsMinimized) - { - PostMessage(TaskItem->hWnd, - WM_SYSCOMMAND, - SC_RESTORE, - 0); - } - - SetForegroundWindow(TaskItem->hWnd); - } - } -} - -static VOID -TaskSwitchWnd_HandleTaskGroupClick(IN OUT PTASK_SWITCH_WND This, - IN OUT PTASK_GROUP TaskGroup) -{ - /* TODO: Show task group menu */ -} - -static BOOL -TaskSwitchWnd_HandleButtonClick(IN OUT PTASK_SWITCH_WND This, - IN WORD wIndex) -{ - PTASK_ITEM TaskItem; - PTASK_GROUP TaskGroup; - - if (This->IsGroupingEnabled) - { - TaskGroup = FindTaskGroupByIndex(This, - (INT)wIndex); - if (TaskGroup != NULL && TaskGroup->IsCollapsed) - { - TaskSwitchWnd_HandleTaskGroupClick(This, - TaskGroup); - return TRUE; - } - } - - TaskItem = FindTaskItemByIndex(This, - (INT)wIndex); - if (TaskItem != NULL) - { - TaskSwitchWnd_HandleTaskItemClick(This, - TaskItem); - return TRUE; - } - - return FALSE; -} - - -static VOID -TaskSwitchWnd_HandleTaskItemRightClick(IN OUT PTASK_SWITCH_WND This, - IN OUT PTASK_ITEM TaskItem) -{ - - HMENU hmenu = GetSystemMenu(TaskItem->hWnd, FALSE); - - if (hmenu) { - POINT pt; - int cmd; - GetCursorPos(&pt); - cmd = TrackPopupMenu(hmenu, TPM_LEFTBUTTON|TPM_RIGHTBUTTON|TPM_RETURNCMD, pt.x, pt.y, 0, This->hWndToolbar, NULL); - if (cmd) { - SetForegroundWindow(TaskItem->hWnd); // reactivate window after the context menu has closed - PostMessage(TaskItem->hWnd, WM_SYSCOMMAND, cmd, 0); - } - } -} - -static VOID -TaskSwitchWnd_HandleTaskGroupRightClick(IN OUT PTASK_SWITCH_WND This, - IN OUT PTASK_GROUP TaskGroup) -{ - /* TODO: Show task group right click menu */ -} - -static BOOL -TaskSwitchWnd_HandleButtonRightClick(IN OUT PTASK_SWITCH_WND This, - IN WORD wIndex) -{ - PTASK_ITEM TaskItem; - PTASK_GROUP TaskGroup; - if (This->IsGroupingEnabled) - { - TaskGroup = FindTaskGroupByIndex(This, - (INT)wIndex); - if (TaskGroup != NULL && TaskGroup->IsCollapsed) - { - TaskSwitchWnd_HandleTaskGroupRightClick(This, - TaskGroup); - return TRUE; - } - } - - TaskItem = FindTaskItemByIndex(This, - (INT)wIndex); - - if (TaskItem != NULL) - { - TaskSwitchWnd_HandleTaskItemRightClick(This, - TaskItem); - return TRUE; - } - - return FALSE; -} - - -static LRESULT -TaskSwichWnd_HandleItemPaint(IN OUT PTASK_SWITCH_WND This, - IN OUT NMTBCUSTOMDRAW *nmtbcd) -{ - LRESULT Ret = CDRF_DODEFAULT; - PTASK_GROUP TaskGroup; - PTASK_ITEM TaskItem; - - TaskItem = FindTaskItemByIndex(This, - (INT)nmtbcd->nmcd.dwItemSpec); - TaskGroup = FindTaskGroupByIndex(This, - (INT)nmtbcd->nmcd.dwItemSpec); - if (TaskGroup == NULL && TaskItem != NULL) - { - ASSERT(TaskItem != NULL); - - if (TaskItem != NULL && IsWindow(TaskItem->hWnd)) - { - /* Make the entire button flashing if neccessary */ - if (nmtbcd->nmcd.uItemState & CDIS_MARKED) - { - Ret = TBCDRF_NOBACKGROUND; - if (!This->TaskBandTheme) - { - SelectObject(nmtbcd->nmcd.hdc, GetSysColorBrush(COLOR_HIGHLIGHT)); - Rectangle(nmtbcd->nmcd.hdc, - nmtbcd->nmcd.rc.left, - nmtbcd->nmcd.rc.top, - nmtbcd->nmcd.rc.right, - nmtbcd->nmcd.rc.bottom); - } - else - { - DrawThemeBackground(This->TaskBandTheme, nmtbcd->nmcd.hdc, TDP_FLASHBUTTON, 0, &nmtbcd->nmcd.rc, 0); - } - nmtbcd->clrText = GetSysColor(COLOR_HIGHLIGHTTEXT); - return Ret; - } - } - } - else if (TaskGroup != NULL) - { - /* FIXME: Implement painting for task groups */ - } - return Ret; -} - -static LRESULT -TaskSwitchWnd_HandleToolbarNotification(IN OUT PTASK_SWITCH_WND This, - IN const NMHDR *nmh) -{ - LRESULT Ret = 0; - - switch (nmh->code) - { - case NM_CUSTOMDRAW: - { - LPNMTBCUSTOMDRAW nmtbcd = (LPNMTBCUSTOMDRAW)nmh; - - switch (nmtbcd->nmcd.dwDrawStage) - { - - case CDDS_ITEMPREPAINT: - Ret = TaskSwichWnd_HandleItemPaint(This, - nmtbcd); - break; - - case CDDS_PREPAINT: - Ret = CDRF_NOTIFYITEMDRAW; - break; - - default: - Ret = CDRF_DODEFAULT; - break; - } - break; - } - } - - return Ret; -} - -static VOID -TaskSwitchWnd_DrawBackground(HWND hwnd, - HDC hdc) -{ - RECT rect; - - GetClientRect(hwnd, &rect); - DrawThemeParentBackground(hwnd, hdc, &rect); -} - -static LRESULT CALLBACK -TaskSwitchWndProc(IN HWND hwnd, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam) -{ - PTASK_SWITCH_WND This = NULL; - LRESULT Ret = FALSE; - - if (uMsg != WM_NCCREATE) - { - This = (PTASK_SWITCH_WND)GetWindowLongPtr(hwnd, - 0); - } - - if (This != NULL || uMsg == WM_NCCREATE) - { - switch (uMsg) - { - case WM_THEMECHANGED: - TaskSwitchWnd_UpdateTheme(This); - break; - case WM_ERASEBKGND: - TaskSwitchWnd_DrawBackground(hwnd, (HDC)wParam); - break; - case WM_SIZE: - { - SIZE szClient; - - szClient.cx = LOWORD(lParam); - szClient.cy = HIWORD(lParam); - if (This->hWndToolbar != NULL) - { - SetWindowPos(This->hWndToolbar, - NULL, - 0, - 0, - szClient.cx, - szClient.cy, - SWP_NOZORDER); - - TaskSwitchWnd_UpdateButtonsSize(This, - FALSE); - } - break; - } - - case WM_NCHITTEST: - { - /* We want the tray window to be draggable everywhere, so make the control - appear transparent */ - Ret = DefWindowProc(hwnd, - uMsg, - wParam, - lParam); - if (Ret != HTVSCROLL && Ret != HTHSCROLL) - Ret = HTTRANSPARENT; - break; - } - - case WM_COMMAND: - { - if (lParam != 0 && (HWND)lParam == This->hWndToolbar) - { - TaskSwitchWnd_HandleButtonClick(This, - LOWORD(wParam)); - } - break; - } - - case WM_NOTIFY: - { - const NMHDR *nmh = (const NMHDR *)lParam; - - if (nmh->hwndFrom == This->hWndToolbar) - { - Ret = TaskSwitchWnd_HandleToolbarNotification(This, - nmh); - } - break; - } - - case TSWM_ENABLEGROUPING: - { - Ret = This->IsGroupingEnabled; - if (wParam != This->IsGroupingEnabled) - { - TaskSwitchWnd_EnableGrouping(This, - (BOOL)wParam); - } - break; - } - - case TSWM_UPDATETASKBARPOS: - { - /* Update the button spacing */ - TaskSwitchWnd_UpdateTbButtonSpacing(This, - ITrayWindow_IsHorizontal(This->Tray), - 0, - 0); - break; - } - - case WM_CONTEXTMENU: - { - if (This->hWndToolbar != NULL) - { - POINT pt; - INT_PTR iBtn; - - pt.x = (LONG)LOWORD(lParam); - pt.y = (LONG)HIWORD(lParam); - - MapWindowPoints(NULL, - This->hWndToolbar, - &pt, - 1); - - iBtn = (INT_PTR)SendMessage(This->hWndToolbar, - TB_HITTEST, - 0, - (LPARAM)&pt); - if (iBtn >= 0) - { - TaskSwitchWnd_HandleButtonRightClick(This, - iBtn); - } - else - goto ForwardContextMenuMsg; - } - else - { -ForwardContextMenuMsg: - /* Forward message */ - Ret = SendMessage(ITrayWindow_GetHWND(This->Tray), - uMsg, - wParam, - lParam); - } - break; - } - - case WM_NCCREATE: - { - LPCREATESTRUCT CreateStruct = (LPCREATESTRUCT)lParam; - This = HeapAlloc(hProcessHeap, - HEAP_ZERO_MEMORY, - sizeof(*This)); - if (This == NULL) - return FALSE; - - This->hWnd = hwnd; - This->hWndNotify = CreateStruct->hwndParent; - This->Tray = (ITrayWindow*)CreateStruct->lpCreateParams; - This->IsGroupingEnabled = TRUE; /* FIXME */ - SetWindowLongPtr(hwnd, - 0, - (LONG_PTR)This); - - return TRUE; - } - - case WM_CREATE: - TaskSwitchWnd_Create(This); - -#if DUMP_TASKS != 0 - SetTimer(hwnd, - 1, - 5000, - NULL); -#endif - - break; - - case WM_DESTROY: - if (This->IsToolbarSubclassed) - { - if (RemoveWindowSubclass(This->hWndToolbar, - TaskSwichWnd_ToolbarSubclassedProc, - TSW_TOOLBAR_SUBCLASS_ID)) - { - This->IsToolbarSubclassed = FALSE; - } - } - break; - - case WM_NCDESTROY: - TaskSwitchWnd_NCDestroy(This); - HeapFree(hProcessHeap, - 0, - This); - SetWindowLongPtr(hwnd, - 0, - 0); - break; - -#if DUMP_TASKS != 0 - case WM_TIMER: - switch (wParam) - { - case 1: - TaskSwitchWnd_DumpTasks(This); - break; - } - break; -#endif - - default: -/* HandleDefaultMessage: */ - if (uMsg == This->ShellHookMsg && This->ShellHookMsg != 0) - { - /* Process shell messages */ - Ret = (LRESULT)TaskSwitchWnd_HandleShellHookMsg(This, - wParam, - lParam); - break; - } - - Ret = DefWindowProc(hwnd, - uMsg, - wParam, - lParam); - break; - } - } - else - { - Ret = DefWindowProc(hwnd, - uMsg, - wParam, - lParam); - } - - return Ret; -} - - -HWND -CreateTaskSwitchWnd(IN HWND hWndParent, - IN OUT ITrayWindow *Tray) -{ - HWND hwndTaskBar; - - hwndTaskBar = CreateWindowEx(0, - szTaskSwitchWndClass, - szRunningApps, - WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_TABSTOP, - 0, - 0, - 0, - 0, - hWndParent, - NULL, - hExplorerInstance, - (LPVOID)Tray); - - return hwndTaskBar; -} - -BOOL -RegisterTaskSwitchWndClass(VOID) -{ - WNDCLASS wc; - - wc.style = CS_DBLCLKS; - wc.lpfnWndProc = TaskSwitchWndProc; - wc.cbClsExtra = 0; - wc.cbWndExtra = sizeof(PTASK_SWITCH_WND); - wc.hInstance = hExplorerInstance; - wc.hIcon = NULL; - wc.hCursor = LoadCursor(NULL, - IDC_ARROW); - wc.hbrBackground = (HBRUSH)(COLOR_3DFACE + 1); - wc.lpszMenuName = NULL; - wc.lpszClassName = szTaskSwitchWndClass; - - return RegisterClass(&wc) != 0; -} - -VOID -UnregisterTaskSwitchWndClass(VOID) -{ - UnregisterClass(szTaskSwitchWndClass, - hExplorerInstance); -} diff --git a/base/shell/explorer-new/tbsite.c b/base/shell/explorer-new/tbsite.c deleted file mode 100644 index 8a14ffafcc1..00000000000 --- a/base/shell/explorer-new/tbsite.c +++ /dev/null @@ -1,1071 +0,0 @@ -/* - * ReactOS Explorer - * - * Copyright 2006 - 2007 Thomas Weidenmueller - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "precomp.h" - -#include - -#include "undoc.h" - -/***************************************************************************** - ** ITrayBandSite ************************************************************ - *****************************************************************************/ - -static const ITrayBandSiteVtbl ITrayBandSiteImpl_Vtbl; -static const IBandSiteVtbl IBandSiteImpl_Vtbl; - -typedef struct -{ - const ITrayBandSiteVtbl *lpVtbl; - const IBandSiteVtbl *lpBandSiteVtbl; - LONG Ref; - - ITrayWindow *Tray; - - IUnknown *punkInner; - IBandSite *BandSite; - ITaskBand *TaskBand; - IWinEventHandler *WindowEventHandler; - IContextMenu *ContextMenu; - - HWND hWndRebar; - - union - { - DWORD dwFlags; - struct - { - DWORD Locked : 1; - }; - }; -} ITrayBandSiteImpl; - -static HRESULT -ITrayBandSiteImpl_Update(IN OUT ITrayBandSiteImpl *This); - -static IUnknown * -IUnknown_from_ITrayBandSiteImpl(ITrayBandSiteImpl *This) -{ - return (IUnknown *)&This->lpVtbl; -} - -IMPL_CASTS(ITrayBandSite, ITrayBandSite, lpVtbl) -IMPL_CASTS(IBandSite, ITrayBandSite, lpBandSiteVtbl) - -static ULONG STDMETHODCALLTYPE -ITrayBandSiteImpl_AddRef(IN OUT ITrayBandSite *iface) -{ - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_ITrayBandSite(iface); - - return InterlockedIncrement(&This->Ref); -} - -static VOID -ITrayBandSiteImpl_Free(IN OUT ITrayBandSiteImpl *This) -{ - if (This->BandSite != NULL) - { - IBandSite_Release(This->BandSite); - This->BandSite = NULL; - } - - if (This->WindowEventHandler != NULL) - { - IWinEventHandler_Release(This->WindowEventHandler); - This->WindowEventHandler = NULL; - } - - if (This->ContextMenu != NULL) - { - IContextMenu_Release(This->ContextMenu); - This->ContextMenu = NULL; - } - - if (This->punkInner != NULL) - { - IUnknown_Release(This->punkInner); - This->punkInner = NULL; - } - - HeapFree(hProcessHeap, - 0, - This); -} - -static ULONG STDMETHODCALLTYPE -ITrayBandSiteImpl_Release(IN OUT ITrayBandSite *iface) -{ - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_ITrayBandSite(iface); - ULONG Ret; - - Ret = InterlockedDecrement(&This->Ref); - - if (Ret == 0) - ITrayBandSiteImpl_Free(This); - - return Ret; -} - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_QueryInterface(IN OUT ITrayBandSite *iface, - IN REFIID riid, - OUT LPVOID *ppvObj) -{ - ITrayBandSiteImpl *This; - - if (ppvObj == NULL) - return E_POINTER; - - This = ITrayBandSiteImpl_from_ITrayBandSite(iface); - - if (IsEqualIID(riid, - &IID_IUnknown) || - IsEqualIID(riid, - &IID_IBandSiteStreamCallback)) - { - /* NOTE: IID_IBandSiteStreamCallback is queried by the shell, we - implement this interface directly */ - *ppvObj = IUnknown_from_ITrayBandSiteImpl(This); - } - else if (IsEqualIID(riid, - &IID_IBandSite)) - { - *ppvObj = IBandSite_from_ITrayBandSiteImpl(This); - } - else if (IsEqualIID(riid, - &IID_IWinEventHandler)) - { - DbgPrint("ITaskBandSite: IWinEventHandler queried!\n"); - *ppvObj = NULL; - return E_NOINTERFACE; - } - else if (This->punkInner != NULL) - { - return IUnknown_QueryInterface(This->punkInner, - riid, - ppvObj); - } - else - { - *ppvObj = NULL; - return E_NOINTERFACE; - } - - ITrayBandSiteImpl_AddRef(iface); - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_OnLoad(IN OUT ITrayBandSite *iface, - IN OUT IStream *pStm, - IN REFIID riid, - OUT PVOID *pvObj) -{ - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_ITrayBandSite(iface); - LARGE_INTEGER liPosZero; - ULARGE_INTEGER liCurrent; - CLSID clsid; - ULONG ulRead; - HRESULT hRet; - - /* NOTE: Callback routine called by the shell while loading the task band - stream. We use it to intercept the default behavior when the task - band is loaded from the stream. - - NOTE: riid always points to IID_IUnknown! This is because the shell hasn't - read anything from the stream and therefore doesn't know what CLSID - it's dealing with. We'll have to find it out ourselves by reading - the GUID from the stream. */ - - /* Read the current position of the stream, we'll have to reset it everytime - we read a CLSID that's not the task band... */ - ZeroMemory(&liPosZero, - sizeof(liPosZero)); - hRet = IStream_Seek(pStm, - liPosZero, - STREAM_SEEK_CUR, - &liCurrent); - - if (SUCCEEDED(hRet)) - { - /* Now let's read the CLSID from the stream and see if it's our task band */ -#if defined(IStream_Read) - hRet = IStream_Read(pStm, - &clsid, - sizeof(clsid), - &ulRead); -#else - ulRead = sizeof(clsid); - hRet = IStream_Read(pStm, - &clsid, - sizeof(clsid)); -#endif - if (SUCCEEDED(hRet) && ulRead == sizeof(clsid)) - { - if (IsEqualGUID(&clsid, - &CLSID_ITaskBand)) - { - ASSERT(This->TaskBand != NULL); - /* We're trying to load the task band! Let's create it... */ - - hRet = ITaskBand_QueryInterface(This->TaskBand, - riid, - pvObj); - if (SUCCEEDED(hRet)) - { - /* Load the stream */ - DbgPrint("IBandSiteStreamCallback::OnLoad intercepted the task band CLSID!\n"); - } - - return hRet; - } - } - } - - /* Reset the position and let the shell do all the work for us */ - hRet = IStream_Seek(pStm, - *(LARGE_INTEGER*)&liCurrent, - STREAM_SEEK_SET, - NULL); - if (SUCCEEDED(hRet)) - { - /* Let the shell handle everything else for us :) */ - hRet = OleLoadFromStream(pStm, - riid, - pvObj); - } - - if (!SUCCEEDED(hRet)) - { - DbgPrint("IBandSiteStreamCallback::OnLoad(0x%p, 0x%p, 0x%p) returns 0x%x\n", pStm, riid, pvObj, hRet); - } - - return hRet; -} - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_OnSave(IN OUT ITrayBandSite *iface, - IN OUT IUnknown *pUnk, - IN OUT IStream *pStm) -{ - /* NOTE: Callback routine called by the shell while saving the task band - stream. We use it to intercept the default behavior when the task - band is saved to the stream */ - /* FIXME: Implement */ - DbgPrint("IBandSiteStreamCallback::OnSave(0x%p, 0x%p) returns E_NOTIMPL\n", pUnk, pStm); - return E_NOTIMPL; -} - -static HRESULT -IsSameObject(IN IUnknown *punk1, - IN IUnknown *punk2) -{ - HRESULT hRet; - - hRet = IUnknown_QueryInterface(punk1, - &IID_IUnknown, - (PVOID*)&punk1); - if (!SUCCEEDED(hRet)) - return hRet; - - hRet = IUnknown_QueryInterface(punk2, - &IID_IUnknown, - (PVOID*)&punk2); - IUnknown_Release(punk1); - - if (!SUCCEEDED(hRet)) - return hRet; - - IUnknown_Release(punk2); - - /* We're dealing with the same object if the IUnknown pointers are equal */ - return (punk1 == punk2) ? S_OK : S_FALSE; -} - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_IsTaskBand(IN OUT ITrayBandSite *iface, - IN IUnknown *punk) -{ - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_ITrayBandSite(iface); - return IsSameObject((IUnknown *)This->BandSite, - punk); -} - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_ProcessMessage(IN OUT ITrayBandSite *iface, - IN HWND hWnd, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam, - OUT LRESULT *plResult) -{ - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_ITrayBandSite(iface); - HRESULT hRet; - - ASSERT(This->hWndRebar != NULL); - - /* Custom task band behavior */ - switch (uMsg) - { - case WM_NOTIFY: - { - const NMHDR *nmh = (const NMHDR *)lParam; - - if (nmh->hwndFrom == This->hWndRebar) - { - switch (nmh->code) - { - case NM_NCHITTEST: - { - LPNMMOUSE nmm = (LPNMMOUSE)lParam; - - if (nmm->dwHitInfo == RBHT_CLIENT || nmm->dwHitInfo == RBHT_NOWHERE || - nmm->dwItemSpec == (DWORD_PTR)-1) - { - /* Make the rebar control appear transparent so the user - can drag the tray window */ - *plResult = HTTRANSPARENT; - } - return S_OK; - } - - case RBN_MINMAX: - /* Deny if an Administrator disabled this "feature" */ - *plResult = (SHRestricted(REST_NOMOVINGBAND) != 0); - return S_OK; - } - } - - //DbgPrint("ITrayBandSite::ProcessMessage: WM_NOTIFY for 0x%p, From: 0x%p, Code: NM_FIRST-%u...\n", hWnd, nmh->hwndFrom, NM_FIRST - nmh->code); - break; - } - }; - - /* Forward to the shell's IWinEventHandler interface to get the default - shell behavior! */ - if (This->WindowEventHandler != NULL) - { - /*DbgPrint("Calling IWinEventHandler::ProcessMessage(0x%p, 0x%x, 0x%p, 0x%p, 0x%p) This->hWndRebar=0x%p\n", hWnd, uMsg, wParam, lParam, plResult, This->hWndRebar);*/ - hRet = IWinEventHandler_OnWinEvent(This->WindowEventHandler, - hWnd, - uMsg, - wParam, - lParam, - plResult); - if (!SUCCEEDED(hRet)) - { - if (uMsg == WM_NOTIFY) - { - const NMHDR *nmh = (const NMHDR *)lParam; - DbgPrint("ITrayBandSite->IWinEventHandler::ProcessMessage: WM_NOTIFY for 0x%p, From: 0x%p, Code: NM_FIRST-%u returned 0x%x\n", hWnd, nmh->hwndFrom, NM_FIRST - nmh->code, hRet); - } - else - { - DbgPrint("ITrayBandSite->IWinEventHandler::ProcessMessage(0x%p,0x%x,0x%p,0x%p,0x%p->0x%p) returned: 0x%x\n", hWnd, uMsg, wParam, lParam, plResult, *plResult, hRet); - } - } - } - else - hRet = E_FAIL; - - return hRet; -} - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_AddContextMenus(IN OUT ITrayBandSite *iface, - IN HMENU hmenu, - IN UINT indexMenu, - IN UINT idCmdFirst, - IN UINT idCmdLast, - IN UINT uFlags, - OUT IContextMenu **ppcm) -{ - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_ITrayBandSite(iface); - IShellService *pSs; - HRESULT hRet; - - if (This->ContextMenu == NULL) - { - /* Cache the context menu so we don't need to CoCreateInstance all the time... */ - hRet = CoCreateInstance(&CLSID_IShellBandSiteMenu, - NULL, - CLSCTX_INPROC_SERVER, - &IID_IShellService, - (PVOID*)&pSs); - DbgPrint("CoCreateInstance(CLSID_IShellBandSiteMenu) for IShellService returned: 0x%x\n", hRet); - if (!SUCCEEDED(hRet)) - return hRet; - - hRet = IShellService_SetOwner(pSs, - IUnknown_from_ITrayBandSiteImpl(This)); - if (!SUCCEEDED(hRet)) - { - IShellService_Release(pSs); - return hRet; - } - - hRet = IShellService_QueryInterface(pSs, - &IID_IContextMenu, - (PVOID*)&This->ContextMenu); - - IShellService_Release(pSs); - - if (!SUCCEEDED(hRet)) - return hRet; - } - - if (ppcm != NULL) - { - IContextMenu_AddRef(This->ContextMenu); - *ppcm = This->ContextMenu; - } - - /* Add the menu items */ - return IContextMenu_QueryContextMenu(This->ContextMenu, - hmenu, - indexMenu, - idCmdFirst, - idCmdLast, - uFlags); -} - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_Lock(IN OUT ITrayBandSite *iface, - IN BOOL bLock) -{ - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_ITrayBandSite(iface); - BOOL bPrevLocked = This->Locked; - BANDSITEINFO bsi; - HRESULT hRet; - - ASSERT(This->BandSite != NULL); - - if (bPrevLocked != bLock) - { - This->Locked = bLock; - - bsi.dwMask = BSIM_STYLE; - bsi.dwStyle = (This->Locked ? BSIS_LOCKED | BSIS_NOGRIPPER : BSIS_AUTOGRIPPER); - - hRet = IBandSite_SetBandSiteInfo(This->BandSite, - &bsi); - if (SUCCEEDED(hRet)) - { - hRet = ITrayBandSiteImpl_Update(This); - } - - return hRet; - } - - return S_FALSE; -} - -static const ITrayBandSiteVtbl ITrayBandSiteImpl_Vtbl = -{ - /*** IUnknown methods ***/ - ITrayBandSiteImpl_QueryInterface, - ITrayBandSiteImpl_AddRef, - ITrayBandSiteImpl_Release, - /*** IBandSiteStreamCallback methods ***/ - ITrayBandSiteImpl_OnLoad, - ITrayBandSiteImpl_OnSave, - /*** ITrayBandSite methods ***/ - ITrayBandSiteImpl_IsTaskBand, - ITrayBandSiteImpl_ProcessMessage, - ITrayBandSiteImpl_AddContextMenus, - ITrayBandSiteImpl_Lock -}; - -/*******************************************************************/ - -METHOD_IUNKNOWN_INHERITED_ADDREF(IBandSite, ITrayBandSite) -METHOD_IUNKNOWN_INHERITED_RELEASE(IBandSite, ITrayBandSite) -METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE(IBandSite, ITrayBandSite) - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_AddBand(IN OUT IBandSite *iface, - IN IUnknown *punk) -{ - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_IBandSite(iface); - IOleCommandTarget *pOct; - HRESULT hRet; - - hRet = IUnknown_QueryInterface(punk, - &IID_IOleCommandTarget, - (PVOID*)&pOct); - if (SUCCEEDED(hRet)) - { - /* Send the DBID_DELAYINIT command to initialize the band to be added */ - /* FIXME: Should be delayed */ - IOleCommandTarget_Exec(pOct, - &IID_IDeskBand, - DBID_DELAYINIT, - 0, - NULL, - NULL); - - IOleCommandTarget_Release(pOct); - } - - return IBandSite_AddBand(This->BandSite, - punk); -} - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_EnumBands(IN OUT IBandSite *iface, - IN UINT uBand, - OUT DWORD *pdwBandID) -{ - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_IBandSite(iface); - return IBandSite_EnumBands(This->BandSite, - uBand, - pdwBandID); -} - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_QueryBand(IN OUT IBandSite *iface, - IN DWORD dwBandID, - OUT IDeskBand **ppstb, - OUT DWORD *pdwState, - OUT LPWSTR pszName, - IN int cchName) -{ - HRESULT hRet; - IDeskBand *pstb = NULL; - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_IBandSite(iface); - - hRet = IBandSite_QueryBand(This->BandSite, - dwBandID, - &pstb, - pdwState, - pszName, - cchName); - - if (SUCCEEDED(hRet)) - { - hRet = IsSameObject((IUnknown *)pstb, - (IUnknown *)This->TaskBand); - if (hRet == S_OK) - { - /* Add the BSSF_UNDELETEABLE flag to pdwState because the task bar band shouldn't be deletable */ - if (pdwState != NULL) - *pdwState |= BSSF_UNDELETEABLE; - } - else if (!SUCCEEDED(hRet)) - { - IDeskBand_Release(pstb); - pstb = NULL; - } - - if (ppstb != NULL) - *ppstb = pstb; - } - else if (ppstb != NULL) - *ppstb = NULL; - - return hRet; -} - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_SetBandState(IN OUT IBandSite *iface, - IN DWORD dwBandID, - IN DWORD dwMask, - IN DWORD dwState) -{ - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_IBandSite(iface); - return IBandSite_SetBandState(This->BandSite, - dwBandID, - dwMask, - dwState); -} - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_RemoveBand(IN OUT IBandSite *iface, - IN DWORD dwBandID) -{ - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_IBandSite(iface); - return IBandSite_RemoveBand(This->BandSite, - dwBandID); -} - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_GetBandObject(IN OUT IBandSite *iface, - IN DWORD dwBandID, - IN REFIID riid, - OUT VOID **ppv) -{ - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_IBandSite(iface); - return IBandSite_GetBandObject(This->BandSite, - dwBandID, - riid, - ppv); -} - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_SetBandSiteInfo(IN OUT IBandSite *iface, - IN const BANDSITEINFO *pbsinfo) -{ - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_IBandSite(iface); - return IBandSite_SetBandSiteInfo(This->BandSite, - pbsinfo); -} - -static HRESULT STDMETHODCALLTYPE -ITrayBandSiteImpl_GetBandSiteInfo(IN OUT IBandSite *iface, - IN OUT BANDSITEINFO *pbsinfo) -{ - ITrayBandSiteImpl *This = ITrayBandSiteImpl_from_IBandSite(iface); - return IBandSite_GetBandSiteInfo(This->BandSite, - pbsinfo); -} - -static const IBandSiteVtbl IBandSiteImpl_Vtbl = -{ - /*** IUnknown methods ***/ - METHOD_IUNKNOWN_INHERITED_QUERYINTERFACE_NAME(IBandSite, ITrayBandSite), - METHOD_IUNKNOWN_INHERITED_ADDREF_NAME(IBandSite, ITrayBandSite), - METHOD_IUNKNOWN_INHERITED_RELEASE_NAME(IBandSite, ITrayBandSite), - /*** IBandSite methods ***/ - ITrayBandSiteImpl_AddBand, - ITrayBandSiteImpl_EnumBands, - ITrayBandSiteImpl_QueryBand, - ITrayBandSiteImpl_SetBandState, - ITrayBandSiteImpl_RemoveBand, - ITrayBandSiteImpl_GetBandObject, - ITrayBandSiteImpl_SetBandSiteInfo, - ITrayBandSiteImpl_GetBandSiteInfo, -}; - -static BOOL -ITrayBandSiteImpl_HasTaskBand(IN OUT ITrayBandSiteImpl *This) -{ - ASSERT(This->TaskBand != NULL); - - return SUCCEEDED(ITaskBand_GetRebarBandID(This->TaskBand, - NULL)); -} - -static HRESULT -ITrayBandSiteImpl_AddTaskBand(IN OUT ITrayBandSiteImpl *This) -{ -#if 0 - /* FIXME: This is the code for the simple taskbar */ - IObjectWithSite *pOws; - HRESULT hRet; - - hRet = ITaskBand_QueryInterface(This->TaskBand, - &IID_IObjectWithSite, - (PVOID*)&pOws); - if (SUCCEEDED(hRet)) - { - hRet = IObjectWithSite_SetSite(pOws, - (IUnknown *)This->TaskBand); - - IObjectWithSite_Release(pOws); - } - - return hRet; -#else - if (!ITrayBandSiteImpl_HasTaskBand(This)) - { - return IBandSite_AddBand(This->BandSite, - (IUnknown *)This->TaskBand); - } - - return S_OK; -#endif -} - -static HRESULT -ITrayBandSiteImpl_Update(IN OUT ITrayBandSiteImpl *This) -{ - IOleCommandTarget *pOct; - HRESULT hRet; - - hRet = IUnknown_QueryInterface(This->punkInner, - &IID_IOleCommandTarget, - (PVOID*)&pOct); - if (SUCCEEDED(hRet)) - { - /* Send the DBID_BANDINFOCHANGED command to update the band site */ - hRet = IOleCommandTarget_Exec(pOct, - &IID_IDeskBand, - DBID_BANDINFOCHANGED, - 0, - NULL, - NULL); - - IOleCommandTarget_Release(pOct); - } - - return hRet; -} - -static VOID -ITrayBandSiteImpl_BroadcastOleCommandExec(IN OUT ITrayBandSiteImpl *This, - const GUID *pguidCmdGroup, - DWORD nCmdID, - DWORD nCmdExecOpt, - VARIANTARG *pvaIn, - VARIANTARG *pvaOut) -{ - IOleCommandTarget *pOct; - DWORD dwBandID; - UINT uBand = 0; - - /* Enumerate all bands */ - while (SUCCEEDED(IBandSite_EnumBands(This->BandSite, - uBand, - &dwBandID))) - { - if (SUCCEEDED(IBandSite_GetBandObject(This->BandSite, - dwBandID, - &IID_IOleCommandTarget, - (PVOID*)&pOct))) - { - /* Execute the command */ - IOleCommandTarget_Exec(pOct, - pguidCmdGroup, - nCmdID, - nCmdExecOpt, - pvaIn, - pvaOut); - - IOleCommandTarget_Release(pOct); - } - - uBand++; - } -} - -static HRESULT -ITrayBandSiteImpl_FinishInit(IN OUT ITrayBandSiteImpl *This) -{ - /* Broadcast the DBID_FINISHINIT command */ - ITrayBandSiteImpl_BroadcastOleCommandExec(This, - &IID_IDeskBand, - DBID_FINISHINIT, - 0, - NULL, - NULL); - - return S_OK; -} - -static HRESULT -ITrayBandSiteImpl_Show(IN OUT ITrayBandSiteImpl *This, - IN BOOL bShow) -{ - IDeskBarClient *pDbc; - HRESULT hRet; - - hRet = IBandSite_QueryInterface(This->BandSite, - &IID_IDeskBarClient, - (PVOID*)&pDbc); - if (SUCCEEDED(hRet)) - { - hRet = IDeskBarClient_UIActivateDBC(pDbc, - bShow ? DBC_SHOW : DBC_HIDE); - IDeskBarClient_Release(pDbc); - } - - return hRet; -} - -static HRESULT -ITrayBandSiteImpl_LoadFromStream(IN OUT ITrayBandSiteImpl *This, - IN OUT IStream *pStm) -{ - IPersistStream *pPStm; - HRESULT hRet; - - ASSERT(This->BandSite != NULL); - - /* We implement the undocumented COM interface IBandSiteStreamCallback - that the shell will query so that we can intercept and custom-load - the task band when it finds the task band's CLSID (which is internal). - This way we can prevent the shell from attempting to CoCreateInstance - the (internal) task band, resulting in a failure... */ - hRet = IBandSite_QueryInterface(This->BandSite, - &IID_IPersistStream, - (PVOID*)&pPStm); - if (SUCCEEDED(hRet)) - { - hRet = IPersistStream_Load(pPStm, - pStm); - DbgPrint("IPersistStream_Load() returned 0x%x\n", hRet); - IPersistStream_Release(pPStm); - } - - return hRet; -} - -static IStream * -GetUserBandsStream(IN DWORD grfMode) -{ - HKEY hkStreams; - IStream *Stream = NULL; - - if (RegCreateKey(hkExplorer, - TEXT("Streams"), - &hkStreams) == ERROR_SUCCESS) - { - Stream = SHOpenRegStream(hkStreams, - TEXT("Desktop"), - TEXT("TaskbarWinXP"), - grfMode); - - RegCloseKey(hkStreams); - } - - return Stream; -} - -static IStream * -GetDefaultBandsStream(IN DWORD grfMode) -{ - HKEY hkStreams; - IStream *Stream = NULL; - - if (RegCreateKey(HKEY_LOCAL_MACHINE, - TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Streams"), - &hkStreams) == ERROR_SUCCESS) - { - Stream = SHOpenRegStream(hkStreams, - TEXT("Desktop"), - TEXT("Default Taskbar"), - grfMode); - - RegCloseKey(hkStreams); - } - - return Stream; -} - -static HRESULT -ITrayBandSiteImpl_Load(IN OUT ITrayBandSiteImpl *This) -{ - IStream *pStm; - HRESULT hRet; - - /* Try to load the user's settings */ - pStm = GetUserBandsStream(STGM_READ); - if (pStm != NULL) - { - hRet = ITrayBandSiteImpl_LoadFromStream(This, - pStm); - - DbgPrint("Loaded user bands settings: 0x%x\n", hRet); - IStream_Release(pStm); - } - else - hRet = E_FAIL; - - /* If the user's settings couldn't be loaded, try with - default settings (ie. when the user logs in for the - first time! */ - if (!SUCCEEDED(hRet)) - { - pStm = GetDefaultBandsStream(STGM_READ); - if (pStm != NULL) - { - hRet = ITrayBandSiteImpl_LoadFromStream(This, - pStm); - - DbgPrint("Loaded default user bands settings: 0x%x\n", hRet); - IStream_Release(pStm); - } - else - hRet = E_FAIL; - } - - return hRet; -} - -static ITrayBandSiteImpl * -ITrayBandSiteImpl_Construct(IN OUT ITrayWindow *Tray, - OUT HWND *phWndRebar, - OUT HWND *phwndTaskSwitch) -{ - ITrayBandSiteImpl *This; - IDeskBarClient *pDbc; - IDeskBand *pDb; - IOleWindow *pOw; - HRESULT hRet; - - *phWndRebar = NULL; - *phwndTaskSwitch = NULL; - - This = HeapAlloc(hProcessHeap, - HEAP_ZERO_MEMORY, - sizeof(*This)); - if (This == NULL) - return NULL; - - This->lpVtbl = &ITrayBandSiteImpl_Vtbl; - This->lpBandSiteVtbl = &IBandSiteImpl_Vtbl; - This->Ref = 1; - This->Tray = Tray; - - /* Create a RebarBandSite provided by the shell */ - hRet = CoCreateInstance(&CLSID_RebarBandSite, - (LPUNKNOWN)IBandSite_from_ITrayBandSiteImpl(This), - CLSCTX_INPROC_SERVER, - &IID_IUnknown, - (LPVOID*)&This->punkInner); - if (!SUCCEEDED(hRet)) - { - ITrayBandSiteImpl_Free(This); - return NULL; - } - - hRet = IUnknown_QueryInterface(This->punkInner, - &IID_IBandSite, - (PVOID*)&This->BandSite); - if (!SUCCEEDED(hRet)) - { - ITrayBandSiteImpl_Free(This); - return NULL; - } - - hRet = IUnknown_QueryInterface(This->punkInner, - &IID_IWinEventHandler, - (PVOID*)&This->WindowEventHandler); - if (!SUCCEEDED(hRet)) - { - ITrayBandSiteImpl_Free(This); - return NULL; - } - - This->TaskBand = CreateTaskBand(Tray); - if (This->TaskBand != NULL) - { - /* Add the task band to the site */ - hRet = IBandSite_QueryInterface(This->BandSite, - &IID_IDeskBarClient, - (PVOID*)&pDbc); - if (SUCCEEDED(hRet)) - { - hRet = ITaskBand_QueryInterface(This->TaskBand, - &IID_IOleWindow, - (PVOID*)&pOw); - if (SUCCEEDED(hRet)) - { - /* We cause IDeskBarClient to create the rebar control by passing the new - task band to it. The band reports the tray window handle as window handle - so that IDeskBarClient knows the parent window of the Rebar control that - it wants to create. */ - hRet = IDeskBarClient_SetDeskBarSite(pDbc, - (IUnknown *)pOw); - - if (SUCCEEDED(hRet)) - { - /* The Rebar control is now created, we can query the window handle */ - hRet = IDeskBarClient_GetWindow(pDbc, - &This->hWndRebar); - - if (SUCCEEDED(hRet)) - { - /* We need to manually remove the RBS_BANDBORDERS style! */ - SetWindowStyle(This->hWndRebar, - RBS_BANDBORDERS, - 0); - } - } - - IOleWindow_Release(pOw); - } - - if (SUCCEEDED(hRet)) - { - DWORD dwMode = 0; - - /* Set the Desk Bar mode to the current one */ - - /* FIXME: We need to set the mode (and update) whenever the user docks - the tray window to another monitor edge! */ - - if (!ITrayWindow_IsHorizontal(This->Tray)) - dwMode = DBIF_VIEWMODE_VERTICAL; - - hRet = IDeskBarClient_SetModeDBC(pDbc, - dwMode); - } - - IDeskBarClient_Release(pDbc); - } - - /* Load the saved state of the task band site */ - /* FIXME: We should delay loading shell extensions, also see DBID_DELAYINIT */ - ITrayBandSiteImpl_Load(This); - - /* Add the task bar band if it hasn't been added already */ - hRet = ITrayBandSiteImpl_AddTaskBand(This); - if (SUCCEEDED(hRet)) - { - hRet = ITaskBand_QueryInterface(This->TaskBand, - &IID_IDeskBand, - (PVOID*)&pDb); - if (SUCCEEDED(hRet)) - { - hRet = IDeskBand_GetWindow(pDb, - phwndTaskSwitch); - if (!SUCCEEDED(hRet)) - *phwndTaskSwitch = NULL; - - IDeskBand_Release(pDb); - } - } - - /* Should we send this after showing it? */ - ITrayBandSiteImpl_Update(This); - - /* FIXME: When should we send this? Does anyone care anyway? */ - ITrayBandSiteImpl_FinishInit(This); - - /* Activate the band site */ - ITrayBandSiteImpl_Show(This, - TRUE); - } - - *phWndRebar = This->hWndRebar; - - return This; -} - -/*******************************************************************/ - -ITrayBandSite * -CreateTrayBandSite(IN OUT ITrayWindow *Tray, - OUT HWND *phWndRebar, - OUT HWND *phWndTaskSwitch) -{ - ITrayBandSiteImpl *This; - - This = ITrayBandSiteImpl_Construct(Tray, - phWndRebar, - phWndTaskSwitch); - if (This != NULL) - { - return ITrayBandSite_from_ITrayBandSiteImpl(This); - } - - return NULL; -} diff --git a/base/shell/explorer-new/todo.h b/base/shell/explorer-new/todo.h deleted file mode 100644 index e9096397340..00000000000 --- a/base/shell/explorer-new/todo.h +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -/* FIXME: Ugly hack!!! FIX ASAP! Move to uuid! */ -static const GUID VID_HACK_LargeIcons = {0x0057D0E0, 0x3573, 0x11CF, {0xAE, 0x69, 0x08, 0x00, 0x2B, 0x2E, 0x12, 0x62}}; -#define VID_LargeIcons VID_HACK_LargeIcons - -static const GUID IID_HACK_IDeskBar = {0xEB0FE173, 0x1A3A, 0x11D0, {0x89, 0xB3, 0x00, 0xA0, 0xC9, 0x0A, 0x90, 0xAC}}; -#define IID_IDeskBar IID_HACK_IDeskBar - -static const GUID SID_HACK_SMenuPopup = {0xD1E7AFEB,0x6A2E,0x11D0,{0x8C,0x78,0x00,0xC0,0x4F,0xD9,0x18,0xB4}}; -#define SID_SMenuPopup SID_HACK_SMenuPopup diff --git a/base/shell/explorer-new/trayntfy.c b/base/shell/explorer-new/trayntfy.c deleted file mode 100644 index ec6e9ad05be..00000000000 --- a/base/shell/explorer-new/trayntfy.c +++ /dev/null @@ -1,1929 +0,0 @@ -/* - * ReactOS Explorer - * - * Copyright 2006 - 2007 Thomas Weidenmueller - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "precomp.h" -//#include - -/* - * SysPagerWnd - */ -static const TCHAR szSysPagerWndClass[] = TEXT("SysPager"); - -typedef struct _NOTIFY_ITEM -{ - struct _NOTIFY_ITEM *next; - INT Index; - INT IconIndex; - NOTIFYICONDATA iconData; -} NOTIFY_ITEM, *PNOTIFY_ITEM, **PPNOTIFY_ITEM; - -typedef struct _SYS_PAGER_DATA -{ - HWND hWnd; - HWND hWndToolbar; - HIMAGELIST SysIcons; - PNOTIFY_ITEM NotifyItems; - INT ButtonCount; - INT VisibleButtonCount; -} SYS_PAGER_WND_DATA, *PSYS_PAGER_WND_DATA; - - -static PNOTIFY_ITEM -SysPagerWnd_CreateNotifyItemData(IN OUT PSYS_PAGER_WND_DATA This) -{ - PNOTIFY_ITEM *findNotifyPointer = &This->NotifyItems; - PNOTIFY_ITEM notifyItem; - - notifyItem = HeapAlloc(hProcessHeap, - HEAP_ZERO_MEMORY, - sizeof(*notifyItem)); - if (notifyItem == NULL) - return NULL; - - notifyItem->next = NULL; - - while (*findNotifyPointer != NULL) - { - findNotifyPointer = &(*findNotifyPointer)->next; - } - - *findNotifyPointer = notifyItem; - - return notifyItem; -} - -static PPNOTIFY_ITEM -SysPagerWnd_FindPPNotifyItemByIconData(IN OUT PSYS_PAGER_WND_DATA This, - IN CONST NOTIFYICONDATA *iconData) -{ - PPNOTIFY_ITEM findNotifyPointer = &This->NotifyItems; - - while (*findNotifyPointer != NULL) - { - if ((*findNotifyPointer)->iconData.hWnd == iconData->hWnd && - (*findNotifyPointer)->iconData.uID == iconData->uID) - { - return findNotifyPointer; - } - findNotifyPointer = &(*findNotifyPointer)->next; - } - - return NULL; -} - -static PPNOTIFY_ITEM -SysPagerWnd_FindPPNotifyItemByIndex(IN OUT PSYS_PAGER_WND_DATA This, - IN WORD wIndex) -{ - PPNOTIFY_ITEM findNotifyPointer = &This->NotifyItems; - - while (*findNotifyPointer != NULL) - { - if ((*findNotifyPointer)->Index == wIndex) - { - return findNotifyPointer; - } - findNotifyPointer = &(*findNotifyPointer)->next; - } - - return NULL; -} - -static VOID -SysPagerWnd_UpdateButton(IN OUT PSYS_PAGER_WND_DATA This, - IN CONST NOTIFYICONDATA *iconData) -{ - TBBUTTONINFO tbbi; - PNOTIFY_ITEM notifyItem; - PPNOTIFY_ITEM NotifyPointer; - - NotifyPointer = SysPagerWnd_FindPPNotifyItemByIconData(This, iconData); - notifyItem = *NotifyPointer; - - tbbi.cbSize = sizeof(tbbi); - tbbi.dwMask = TBIF_BYINDEX | TBIF_COMMAND; - tbbi.idCommand = notifyItem->Index; - - if (iconData->uFlags & NIF_MESSAGE) - { - notifyItem->iconData.uCallbackMessage = iconData->uCallbackMessage; - } - - if (iconData->uFlags & NIF_ICON) - { - tbbi.dwMask |= TBIF_IMAGE; - notifyItem->IconIndex = tbbi.iImage = ImageList_AddIcon(This->SysIcons, iconData->hIcon); - } - - /* TODO: support NIF_TIP */ - - if (iconData->uFlags & NIF_STATE) - { - if (iconData->dwStateMask & NIS_HIDDEN && - (notifyItem->iconData.dwState & NIS_HIDDEN) != (iconData->dwState & NIS_HIDDEN)) - { - tbbi.dwMask |= TBIF_STATE; - if (iconData->dwState & NIS_HIDDEN) - { - tbbi.fsState |= TBSTATE_HIDDEN; - This->VisibleButtonCount--; - } - else - { - tbbi.fsState &= ~TBSTATE_HIDDEN; - This->VisibleButtonCount++; - } - } - - notifyItem->iconData.dwState &= ~iconData->dwStateMask; - notifyItem->iconData.dwState |= (iconData->dwState & iconData->dwStateMask); - } - - /* TODO: support NIF_INFO, NIF_GUID, NIF_REALTIME, NIF_SHOWTIP */ - - SendMessage(This->hWndToolbar, - TB_SETBUTTONINFO, - (WPARAM)notifyItem->Index, - (LPARAM)&tbbi); -} - - -static VOID -SysPagerWnd_AddButton(IN OUT PSYS_PAGER_WND_DATA This, - IN CONST NOTIFYICONDATA *iconData) -{ - TBBUTTON tbBtn; - PNOTIFY_ITEM notifyItem; - TCHAR text[] = TEXT(""); - - notifyItem = SysPagerWnd_CreateNotifyItemData(This); - - notifyItem->next = NULL; - notifyItem->Index = This->ButtonCount; - This->ButtonCount++; - This->VisibleButtonCount++; - - notifyItem->iconData.hWnd = iconData->hWnd; - notifyItem->iconData.uID = iconData->uID; - - tbBtn.fsState = TBSTATE_ENABLED; - tbBtn.fsStyle = BTNS_NOPREFIX; - tbBtn.dwData = notifyItem->Index; - - tbBtn.iString = (INT_PTR)text; - tbBtn.idCommand = notifyItem->Index; - - if (iconData->uFlags & NIF_MESSAGE) - { - notifyItem->iconData.uCallbackMessage = iconData->uCallbackMessage; - } - - if (iconData->uFlags & NIF_ICON) - { - notifyItem->IconIndex = tbBtn.iBitmap = ImageList_AddIcon(This->SysIcons, iconData->hIcon); - } - - /* TODO: support NIF_TIP */ - - if (iconData->uFlags & NIF_STATE) - { - notifyItem->iconData.dwState &= ~iconData->dwStateMask; - notifyItem->iconData.dwState |= (iconData->dwState & iconData->dwStateMask); - if (notifyItem->iconData.dwState & NIS_HIDDEN) - { - tbBtn.fsState |= TBSTATE_HIDDEN; - This->VisibleButtonCount--; - } - - } - - /* TODO: support NIF_INFO, NIF_GUID, NIF_REALTIME, NIF_SHOWTIP */ - - SendMessage(This->hWndToolbar, - TB_INSERTBUTTON, - notifyItem->Index, - (LPARAM)&tbBtn); - - SendMessage(This->hWndToolbar, - TB_SETBUTTONSIZE, - 0, - MAKELONG(16, 16)); -} - -static VOID -SysPagerWnd_RemoveButton(IN OUT PSYS_PAGER_WND_DATA This, - IN CONST NOTIFYICONDATA *iconData) -{ - PPNOTIFY_ITEM NotifyPointer; - - NotifyPointer = SysPagerWnd_FindPPNotifyItemByIconData(This, iconData); - if (NotifyPointer) - { - PNOTIFY_ITEM deleteItem; - PNOTIFY_ITEM updateItem; - deleteItem = *NotifyPointer; - - SendMessage(This->hWndToolbar, - TB_DELETEBUTTON, - deleteItem->Index, - 0); - - *NotifyPointer = updateItem = deleteItem->next; - - if (!(deleteItem->iconData.dwState & NIS_HIDDEN)) - This->VisibleButtonCount--; - HeapFree(hProcessHeap, - 0, - deleteItem); - This->ButtonCount--; - - while (updateItem != NULL) - { - TBBUTTONINFO tbbi; - updateItem->Index--; - tbbi.cbSize = sizeof(tbbi); - tbbi.dwMask = TBIF_BYINDEX | TBIF_COMMAND; - tbbi.idCommand = updateItem->Index; - - SendMessage(This->hWndToolbar, - TB_SETBUTTONINFO, - updateItem->Index, - (LPARAM)&tbbi); - - updateItem = updateItem->next; - } - } -} - -static VOID -SysPagerWnd_HandleButtonClick(IN OUT PSYS_PAGER_WND_DATA This, - IN WORD wIndex, - IN UINT uMsg, - IN WPARAM wParam) -{ - PPNOTIFY_ITEM NotifyPointer; - - NotifyPointer = SysPagerWnd_FindPPNotifyItemByIndex(This, wIndex); - if (NotifyPointer) - { - PNOTIFY_ITEM notifyItem; - notifyItem = *NotifyPointer; - - if (IsWindow(notifyItem->iconData.hWnd)) - { - if (uMsg == WM_MOUSEMOVE || - uMsg == WM_LBUTTONDOWN || - uMsg == WM_MBUTTONDOWN || - uMsg == WM_RBUTTONDOWN) - { - PostMessage(notifyItem->iconData.hWnd, - notifyItem->iconData.uCallbackMessage, - notifyItem->iconData.uID, - uMsg); - } - else - { - DWORD pid; - GetWindowThreadProcessId(notifyItem->iconData.hWnd, &pid); - if (pid == GetCurrentProcessId()) - { - PostMessage(notifyItem->iconData.hWnd, - notifyItem->iconData.uCallbackMessage, - notifyItem->iconData.uID, - uMsg); - } - else - { - SendMessage(notifyItem->iconData.hWnd, - notifyItem->iconData.uCallbackMessage, - notifyItem->iconData.uID, - uMsg); - } - } - } - } -} - -static VOID -SysPagerWnd_DrawBackground(IN HWND hwnd, - IN HDC hdc) -{ - RECT rect; - - GetClientRect(hwnd, &rect); - DrawThemeParentBackground(hwnd, hdc, &rect); -} - -static LRESULT CALLBACK -SysPagerWnd_ToolbarSubclassedProc(IN HWND hWnd, - IN UINT msg, - IN WPARAM wParam, - IN LPARAM lParam, - IN UINT_PTR uIdSubclass, - IN DWORD_PTR dwRefData) -{ - if (msg >= WM_MOUSEFIRST && msg <= WM_MOUSELAST) - { - HWND parent = GetParent(hWnd); - - if (!parent) - return 0; - - return SendMessage(parent, msg, wParam, lParam); - } - - return DefSubclassProc(hWnd, msg, wParam, lParam); -} - -static VOID -SysPagerWnd_Create(IN OUT PSYS_PAGER_WND_DATA This) -{ - This->hWndToolbar = CreateWindowEx(0, - TOOLBARCLASSNAME, - NULL, - WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | - TBSTYLE_FLAT | TBSTYLE_TOOLTIPS | TBSTYLE_WRAPABLE | - TBSTYLE_TRANSPARENT | - CCS_TOP | CCS_NORESIZE | CCS_NODIVIDER, - 0, - 0, - 0, - 0, - This->hWnd, - NULL, - hExplorerInstance, - NULL); - if (This->hWndToolbar != NULL) - { - SIZE BtnSize; - SetWindowTheme(This->hWndToolbar, L"TrayNotify", NULL); - /* Identify the version we're using */ - SendMessage(This->hWndToolbar, - TB_BUTTONSTRUCTSIZE, - sizeof(TBBUTTON), - 0); - - This->SysIcons = ImageList_Create(16, 16, ILC_COLOR32 | ILC_MASK, 0, 1000); - SendMessage(This->hWndToolbar, TB_SETIMAGELIST, 0, (LPARAM)This->SysIcons); - - BtnSize.cx = BtnSize.cy = 18; - SendMessage(This->hWndToolbar, - TB_SETBUTTONSIZE, - 0, - MAKELONG(BtnSize.cx, BtnSize.cy)); - - SetWindowSubclass(This->hWndToolbar, - SysPagerWnd_ToolbarSubclassedProc, - 2, - (DWORD_PTR)This); - } -} - -static VOID -SysPagerWnd_NCDestroy(IN OUT PSYS_PAGER_WND_DATA This) -{ - /* Free allocated resources */ - SetWindowLongPtr(This->hWnd, - 0, - 0); - HeapFree(hProcessHeap, - 0, - This); -} - -static VOID -SysPagerWnd_NotifyMsg(IN HWND hwnd, - IN WPARAM wParam, - IN LPARAM lParam) -{ - PSYS_PAGER_WND_DATA This = (PSYS_PAGER_WND_DATA)GetWindowLongPtr(hwnd, 0); - - PCOPYDATASTRUCT cpData = (PCOPYDATASTRUCT)lParam; - if (cpData->dwData == 1) - { - DWORD trayCommand; - NOTIFYICONDATA *iconData; - HWND parentHWND; - RECT windowRect; - parentHWND = GetParent(This->hWnd); - parentHWND = GetParent(parentHWND); - GetClientRect(parentHWND, &windowRect); - - /* FIXME: ever heard of "struct"? */ - trayCommand = *(DWORD *) (((BYTE *)cpData->lpData) + 4); - iconData = (NOTIFYICONDATA *) (((BYTE *)cpData->lpData) + 8); - - switch (trayCommand) - { - case NIM_ADD: - { - PPNOTIFY_ITEM NotifyPointer; - NotifyPointer = SysPagerWnd_FindPPNotifyItemByIconData(This, - iconData); - if (!NotifyPointer) - { - SysPagerWnd_AddButton(This, iconData); - } - break; - } - case NIM_MODIFY: - { - PPNOTIFY_ITEM NotifyPointer; - NotifyPointer = SysPagerWnd_FindPPNotifyItemByIconData(This, - iconData); - if (!NotifyPointer) - { - SysPagerWnd_AddButton(This, iconData); - } - else - { - SysPagerWnd_UpdateButton(This, iconData); - } - break; - } - case NIM_DELETE: - { - SysPagerWnd_RemoveButton(This, iconData); - break; - } - } - SendMessage(parentHWND, - WM_SIZE, - 0, - MAKELONG(windowRect.right - windowRect.left, - windowRect.bottom - windowRect.top)); - } -} - -static void -SysPagerWnd_GetSize(IN HWND hwnd, - IN WPARAM wParam, - IN PSIZE size) -{ - PSYS_PAGER_WND_DATA This = (PSYS_PAGER_WND_DATA)GetWindowLongPtr(hwnd, 0); - INT rows = 0; - TBMETRICS tbm; - - if (wParam) /* horizontal */ - { - rows = size->cy / 24; - if (rows == 0) - rows++; - size->cx = (This->VisibleButtonCount+rows - 1) / rows * 24; - } - else - { - rows = size->cx / 24; - if (rows == 0) - rows++; - size->cy = (This->VisibleButtonCount+rows - 1) / rows * 24; - } - - tbm.cbSize = sizeof(tbm); - tbm.dwMask = TBMF_BARPAD | TBMF_BUTTONSPACING; - tbm.cxBarPad = tbm.cyBarPad = 0; - tbm.cxButtonSpacing = 0; - tbm.cyButtonSpacing = 0; - - SendMessage(This->hWndToolbar, - TB_SETMETRICS, - 0, - (LPARAM)&tbm); -} - -static LRESULT CALLBACK -SysPagerWndProc(IN HWND hwnd, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam) -{ - PSYS_PAGER_WND_DATA This = NULL; - LRESULT Ret = FALSE; - - if (uMsg != WM_NCCREATE) - { - This = (PSYS_PAGER_WND_DATA)GetWindowLongPtr(hwnd, 0); - } - - if (This != NULL || uMsg == WM_NCCREATE) - { - switch (uMsg) - { - case WM_ERASEBKGND: - SysPagerWnd_DrawBackground(hwnd,(HDC)wParam); - return 0; - - case WM_NCCREATE: - { - LPCREATESTRUCT CreateStruct = (LPCREATESTRUCT)lParam; - This = CreateStruct->lpCreateParams; - This->hWnd = hwnd; - This->NotifyItems = NULL; - This->ButtonCount = 0; - This->VisibleButtonCount = 0; - - SetWindowLongPtr(hwnd, - 0, - (LONG_PTR)This); - - return TRUE; - } - case WM_CREATE: - SysPagerWnd_Create(This); - break; - case WM_NCDESTROY: - SysPagerWnd_NCDestroy(This); - break; - - case WM_SIZE: - { - SIZE szClient; - szClient.cx = LOWORD(lParam); - szClient.cy = HIWORD(lParam); - - Ret = DefWindowProc(hwnd, - uMsg, - wParam, - lParam); - - - if (This->hWndToolbar != NULL && This->hWndToolbar != hwnd) - { - SetWindowPos(This->hWndToolbar, - NULL, - 0, - 0, - szClient.cx, - szClient.cy, - SWP_NOZORDER); - } - } - - default: - if (uMsg >= WM_MOUSEFIRST && uMsg <= WM_MOUSELAST) - { - POINT pt; - INT iBtn; - - pt.x = LOWORD(lParam); - pt.y = HIWORD(lParam); - - iBtn = (INT)SendMessage(This->hWndToolbar, - TB_HITTEST, - 0, - (LPARAM)&pt); - - if (iBtn >= 0) - { - SysPagerWnd_HandleButtonClick(This,iBtn,uMsg,wParam); - } - - return 0; - } - - Ret = DefWindowProc(hwnd, - uMsg, - wParam, - lParam); - break; - } - } - - return Ret; -} - -static HWND -CreateSysPagerWnd(IN HWND hWndParent, - IN BOOL bVisible) -{ - PSYS_PAGER_WND_DATA SpData; - DWORD dwStyle; - HWND hWnd = NULL; - - SpData = HeapAlloc(hProcessHeap, - HEAP_ZERO_MEMORY, - sizeof(*SpData)); - if (SpData != NULL) - { - /* Create the window. The tray window is going to move it to the correct - position and resize it as needed. */ - dwStyle = WS_CHILD | WS_CLIPSIBLINGS; - if (bVisible) - dwStyle |= WS_VISIBLE; - - hWnd = CreateWindowEx(0, - szSysPagerWndClass, - NULL, - dwStyle, - 0, - 0, - 0, - 0, - hWndParent, - NULL, - hExplorerInstance, - SpData); - - if (hWnd != NULL) - { - SetWindowTheme(hWnd, L"TrayNotify", NULL); - } - else - { - HeapFree(hProcessHeap, - 0, - SpData); - } - } - - return hWnd; - -} - -static BOOL -RegisterSysPagerWndClass(VOID) -{ - WNDCLASS wcTrayClock; - - wcTrayClock.style = CS_DBLCLKS; - wcTrayClock.lpfnWndProc = SysPagerWndProc; - wcTrayClock.cbClsExtra = 0; - wcTrayClock.cbWndExtra = sizeof(PSYS_PAGER_WND_DATA); - wcTrayClock.hInstance = hExplorerInstance; - wcTrayClock.hIcon = NULL; - wcTrayClock.hCursor = LoadCursor(NULL, IDC_ARROW); - wcTrayClock.hbrBackground = (HBRUSH)(COLOR_3DFACE + 1); - wcTrayClock.lpszMenuName = NULL; - wcTrayClock.lpszClassName = szSysPagerWndClass; - - return RegisterClass(&wcTrayClock) != 0; -} - -static VOID -UnregisterSysPagerWndClass(VOID) -{ - UnregisterClass(szSysPagerWndClass, - hExplorerInstance); -} - -/* - * TrayClockWnd - */ - -static const TCHAR szTrayClockWndClass[] = TEXT("TrayClockWClass"); - -#define ID_TRAYCLOCK_TIMER 0 -#define ID_TRAYCLOCK_TIMER_INIT 1 - -static const struct -{ - BOOL IsTime; - DWORD dwFormatFlags; - LPCTSTR lpFormat; -} ClockWndFormats[] = { - { TRUE, 0, NULL }, - { FALSE, 0, TEXT("dddd") }, - { FALSE, DATE_SHORTDATE, NULL } -}; - -#define CLOCKWND_FORMAT_COUNT (sizeof(ClockWndFormats) / sizeof(ClockWndFormats[0])) - -#define TRAY_CLOCK_WND_SPACING_X 0 -#define TRAY_CLOCK_WND_SPACING_Y 0 - -typedef struct _TRAY_CLOCK_WND_DATA -{ - HWND hWnd; - HWND hWndNotify; - HFONT hFont; - COLORREF textColor; - RECT rcText; - SYSTEMTIME LocalTime; - - union - { - DWORD dwFlags; - struct - { - DWORD IsTimerEnabled : 1; - DWORD IsInitTimerEnabled : 1; - DWORD LinesMeasured : 1; - DWORD IsHorizontal : 1; - }; - }; - DWORD LineSpacing; - SIZE CurrentSize; - WORD VisibleLines; - SIZE LineSizes[CLOCKWND_FORMAT_COUNT]; - TCHAR szLines[CLOCKWND_FORMAT_COUNT][48]; -} TRAY_CLOCK_WND_DATA, *PTRAY_CLOCK_WND_DATA; - -static VOID -TrayClockWnd_SetFont(IN OUT PTRAY_CLOCK_WND_DATA This, - IN HFONT hNewFont, - IN BOOL bRedraw); - -static VOID -TrayClockWnd_UpdateTheme(IN OUT PTRAY_CLOCK_WND_DATA This) -{ - LOGFONTW clockFont; - HTHEME clockTheme; - HFONT hFont; - - clockTheme = OpenThemeData(This->hWnd, L"Clock"); - - if (clockTheme) - { - GetThemeFont(clockTheme, - NULL, - CLP_TIME, - 0, - TMT_FONT, - &clockFont); - - hFont = CreateFontIndirectW(&clockFont); - - TrayClockWnd_SetFont(This, - hFont, - FALSE); - - GetThemeColor(clockTheme, - CLP_TIME, - 0, - TMT_TEXTCOLOR, - &This->textColor); - } - else - { - This->textColor = RGB(0,0,0); - } - - CloseThemeData(clockTheme); -} - -static BOOL -TrayClockWnd_MeasureLines(IN OUT PTRAY_CLOCK_WND_DATA This) -{ - HDC hDC; - HFONT hPrevFont; - INT c, i; - BOOL bRet = TRUE; - - hDC = GetDC(This->hWnd); - if (hDC != NULL) - { - hPrevFont = SelectObject(hDC, - This->hFont); - - for (i = 0; - i != CLOCKWND_FORMAT_COUNT && bRet; - i++) - { - if (This->szLines[i][0] != TEXT('\0') && - !GetTextExtentPoint(hDC, - This->szLines[i], - _tcslen(This->szLines[i]), - &This->LineSizes[i])) - { - bRet = FALSE; - break; - } - } - - SelectObject(hDC, - hPrevFont); - - ReleaseDC(This->hWnd, - hDC); - - if (bRet) - { - This->LineSpacing = 0; - - /* calculate the line spacing */ - for (i = 0, c = 0; - i != CLOCKWND_FORMAT_COUNT; - i++) - { - if (This->LineSizes[i].cx > 0) - { - This->LineSpacing += This->LineSizes[i].cy; - c++; - } - } - - if (c > 0) - { - /* We want a spaceing of 1/2 line */ - This->LineSpacing = (This->LineSpacing / c) / 2; - } - - return TRUE; - } - } - - return FALSE; -} - -static WORD -TrayClockWnd_GetMinimumSize(IN OUT PTRAY_CLOCK_WND_DATA This, - IN BOOL Horizontal, - IN OUT PSIZE pSize) -{ - WORD iLinesVisible = 0; - INT i; - SIZE szMax = { 0, 0 }; - - if (!This->LinesMeasured) - This->LinesMeasured = TrayClockWnd_MeasureLines(This); - - if (!This->LinesMeasured) - return 0; - - for (i = 0; - i != CLOCKWND_FORMAT_COUNT; - i++) - { - if (This->LineSizes[i].cx != 0) - { - if (iLinesVisible > 0) - { - if (Horizontal) - { - if (szMax.cy + This->LineSizes[i].cy + (LONG)This->LineSpacing > - pSize->cy - (2 * TRAY_CLOCK_WND_SPACING_Y)) - { - break; - } - } - else - { - if (This->LineSizes[i].cx > pSize->cx - (2 * TRAY_CLOCK_WND_SPACING_X)) - break; - } - - /* Add line spacing */ - szMax.cy += This->LineSpacing; - } - - iLinesVisible++; - - /* Increase maximum rectangle */ - szMax.cy += This->LineSizes[i].cy; - if (This->LineSizes[i].cx > szMax.cx - (2 * TRAY_CLOCK_WND_SPACING_X)) - szMax.cx = This->LineSizes[i].cx + (2 * TRAY_CLOCK_WND_SPACING_X); - } - } - - szMax.cx += 2 * TRAY_CLOCK_WND_SPACING_X; - szMax.cy += 2 * TRAY_CLOCK_WND_SPACING_Y; - - *pSize = szMax; - - return iLinesVisible; -} - - -static VOID -TrayClockWnd_UpdateWnd(IN OUT PTRAY_CLOCK_WND_DATA This) -{ - SIZE szPrevCurrent; - INT BufSize, iRet, i; - RECT rcClient; - - ZeroMemory(This->LineSizes, - sizeof(This->LineSizes)); - - szPrevCurrent = This->CurrentSize; - - for (i = 0; - i != CLOCKWND_FORMAT_COUNT; - i++) - { - This->szLines[i][0] = TEXT('\0'); - BufSize = sizeof(This->szLines[0]) / sizeof(This->szLines[0][0]); - - if (ClockWndFormats[i].IsTime) - { - iRet = GetTimeFormat(LOCALE_USER_DEFAULT, - AdvancedSettings.bShowSeconds ? ClockWndFormats[i].dwFormatFlags : TIME_NOSECONDS, - &This->LocalTime, - ClockWndFormats[i].lpFormat, - This->szLines[i], - BufSize); - } - else - { - iRet = GetDateFormat(LOCALE_USER_DEFAULT, - ClockWndFormats[i].dwFormatFlags, - &This->LocalTime, - ClockWndFormats[i].lpFormat, - This->szLines[i], - BufSize); - } - - if (iRet != 0 && i == 0) - { - /* Set the window text to the time only */ - SetWindowText(This->hWnd, - This->szLines[i]); - } - } - - This->LinesMeasured = TrayClockWnd_MeasureLines(This); - - if (This->LinesMeasured && - GetClientRect(This->hWnd, - &rcClient)) - { - SIZE szWnd; - - szWnd.cx = rcClient.right; - szWnd.cy = rcClient.bottom; - - This->VisibleLines = TrayClockWnd_GetMinimumSize(This, - This->IsHorizontal, - &szWnd); - This->CurrentSize = szWnd; - } - - if (IsWindowVisible(This->hWnd)) - { - InvalidateRect(This->hWnd, - NULL, - TRUE); - - if (This->hWndNotify != NULL && - (szPrevCurrent.cx != This->CurrentSize.cx || - szPrevCurrent.cy != This->CurrentSize.cy)) - { - NMHDR nmh; - - nmh.hwndFrom = This->hWnd; - nmh.idFrom = GetWindowLongPtr(This->hWnd, - GWLP_ID); - nmh.code = NTNWM_REALIGN; - - SendMessage(This->hWndNotify, - WM_NOTIFY, - (WPARAM)nmh.idFrom, - (LPARAM)&nmh); - } - } -} - -static VOID -TrayClockWnd_Update(IN OUT PTRAY_CLOCK_WND_DATA This) -{ - GetLocalTime(&This->LocalTime); - TrayClockWnd_UpdateWnd(This); -} - -static UINT -TrayClockWnd_CalculateDueTime(IN OUT PTRAY_CLOCK_WND_DATA This) -{ - UINT uiDueTime; - - /* Calculate the due time */ - GetLocalTime(&This->LocalTime); - uiDueTime = 1000 - (UINT)This->LocalTime.wMilliseconds; - if (AdvancedSettings.bShowSeconds) - uiDueTime += (UINT)This->LocalTime.wSecond * 100; - else - uiDueTime += (59 - (UINT)This->LocalTime.wSecond) * 1000; - - if (uiDueTime < USER_TIMER_MINIMUM || uiDueTime > USER_TIMER_MAXIMUM) - uiDueTime = 1000; - else - { - /* Add an artificial delay of 0.05 seconds to make sure the timer - doesn't fire too early*/ - uiDueTime += 50; - } - - return uiDueTime; -} - -static BOOL -TrayClockWnd_ResetTime(IN OUT PTRAY_CLOCK_WND_DATA This) -{ - UINT uiDueTime; - BOOL Ret; - - /* Disable all timers */ - if (This->IsTimerEnabled) - { - KillTimer(This->hWnd, - ID_TRAYCLOCK_TIMER); - This->IsTimerEnabled = FALSE; - } - - if (This->IsInitTimerEnabled) - { - KillTimer(This->hWnd, - ID_TRAYCLOCK_TIMER_INIT); - } - - uiDueTime = TrayClockWnd_CalculateDueTime(This); - - /* Set the new timer */ - Ret = SetTimer(This->hWnd, - ID_TRAYCLOCK_TIMER_INIT, - uiDueTime, - NULL) != 0; - This->IsInitTimerEnabled = Ret; - - /* Update the time */ - TrayClockWnd_Update(This); - - return Ret; -} - -static VOID -TrayClockWnd_CalibrateTimer(IN OUT PTRAY_CLOCK_WND_DATA This) -{ - UINT uiDueTime; - BOOL Ret; - UINT uiWait1, uiWait2; - - /* Kill the initialization timer */ - KillTimer(This->hWnd, - ID_TRAYCLOCK_TIMER_INIT); - This->IsInitTimerEnabled = FALSE; - - uiDueTime = TrayClockWnd_CalculateDueTime(This); - - if (AdvancedSettings.bShowSeconds) - { - uiWait1 = 1000 - 200; - uiWait2 = 1000; - } - else - { - uiWait1 = 60 * 1000 - 200; - uiWait2 = 60 * 1000; - } - - if (uiDueTime > uiWait1) - { - /* The update of the clock will be up to 200 ms late, but that's - acceptable. We're going to setup a timer that fires depending - uiWait2. */ - Ret = SetTimer(This->hWnd, - ID_TRAYCLOCK_TIMER, - uiWait2, - NULL) != 0; - This->IsTimerEnabled = Ret; - - /* Update the time */ - TrayClockWnd_Update(This); - } - else - { - /* Recalibrate the timer and recalculate again when the current - minute/second ends. */ - TrayClockWnd_ResetTime(This); - } -} - -static VOID -TrayClockWnd_NCDestroy(IN OUT PTRAY_CLOCK_WND_DATA This) -{ - /* Disable all timers */ - if (This->IsTimerEnabled) - { - KillTimer(This->hWnd, - ID_TRAYCLOCK_TIMER); - } - - if (This->IsInitTimerEnabled) - { - KillTimer(This->hWnd, - ID_TRAYCLOCK_TIMER_INIT); - } - - /* Free allocated resources */ - SetWindowLongPtr(This->hWnd, - 0, - 0); - HeapFree(hProcessHeap, - 0, - This); -} - -static VOID -TrayClockWnd_Paint(IN OUT PTRAY_CLOCK_WND_DATA This, - IN HDC hDC) -{ - RECT rcClient; - HFONT hPrevFont; - int iPrevBkMode, i, line; - - if (This->LinesMeasured && - GetClientRect(This->hWnd, - &rcClient)) - { - iPrevBkMode = SetBkMode(hDC, - TRANSPARENT); - - SetTextColor(hDC, This->textColor); - - hPrevFont = SelectObject(hDC, - This->hFont); - - rcClient.left = (rcClient.right / 2) - (This->CurrentSize.cx / 2); - rcClient.top = (rcClient.bottom / 2) - (This->CurrentSize.cy / 2); - rcClient.right = rcClient.left + This->CurrentSize.cx; - rcClient.bottom = rcClient.top + This->CurrentSize.cy; - - for (i = 0, line = 0; - i != CLOCKWND_FORMAT_COUNT && line < This->VisibleLines; - i++) - { - if (This->LineSizes[i].cx != 0) - { - TextOut(hDC, - rcClient.left + (This->CurrentSize.cx / 2) - (This->LineSizes[i].cx / 2) + - TRAY_CLOCK_WND_SPACING_X, - rcClient.top + TRAY_CLOCK_WND_SPACING_Y, - This->szLines[i], - _tcslen(This->szLines[i])); - - rcClient.top += This->LineSizes[i].cy + This->LineSpacing; - line++; - } - } - - SelectObject(hDC, - hPrevFont); - - SetBkMode(hDC, - iPrevBkMode); - } -} - -static VOID -TrayClockWnd_SetFont(IN OUT PTRAY_CLOCK_WND_DATA This, - IN HFONT hNewFont, - IN BOOL bRedraw) -{ - This->hFont = hNewFont; - This->LinesMeasured = TrayClockWnd_MeasureLines(This); - if (bRedraw) - { - InvalidateRect(This->hWnd, - NULL, - TRUE); - } -} - -static VOID -TrayClockWnd_DrawBackground(IN HWND hwnd, - IN HDC hdc) -{ - RECT rect; - - GetClientRect(hwnd, &rect); - DrawThemeParentBackground(hwnd, hdc, &rect); -} - -static LRESULT CALLBACK -TrayClockWndProc(IN HWND hwnd, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam) -{ - PTRAY_CLOCK_WND_DATA This = NULL; - LRESULT Ret = FALSE; - - if (uMsg != WM_NCCREATE) - { - This = (PTRAY_CLOCK_WND_DATA)GetWindowLongPtr(hwnd, - 0); - } - - if (This != NULL || uMsg == WM_NCCREATE) - { - switch (uMsg) - { - case WM_THEMECHANGED: - TrayClockWnd_UpdateTheme(This); - break; - case WM_ERASEBKGND: - TrayClockWnd_DrawBackground(hwnd, (HDC)wParam); - break; - case WM_PAINT: - case WM_PRINTCLIENT: - { - PAINTSTRUCT ps; - HDC hDC = (HDC)wParam; - - if (wParam == 0) - { - hDC = BeginPaint(This->hWnd, - &ps); - } - - if (hDC != NULL) - { - TrayClockWnd_Paint(This, - hDC); - - if (wParam == 0) - { - EndPaint(This->hWnd, - &ps); - } - } - break; - } - - case WM_TIMER: - switch (wParam) - { - case ID_TRAYCLOCK_TIMER: - TrayClockWnd_Update(This); - break; - - case ID_TRAYCLOCK_TIMER_INIT: - TrayClockWnd_CalibrateTimer(This); - break; - } - break; - - case WM_NCHITTEST: - /* We want the user to be able to drag the task bar when clicking the clock */ - Ret = HTTRANSPARENT; - break; - - case TCWM_GETMINIMUMSIZE: - { - This->IsHorizontal = (BOOL)wParam; - - Ret = (LRESULT)TrayClockWnd_GetMinimumSize(This, - (BOOL)wParam, - (PSIZE)lParam) != 0; - break; - } - - case TCWM_UPDATETIME: - { - Ret = (LRESULT)TrayClockWnd_ResetTime(This); - break; - } - - case WM_NCCREATE: - { - LPCREATESTRUCT CreateStruct = (LPCREATESTRUCT)lParam; - This = (PTRAY_CLOCK_WND_DATA)CreateStruct->lpCreateParams; - This->hWnd = hwnd; - This->hWndNotify = CreateStruct->hwndParent; - - SetWindowLongPtr(hwnd, - 0, - (LONG_PTR)This); - TrayClockWnd_UpdateTheme(This); - - return TRUE; - } - - case WM_SETFONT: - { - TrayClockWnd_SetFont(This, - (HFONT)wParam, - (BOOL)LOWORD(lParam)); - break; - } - - case WM_CREATE: - TrayClockWnd_ResetTime(This); - break; - - case WM_NCDESTROY: - TrayClockWnd_NCDestroy(This); - break; - - case WM_SIZE: - { - SIZE szClient; - - szClient.cx = LOWORD(lParam); - szClient.cy = HIWORD(lParam); - This->VisibleLines = TrayClockWnd_GetMinimumSize(This, - This->IsHorizontal, - &szClient); - This->CurrentSize = szClient; - - InvalidateRect(This->hWnd, - NULL, - TRUE); - break; - } - - default: - Ret = DefWindowProc(hwnd, - uMsg, - wParam, - lParam); - break; - } - } - - return Ret; -} - -static HWND -CreateTrayClockWnd(IN HWND hWndParent, - IN BOOL bVisible) -{ - PTRAY_CLOCK_WND_DATA TcData; - DWORD dwStyle; - HWND hWnd = NULL; - - TcData = HeapAlloc(hProcessHeap, - HEAP_ZERO_MEMORY, - sizeof(*TcData)); - if (TcData != NULL) - { - TcData->IsHorizontal = TRUE; - /* Create the window. The tray window is going to move it to the correct - position and resize it as needed. */ - dwStyle = WS_CHILD | WS_CLIPSIBLINGS; - if (bVisible) - dwStyle |= WS_VISIBLE; - - hWnd = CreateWindowEx(0, - szTrayClockWndClass, - NULL, - dwStyle, - 0, - 0, - 0, - 0, - hWndParent, - NULL, - hExplorerInstance, - TcData); - - if (hWnd != NULL) - { - SetWindowTheme(hWnd, L"TrayNotify", NULL); - } - else - { - HeapFree(hProcessHeap, - 0, - TcData); - } - } - - return hWnd; - -} - -static BOOL -RegisterTrayClockWndClass(VOID) -{ - WNDCLASS wcTrayClock; - - wcTrayClock.style = CS_DBLCLKS; - wcTrayClock.lpfnWndProc = TrayClockWndProc; - wcTrayClock.cbClsExtra = 0; - wcTrayClock.cbWndExtra = sizeof(PTRAY_CLOCK_WND_DATA); - wcTrayClock.hInstance = hExplorerInstance; - wcTrayClock.hIcon = NULL; - wcTrayClock.hCursor = LoadCursor(NULL, - IDC_ARROW); - wcTrayClock.hbrBackground = (HBRUSH)(COLOR_3DFACE + 1); - wcTrayClock.lpszMenuName = NULL; - wcTrayClock.lpszClassName = szTrayClockWndClass; - - return RegisterClass(&wcTrayClock) != 0; -} - -static VOID -UnregisterTrayClockWndClass(VOID) -{ - UnregisterClass(szTrayClockWndClass, - hExplorerInstance); -} - -/* - * TrayNotifyWnd - */ - -static const TCHAR szTrayNotifyWndClass[] = TEXT("TrayNotifyWnd"); - -#define TRAY_NOTIFY_WND_SPACING_X 2 -#define TRAY_NOTIFY_WND_SPACING_Y 2 - -typedef struct _TRAY_NOTIFY_WND_DATA -{ - HWND hWnd; - HWND hWndTrayClock; - HWND hWndNotify; - HWND hWndSysPager; - HTHEME TrayTheme; - SIZE szTrayClockMin; - SIZE szTrayNotify; - MARGINS ContentMargin; - ITrayWindow *TrayWindow; - HFONT hFontClock; - union - { - DWORD dwFlags; - struct - { - DWORD HideClock : 1; - DWORD IsHorizontal : 1; - }; - }; -} TRAY_NOTIFY_WND_DATA, *PTRAY_NOTIFY_WND_DATA; - -static VOID -TrayNotifyWnd_UpdateTheme(IN OUT PTRAY_NOTIFY_WND_DATA This) -{ - LONG_PTR style; - - if (This->TrayTheme) - CloseThemeData(This->TrayTheme); - - if (IsThemeActive()) - This->TrayTheme = OpenThemeData(This->hWnd, L"TrayNotify"); - else - This->TrayTheme = 0; - - if (This->TrayTheme) - { - style = GetWindowLong(This->hWnd, GWL_EXSTYLE); - style = style & ~WS_EX_STATICEDGE; - SetWindowLong(This->hWnd, GWL_EXSTYLE, style); - - GetThemeMargins(This->TrayTheme, - NULL, - TNP_BACKGROUND, - 0, - TMT_CONTENTMARGINS, - NULL, - &This->ContentMargin); - } - else - { - style = GetWindowLong(This->hWnd, GWL_EXSTYLE); - style = style | WS_EX_STATICEDGE; - SetWindowLong(This->hWnd, GWL_EXSTYLE, style); - - This->ContentMargin.cxLeftWidth = 0; - This->ContentMargin.cxRightWidth = 0; - This->ContentMargin.cyTopHeight = 0; - This->ContentMargin.cyBottomHeight = 0; - } -} - -static VOID -TrayNotifyWnd_Create(IN OUT PTRAY_NOTIFY_WND_DATA This) -{ - This->hWndTrayClock = CreateTrayClockWnd(This->hWnd, - !This->HideClock); - - This->hWndSysPager = CreateSysPagerWnd(This->hWnd, - !This->HideClock); - - TrayNotifyWnd_UpdateTheme(This); -} - -static VOID -TrayNotifyWnd_NCDestroy(IN OUT PTRAY_NOTIFY_WND_DATA This) -{ - SetWindowLongPtr(This->hWnd, - 0, - 0); - HeapFree(hProcessHeap, - 0, - This); -} - -static BOOL -TrayNotifyWnd_GetMinimumSize(IN OUT PTRAY_NOTIFY_WND_DATA This, - IN BOOL Horizontal, - IN OUT PSIZE pSize) -{ - SIZE szClock = { 0, 0 }; - SIZE szTray = { 0, 0 }; - - This->IsHorizontal = Horizontal; - if (This->IsHorizontal) - SetWindowTheme(This->hWnd, L"TrayNotifyHoriz", NULL); - else - SetWindowTheme(This->hWnd, L"TrayNotifyVert", NULL); - - if (!This->HideClock) - { - if (Horizontal) - { - szClock.cy = pSize->cy - 2 * TRAY_NOTIFY_WND_SPACING_Y; - if (szClock.cy <= 0) - goto NoClock; - } - else - { - szClock.cx = pSize->cx - 2 * TRAY_NOTIFY_WND_SPACING_X; - if (szClock.cx <= 0) - goto NoClock; - } - - SendMessage(This->hWndTrayClock, - TCWM_GETMINIMUMSIZE, - (WPARAM)Horizontal, - (LPARAM)&szClock); - - This->szTrayClockMin = szClock; - } - else -NoClock: - This->szTrayClockMin = szClock; - - if (Horizontal) - { - szTray.cy = pSize->cy - 2 * TRAY_NOTIFY_WND_SPACING_Y; - } - else - { - szTray.cx = pSize->cx - 2 * TRAY_NOTIFY_WND_SPACING_X; - } - - SysPagerWnd_GetSize(This->hWndSysPager, - Horizontal, - &szTray); - - This->szTrayNotify = szTray; - - if (Horizontal) - { - pSize->cx = 2 * TRAY_NOTIFY_WND_SPACING_X; - - if (!This->HideClock) - pSize->cx += TRAY_NOTIFY_WND_SPACING_X + This->szTrayClockMin.cx; - - pSize->cx += szTray.cx; - } - else - { - pSize->cy = 2 * TRAY_NOTIFY_WND_SPACING_Y; - - if (!This->HideClock) - pSize->cy += TRAY_NOTIFY_WND_SPACING_Y + This->szTrayClockMin.cy; - - pSize->cy += szTray.cy; - } - - pSize->cy += This->ContentMargin.cyTopHeight + This->ContentMargin.cyBottomHeight; - pSize->cx += This->ContentMargin.cxLeftWidth + This->ContentMargin.cxRightWidth; - - return TRUE; -} - -static VOID -TrayNotifyWnd_Size(IN OUT PTRAY_NOTIFY_WND_DATA This, - IN const SIZE *pszClient) -{ - if (!This->HideClock) - { - POINT ptClock; - SIZE szClock; - - if (This->IsHorizontal) - { - ptClock.x = pszClient->cx - TRAY_NOTIFY_WND_SPACING_X - This->szTrayClockMin.cx; - ptClock.y = TRAY_NOTIFY_WND_SPACING_Y; - szClock.cx = This->szTrayClockMin.cx; - szClock.cy = pszClient->cy - (2 * TRAY_NOTIFY_WND_SPACING_Y); - } - else - { - ptClock.x = TRAY_NOTIFY_WND_SPACING_X; - ptClock.y = pszClient->cy - TRAY_NOTIFY_WND_SPACING_Y - This->szTrayClockMin.cy; - szClock.cx = pszClient->cx - (2 * TRAY_NOTIFY_WND_SPACING_X); - szClock.cy = This->szTrayClockMin.cy; - } - - SetWindowPos(This->hWndTrayClock, - NULL, - ptClock.x, - ptClock.y, - szClock.cx, - szClock.cy, - SWP_NOZORDER); - - if (This->IsHorizontal) - { - ptClock.x -= This->szTrayNotify.cx; - } - else - { - ptClock.y -= This->szTrayNotify.cy; - } - - SetWindowPos(This->hWndSysPager, - NULL, - ptClock.x, - ptClock.y, - This->szTrayNotify.cx, - This->szTrayNotify.cy, - SWP_NOZORDER); - } -} - -static LRESULT -TrayNotifyWnd_DrawBackground(IN HWND hwnd, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam) -{ - PTRAY_NOTIFY_WND_DATA This = (PTRAY_NOTIFY_WND_DATA)GetWindowLongPtr(hwnd, 0); - RECT rect; - HDC hdc = (HDC)wParam; - - GetClientRect(hwnd, &rect); - - DrawThemeParentBackground(hwnd, hdc, &rect); - DrawThemeBackground(This->TrayTheme, hdc, TNP_BACKGROUND, 0, &rect, 0); - - return 0; -} - -VOID -TrayNotify_NotifyMsg(IN HWND hwnd, - IN WPARAM wParam, - IN LPARAM lParam) -{ - PTRAY_NOTIFY_WND_DATA This = (PTRAY_NOTIFY_WND_DATA)GetWindowLongPtr(hwnd, 0); - if (This->hWndSysPager) - { - SysPagerWnd_NotifyMsg(This->hWndSysPager, - wParam, - lParam); - } -} - -BOOL -TrayNotify_GetClockRect(IN HWND hwnd, - OUT PRECT rcClock) -{ - PTRAY_NOTIFY_WND_DATA This = (PTRAY_NOTIFY_WND_DATA)GetWindowLongPtr(hwnd, 0); - if (!IsWindowVisible(This->hWndTrayClock)) - return FALSE; - - return GetWindowRect(This->hWndTrayClock, rcClock); -} - -static LRESULT CALLBACK -TrayNotifyWndProc(IN HWND hwnd, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam) -{ - PTRAY_NOTIFY_WND_DATA This = NULL; - LRESULT Ret = FALSE; - - if (uMsg != WM_NCCREATE) - { - This = (PTRAY_NOTIFY_WND_DATA)GetWindowLongPtr(hwnd, - 0); - } - - if (This != NULL || uMsg == WM_NCCREATE) - { - switch (uMsg) - { - case WM_THEMECHANGED: - TrayNotifyWnd_UpdateTheme(This); - return 0; - case WM_ERASEBKGND: - return TrayNotifyWnd_DrawBackground(hwnd, - uMsg, - wParam, - lParam); - case TNWM_GETMINIMUMSIZE: - { - Ret = (LRESULT)TrayNotifyWnd_GetMinimumSize(This, - (BOOL)wParam, - (PSIZE)lParam); - break; - } - - case TNWM_UPDATETIME: - { - if (This->hWndTrayClock != NULL) - { - /* Forward the message to the tray clock window procedure */ - Ret = TrayClockWndProc(This->hWndTrayClock, - TCWM_UPDATETIME, - wParam, - lParam); - } - break; - } - - case WM_SIZE: - { - SIZE szClient; - - szClient.cx = LOWORD(lParam); - szClient.cy = HIWORD(lParam); - - TrayNotifyWnd_Size(This, - &szClient); - break; - } - - case WM_NCHITTEST: - /* We want the user to be able to drag the task bar when clicking the - tray notification window */ - Ret = HTTRANSPARENT; - break; - - case TNWM_SHOWCLOCK: - { - BOOL PrevHidden = This->HideClock; - This->HideClock = (wParam == 0); - - if (This->hWndTrayClock != NULL && PrevHidden != This->HideClock) - { - ShowWindow(This->hWndTrayClock, - This->HideClock ? SW_HIDE : SW_SHOW); - } - - Ret = (LRESULT)(!PrevHidden); - break; - } - - case WM_NOTIFY: - { - const NMHDR *nmh = (const NMHDR *)lParam; - - if (nmh->hwndFrom == This->hWndTrayClock) - { - /* Pass down notifications */ - Ret = SendMessage(This->hWndNotify, - WM_NOTIFY, - wParam, - lParam); - } - break; - } - - case WM_SETFONT: - { - if (This->hWndTrayClock != NULL) - { - SendMessage(This->hWndTrayClock, - WM_SETFONT, - wParam, - lParam); - } - goto HandleDefaultMessage; - } - - case WM_NCCREATE: - { - LPCREATESTRUCT CreateStruct = (LPCREATESTRUCT)lParam; - This = (PTRAY_NOTIFY_WND_DATA)CreateStruct->lpCreateParams; - This->hWnd = hwnd; - This->hWndNotify = CreateStruct->hwndParent; - - SetWindowLongPtr(hwnd, - 0, - (LONG_PTR)This); - - return TRUE; - } - - case WM_CREATE: - TrayNotifyWnd_Create(This); - break; - - case WM_NCDESTROY: - TrayNotifyWnd_NCDestroy(This); - break; - - default: -HandleDefaultMessage: - Ret = DefWindowProc(hwnd, - uMsg, - wParam, - lParam); - break; - } - } - - return Ret; -} - -HWND -CreateTrayNotifyWnd(IN OUT ITrayWindow *TrayWindow, - IN BOOL bHideClock) -{ - PTRAY_NOTIFY_WND_DATA TnData; - HWND hWndTrayWindow; - HWND hWnd = NULL; - - hWndTrayWindow = ITrayWindow_GetHWND(TrayWindow); - if (hWndTrayWindow == NULL) - return NULL; - - TnData = HeapAlloc(hProcessHeap, - HEAP_ZERO_MEMORY, - sizeof(*TnData)); - if (TnData != NULL) - { - TnData->TrayWindow = TrayWindow; - TnData->HideClock = bHideClock; - - /* Create the window. The tray window is going to move it to the correct - position and resize it as needed. */ - hWnd = CreateWindowEx(WS_EX_STATICEDGE, - szTrayNotifyWndClass, - NULL, - WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN, - 0, - 0, - 0, - 0, - hWndTrayWindow, - NULL, - hExplorerInstance, - TnData); - - if (hWnd == NULL) - { - HeapFree(hProcessHeap, - 0, - TnData); - } - } - - return hWnd; -} - -BOOL -RegisterTrayNotifyWndClass(VOID) -{ - WNDCLASS wcTrayWnd; - BOOL Ret; - - wcTrayWnd.style = CS_DBLCLKS; - wcTrayWnd.lpfnWndProc = TrayNotifyWndProc; - wcTrayWnd.cbClsExtra = 0; - wcTrayWnd.cbWndExtra = sizeof(PTRAY_NOTIFY_WND_DATA); - wcTrayWnd.hInstance = hExplorerInstance; - wcTrayWnd.hIcon = NULL; - wcTrayWnd.hCursor = LoadCursor(NULL, - IDC_ARROW); - wcTrayWnd.hbrBackground = (HBRUSH)(COLOR_3DFACE + 1); - wcTrayWnd.lpszMenuName = NULL; - wcTrayWnd.lpszClassName = szTrayNotifyWndClass; - - Ret = RegisterClass(&wcTrayWnd) != 0; - - if (Ret) - { - Ret = RegisterTrayClockWndClass(); - if (!Ret) - { - UnregisterClass(szTrayNotifyWndClass, - hExplorerInstance); - } - RegisterSysPagerWndClass(); - } - - return Ret; -} - -VOID -UnregisterTrayNotifyWndClass(VOID) -{ - UnregisterTrayClockWndClass(); - - UnregisterSysPagerWndClass(); - - UnregisterClass(szTrayNotifyWndClass, - hExplorerInstance); -} diff --git a/base/shell/explorer-new/traywnd.c b/base/shell/explorer-new/traywnd.c deleted file mode 100644 index a887319b4f8..00000000000 --- a/base/shell/explorer-new/traywnd.c +++ /dev/null @@ -1,2967 +0,0 @@ -/* - * ReactOS Explorer - * - * Copyright 2006 - 2007 Thomas Weidenmueller - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include "precomp.h" - -static const TRAYWINDOW_CTXMENU TrayWindowCtxMenu; - -#define WM_APP_TRAYDESTROY (WM_APP + 0x100) - -static LONG TrayWndCount = 0; - -static const TCHAR szTrayWndClass[] = TEXT("Shell_TrayWnd"); - -static const ITrayWindowVtbl ITrayWindowImpl_Vtbl; -static const IShellDesktopTrayVtbl IShellDesktopTrayImpl_Vtbl; - -/* - * ITrayWindow - */ - -const GUID IID_IShellDesktopTray = {0x213e2df9, 0x9a14, 0x4328, {0x99, 0xb1, 0x69, 0x61, 0xf9, 0x14, 0x3c, 0xe9}}; - -typedef struct -{ - const ITrayWindowVtbl *lpVtbl; - const IShellDesktopTrayVtbl *lpVtblShellDesktopTray; - LONG Ref; - - HTHEME TaskbarTheme; - HWND hWnd; - HWND hWndDesktop; - - HWND hwndStart; - HIMAGELIST himlStartBtn; - SIZE StartBtnSize; - HFONT hStartBtnFont; - HFONT hCaptionFont; - - ITrayBandSite *TrayBandSite; - HWND hwndRebar; - HWND hwndTaskSwitch; - HWND hwndTrayNotify; - - DWORD Position; - HMONITOR Monitor; - HMONITOR PreviousMonitor; - DWORD DraggingPosition; - HMONITOR DraggingMonitor; - - RECT rcTrayWnd[4]; - RECT rcNewPosSize; - SIZE TraySize; - union - { - DWORD Flags; - struct - { - DWORD AutoHide : 1; - DWORD AlwaysOnTop : 1; - DWORD SmSmallIcons : 1; - DWORD HideClock : 1; - DWORD Locked : 1; - - /* UI Status */ - DWORD InSizeMove : 1; - DWORD IsDragging : 1; - DWORD NewPosSize : 1; - }; - }; - - NONCLIENTMETRICS ncm; - HFONT hFont; - - IMenuBand *StartMenuBand; - IMenuPopup *StartMenuPopup; - HBITMAP hbmStartMenu; - - HWND hwndTrayPropertiesOwner; - HWND hwndRunFileDlgOwner; -} ITrayWindowImpl; - -BOOL LaunchCPanel(HWND hwnd, LPCTSTR applet) -{ - TCHAR szParams[MAX_PATH]; - - 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); -} - -static IUnknown * -IUnknown_from_impl(ITrayWindowImpl *This) -{ - return (IUnknown *)&This->lpVtbl; -} - -static ITrayWindow * -ITrayWindow_from_impl(ITrayWindowImpl *This) -{ - return (ITrayWindow *)&This->lpVtbl; -} - -static IShellDesktopTray * -IShellDesktopTray_from_impl(ITrayWindowImpl *This) -{ - return (IShellDesktopTray *)&This->lpVtblShellDesktopTray; -} - -static ITrayWindowImpl * -impl_from_ITrayWindow(ITrayWindow *iface) -{ - return (ITrayWindowImpl *)((ULONG_PTR)iface - FIELD_OFFSET(ITrayWindowImpl, - lpVtbl)); -} - -static ITrayWindowImpl * -impl_from_IShellDesktopTray(IShellDesktopTray *iface) -{ - return (ITrayWindowImpl *)((ULONG_PTR)iface - FIELD_OFFSET(ITrayWindowImpl, - lpVtblShellDesktopTray)); -} - -/* - * ITrayWindow - */ - -static BOOL -ITrayWindowImpl_UpdateNonClientMetrics(IN OUT ITrayWindowImpl *This) -{ - This->ncm.cbSize = sizeof(This->ncm); - if (SystemParametersInfo(SPI_GETNONCLIENTMETRICS, - sizeof(This->ncm), - &This->ncm, - 0)) - { - if (This->hFont != NULL) - DeleteObject(This->hFont); - - This->hFont = CreateFontIndirect(&This->ncm.lfMessageFont); - return TRUE; - } - - return FALSE; -} - -static VOID -ITrayWindowImpl_SetWindowsFont(IN OUT ITrayWindowImpl *This) -{ - if (This->hwndTrayNotify != NULL) - { - SendMessage(This->hwndTrayNotify, - WM_SETFONT, - (WPARAM)This->hFont, - TRUE); - } -} - -static HMONITOR -ITrayWindowImpl_GetScreenRectFromRect(IN OUT ITrayWindowImpl *This, - IN OUT RECT *pRect, - IN DWORD dwFlags) -{ - MONITORINFO mi; - HMONITOR hMon; - - mi.cbSize = sizeof(mi); - hMon = MonitorFromRect(pRect, - dwFlags); - if (hMon != NULL && - GetMonitorInfo(hMon, - &mi)) - { - *pRect = mi.rcMonitor; - } - else - { - pRect->left = 0; - pRect->top = 0; - pRect->right = GetSystemMetrics(SM_CXSCREEN); - pRect->bottom = GetSystemMetrics(SM_CYSCREEN); - - hMon = NULL; - } - - return hMon; -} - -static HMONITOR -ITrayWindowImpl_GetMonitorFromRect(IN OUT ITrayWindowImpl *This, - IN const RECT *pRect) -{ - HMONITOR hMon; - - /* In case the monitor sizes or saved sizes differ a bit (probably - not a lot, only so the tray window overlaps into another monitor - now), minimize the risk that we determine a wrong monitor by - using the center point of the tray window if we can't determine - it using the rectangle. */ - hMon = MonitorFromRect(pRect, - MONITOR_DEFAULTTONULL); - if (hMon == NULL) - { - POINT pt; - - pt.x = pRect->left + ((pRect->right - pRect->left) / 2); - pt.y = pRect->top + ((pRect->bottom - pRect->top) / 2); - - /* be less error-prone, find the nearest monitor */ - hMon = MonitorFromPoint(pt, - MONITOR_DEFAULTTONEAREST); - } - - return hMon; -} - -static HMONITOR -ITrayWindowImpl_GetScreenRect(IN OUT ITrayWindowImpl *This, - IN HMONITOR hMonitor, - IN OUT RECT *pRect) -{ - HMONITOR hMon = NULL; - - if (hMonitor != NULL) - { - MONITORINFO mi; - - mi.cbSize = sizeof(mi); - if (!GetMonitorInfo(hMonitor, - &mi)) - { - /* Hm, the monitor is gone? Try to find a monitor where it - could be located now */ - hMon = ITrayWindowImpl_GetMonitorFromRect(This, - pRect); - if (hMon == NULL || - !GetMonitorInfo(hMon, - &mi)) - { - hMon = NULL; - goto GetPrimaryRect; - } - } - - *pRect = mi.rcMonitor; - } - else - { -GetPrimaryRect: - pRect->left = 0; - pRect->top = 0; - pRect->right = GetSystemMetrics(SM_CXSCREEN); - pRect->bottom = GetSystemMetrics(SM_CYSCREEN); - } - - return hMon; -} - -static VOID -ITrayWindowImpl_MakeTrayRectWithSize(IN DWORD Position, - IN const SIZE *pTraySize, - IN OUT RECT *pRect) -{ - switch (Position) - { - case ABE_LEFT: - pRect->right = pRect->left + pTraySize->cx; - break; - - case ABE_TOP: - pRect->bottom = pRect->top + pTraySize->cy; - break; - - case ABE_RIGHT: - pRect->left = pRect->right - pTraySize->cx; - break; - - case ABE_BOTTOM: - default: - pRect->top = pRect->bottom - pTraySize->cy; - break; - } -} - -static VOID -ITrayWindowImpl_GetTrayRectFromScreenRect(IN OUT ITrayWindowImpl *This, - IN DWORD Position, - IN const RECT *pScreen, - IN const SIZE *pTraySize OPTIONAL, - OUT RECT *pRect) -{ - if (pTraySize == NULL) - pTraySize = &This->TraySize; - - *pRect = *pScreen; - - /* Move the border outside of the screen */ - InflateRect(pRect, - GetSystemMetrics(SM_CXEDGE), - GetSystemMetrics(SM_CYEDGE)); - - ITrayWindowImpl_MakeTrayRectWithSize(Position, - pTraySize, - pRect); -} - -BOOL -ITrayWindowImpl_IsPosHorizontal(IN OUT ITrayWindowImpl *This) -{ - return This->Position == ABE_TOP || This->Position == ABE_BOTTOM; -} - -static HMONITOR -ITrayWindowImpl_CalculateValidSize(IN OUT ITrayWindowImpl *This, - IN DWORD Position, - IN OUT RECT *pRect) -{ - RECT rcScreen; - //BOOL Horizontal; - HMONITOR hMon; - SIZE szMax, szWnd; - - //Horizontal = ITrayWindowImpl_IsPosHorizontal(This); - - szWnd.cx = pRect->right - pRect->left; - szWnd.cy = pRect->bottom - pRect->top; - - rcScreen = *pRect; - hMon = ITrayWindowImpl_GetScreenRectFromRect(This, - &rcScreen, - MONITOR_DEFAULTTONEAREST); - - /* Calculate the maximum size of the tray window and limit the window - size to half of the screen's size. */ - szMax.cx = (rcScreen.right - rcScreen.left) / 2; - szMax.cy = (rcScreen.bottom - rcScreen.top) / 2; - if (szWnd.cx > szMax.cx) - szWnd.cx = szMax.cx; - if (szWnd.cy > szMax.cy) - szWnd.cy = szMax.cy; - - /* FIXME - calculate */ - - ITrayWindowImpl_GetTrayRectFromScreenRect(This, - Position, - &rcScreen, - &szWnd, - pRect); - - return hMon; -} - -#if 0 -static VOID -ITrayWindowImpl_GetMinimumWindowSize(IN OUT ITrayWindowImpl *This, - OUT RECT *pRect) -{ - RECT rcMin = {0}; - - AdjustWindowRectEx(&rcMin, - GetWindowLong(This->hWnd, - GWL_STYLE), - FALSE, - GetWindowLong(This->hWnd, - GWL_EXSTYLE)); - - *pRect = rcMin; -} -#endif - - -static DWORD -ITrayWindowImpl_GetDraggingRectFromPt(IN OUT ITrayWindowImpl *This, - IN POINT pt, - OUT RECT *pRect, - OUT HMONITOR *phMonitor) -{ - HMONITOR hMon, hMonNew; - DWORD PosH, PosV, Pos; - SIZE DeltaPt, ScreenOffset; - RECT rcScreen; - - rcScreen.left = 0; - rcScreen.top = 0; - - /* Determine the screen rectangle */ - hMon = MonitorFromPoint(pt, - MONITOR_DEFAULTTONULL); - - if (hMon != NULL) - { - MONITORINFO mi; - - mi.cbSize = sizeof(mi); - if (!GetMonitorInfo(hMon, - &mi)) - { - hMon = NULL; - goto GetPrimaryScreenRect; - } - - /* make left top corner of the screen zero based to - make calculations easier */ - pt.x -= mi.rcMonitor.left; - pt.y -= mi.rcMonitor.top; - - ScreenOffset.cx = mi.rcMonitor.left; - ScreenOffset.cy = mi.rcMonitor.top; - rcScreen.right = mi.rcMonitor.right - mi.rcMonitor.left; - rcScreen.bottom = mi.rcMonitor.bottom - mi.rcMonitor.top; - } - else - { -GetPrimaryScreenRect: - ScreenOffset.cx = 0; - ScreenOffset.cy = 0; - rcScreen.right = GetSystemMetrics(SM_CXSCREEN); - rcScreen.bottom = GetSystemMetrics(SM_CYSCREEN); - } - - /* Calculate the nearest screen border */ - if (pt.x < rcScreen.right / 2) - { - DeltaPt.cx = pt.x; - PosH = ABE_LEFT; - } - else - { - DeltaPt.cx = rcScreen.right - pt.x; - PosH = ABE_RIGHT; - } - - if (pt.y < rcScreen.bottom / 2) - { - DeltaPt.cy = pt.y; - PosV = ABE_TOP; - } - else - { - DeltaPt.cy = rcScreen.bottom - pt.y; - PosV = ABE_BOTTOM; - } - - Pos = (DeltaPt.cx * rcScreen.bottom < DeltaPt.cy * rcScreen.right) ? PosH : PosV; - - /* Fix the screen origin to be relative to the primary monitor again */ - OffsetRect(&rcScreen, - ScreenOffset.cx, - ScreenOffset.cy); - - hMonNew = ITrayWindowImpl_GetMonitorFromRect(This, - &This->rcTrayWnd[Pos]); - if (hMon != hMonNew) - { - SIZE szTray; - - /* Recalculate the rectangle, we're dragging to another monitor. - We don't need to recalculate the rect on single monitor systems. */ - szTray.cx = This->rcTrayWnd[Pos].right - This->rcTrayWnd[Pos].left; - szTray.cy = This->rcTrayWnd[Pos].bottom - This->rcTrayWnd[Pos].top; - - ITrayWindowImpl_GetTrayRectFromScreenRect(This, - Pos, - &rcScreen, - &szTray, - pRect); - - hMon = hMonNew; - } - else - { - /* The user is dragging the tray window on the same monitor. We don't need - to recalculate the rectangle */ - *pRect = This->rcTrayWnd[Pos]; - } - - *phMonitor = hMon; - - return Pos; -} - -static DWORD -ITrayWindowImpl_GetDraggingRectFromRect(IN OUT ITrayWindowImpl *This, - IN OUT RECT *pRect, - OUT HMONITOR *phMonitor) -{ - POINT pt; - - /* Calculate the center of the rectangle. We call - ITrayWindowImpl_GetDraggingRectFromPt to calculate a valid - dragging rectangle */ - pt.x = pRect->left + ((pRect->right - pRect->left) / 2); - pt.y = pRect->top + ((pRect->bottom - pRect->top) / 2); - - return ITrayWindowImpl_GetDraggingRectFromPt(This, - pt, - pRect, - phMonitor); -} - -static VOID -ITrayWindowImpl_ChangingWinPos(IN OUT ITrayWindowImpl *This, - IN OUT LPWINDOWPOS pwp) -{ - RECT rcTray; - - if (This->IsDragging) - { - rcTray.left = pwp->x; - rcTray.top = pwp->y; - rcTray.right = rcTray.left + pwp->cx; - rcTray.bottom = rcTray.top + pwp->cy; - - if (!EqualRect(&rcTray, - &This->rcTrayWnd[This->DraggingPosition])) - { - /* Recalculate the rectangle, the user dragged the tray - window to another monitor or the window was somehow else - moved or resized */ - This->DraggingPosition = ITrayWindowImpl_GetDraggingRectFromRect(This, - &rcTray, - &This->DraggingMonitor); - //This->rcTrayWnd[This->DraggingPosition] = rcTray; - } - - //This->Monitor = ITrayWindowImpl_CalculateValidSize(This, - // This->DraggingPosition, - // &rcTray); - - This->Monitor = This->DraggingMonitor; - This->Position = This->DraggingPosition; - This->IsDragging = FALSE; - - This->rcTrayWnd[This->Position] = rcTray; - goto ChangePos; - } - else if (GetWindowRect(This->hWnd, - &rcTray)) - { - if (This->InSizeMove) - { - if (!(pwp->flags & SWP_NOMOVE)) - { - rcTray.left = pwp->x; - rcTray.top = pwp->y; - } - - if (!(pwp->flags & SWP_NOSIZE)) - { - rcTray.right = rcTray.left + pwp->cx; - rcTray.bottom = rcTray.top + pwp->cy; - } - - This->Position = ITrayWindowImpl_GetDraggingRectFromRect(This, - &rcTray, - &This->Monitor); - - if (!(pwp->flags & (SWP_NOMOVE | SWP_NOSIZE))) - { - SIZE szWnd; - - szWnd.cx = pwp->cx; - szWnd.cy = pwp->cy; - - ITrayWindowImpl_MakeTrayRectWithSize(This->Position, - &szWnd, - &rcTray); - } - - This->rcTrayWnd[This->Position] = rcTray; - } - else - { - /* If the user isn't resizing the tray window we need to make sure the - new size or position is valid. This is to prevent changes to the window - without user interaction. */ - rcTray = This->rcTrayWnd[This->Position]; - } - -ChangePos: - This->TraySize.cx = rcTray.right - rcTray.left; - This->TraySize.cy = rcTray.bottom - rcTray.top; - - pwp->flags &= ~(SWP_NOMOVE | SWP_NOSIZE); - pwp->x = rcTray.left; - pwp->y = rcTray.top; - pwp->cx = This->TraySize.cx; - pwp->cy = This->TraySize.cy; - } -} - -static VOID -ITrayWindowImpl_ApplyClipping(IN OUT ITrayWindowImpl *This, - IN BOOL Clip) -{ - RECT rcClip, rcWindow; - HRGN hClipRgn; - - if (GetWindowRect(This->hWnd, - &rcWindow)) - { - /* Disable clipping on systems with only one monitor */ - if (GetSystemMetrics(SM_CMONITORS) <= 1) - Clip = FALSE; - - if (Clip) - { - rcClip = rcWindow; - - ITrayWindowImpl_GetScreenRect(This, - This->Monitor, - &rcClip); - - if (!IntersectRect(&rcClip, - &rcClip, - &rcWindow)) - { - rcClip = rcWindow; - } - - OffsetRect(&rcClip, - -rcWindow.left, - -rcWindow.top); - - hClipRgn = CreateRectRgnIndirect(&rcClip); - } - else - hClipRgn = NULL; - - /* Set the clipping region or make sure the window isn't clipped - by disabling it explicitly. */ - SetWindowRgn(This->hWnd, - hClipRgn, - TRUE); - } -} - -static VOID -ITrayWindowImpl_ResizeWorkArea(IN OUT ITrayWindowImpl *This) -{ - RECT rcTray,rcWorkArea; - - /* If monitor has changed then fix the previous monitors work area */ - if (This->PreviousMonitor != This->Monitor) - { - ITrayWindowImpl_GetScreenRect(This, - This->PreviousMonitor, - &rcWorkArea); - SystemParametersInfo(SPI_SETWORKAREA, - 1, - &rcWorkArea, - SPIF_SENDCHANGE); - } - - rcTray = This->rcTrayWnd[This->Position]; - - ITrayWindowImpl_GetScreenRect(This, - This->Monitor, - &rcWorkArea); - This->PreviousMonitor = This->Monitor; - - /* If AutoHide is false then change the workarea to exclude the area that - the taskbar covers. */ - if (!This->AutoHide) - { - switch (This->Position) - { - case ABE_TOP: - rcWorkArea.top = rcTray.bottom; - break; - case ABE_LEFT: - rcWorkArea.left = rcTray.right; - break; - case ABE_RIGHT: - rcWorkArea.right = rcTray.left; - break; - case ABE_BOTTOM: - rcWorkArea.bottom = rcTray.top; - break; - } - } - - SystemParametersInfo(SPI_SETWORKAREA, - 1, - &rcWorkArea, - SPIF_SENDCHANGE); -} - -static VOID -ITrayWindowImpl_CheckTrayWndPosition(IN OUT ITrayWindowImpl *This) -{ - RECT rcTray; - - rcTray = This->rcTrayWnd[This->Position]; -// DbgPrint("CheckTray: %d: %d,%d,%d,%d\n", This->Position, rcTray.left, rcTray.top, rcTray.right, rcTray.bottom); - - /* Move the tray window */ - SetWindowPos(This->hWnd, - NULL, - rcTray.left, - rcTray.top, - rcTray.right - rcTray.left, - rcTray.bottom - rcTray.top, - SWP_NOZORDER); - - ITrayWindowImpl_ResizeWorkArea(This); - - ITrayWindowImpl_ApplyClipping(This, - TRUE); -} - -typedef struct _TW_STUCKRECTS2 -{ - DWORD cbSize; - LONG Unknown; - DWORD dwFlags; - DWORD Position; - SIZE Size; - RECT Rect; -} TW_STRUCKRECTS2, *PTW_STUCKRECTS2; - -static VOID -ITrayWindowImpl_RegLoadSettings(IN OUT ITrayWindowImpl *This) -{ - DWORD Pos; - TW_STRUCKRECTS2 sr; - RECT rcScreen; - SIZE WndSize, EdgeSize, DlgFrameSize; - DWORD cbSize = sizeof(sr); - - EdgeSize.cx = GetSystemMetrics(SM_CXEDGE); - EdgeSize.cy = GetSystemMetrics(SM_CYEDGE); - DlgFrameSize.cx = GetSystemMetrics(SM_CXDLGFRAME); - DlgFrameSize.cy = GetSystemMetrics(SM_CYDLGFRAME); - - if (SHGetValue(hkExplorer, - TEXT("StuckRects2"), - TEXT("Settings"), - NULL, - &sr, - &cbSize) == ERROR_SUCCESS && - sr.cbSize == sizeof(sr)) - { - This->AutoHide = (sr.dwFlags & ABS_AUTOHIDE) != 0; - This->AlwaysOnTop = (sr.dwFlags & ABS_ALWAYSONTOP) != 0; - This->SmSmallIcons = (sr.dwFlags & 0x4) != 0; - This->HideClock = (sr.dwFlags & 0x8) != 0; - - /* FIXME: Are there more flags? */ - - if (This->hWnd != NULL) - SetWindowPos (This->hWnd, - This->AlwaysOnTop ? HWND_TOPMOST : HWND_NOTOPMOST, - 0, - 0, - 0, - 0, - SWP_NOMOVE | SWP_NOSIZE); - - if (sr.Position > ABE_BOTTOM) - This->Position = ABE_BOTTOM; - else - This->Position = sr.Position; - - /* Try to find out which monitor the tray window was located on last. - Here we're only interested in the monitor screen that we think - is the last one used. We're going to determine on which monitor - we really are after calculating the docked position. */ - rcScreen = sr.Rect; - ITrayWindowImpl_GetScreenRectFromRect(This, - &rcScreen, - MONITOR_DEFAULTTONEAREST); - } - else - { - This->Position = ABE_BOTTOM; - - /* Use the minimum size of the taskbar, we'll use the start - button as a minimum for now. Make sure we calculate the - entire window size, not just the client size. However, we - use a thinner border than a standard thick border, so that - the start button and bands are not stuck to the screen border. */ - sr.Size.cx = This->StartBtnSize.cx + (2 * (EdgeSize.cx + DlgFrameSize.cx)); - sr.Size.cy = This->StartBtnSize.cy + (2 * (EdgeSize.cy + DlgFrameSize.cy)); - - /* Use the primary screen by default */ - rcScreen.left = 0; - rcScreen.top = 0; - rcScreen.right = GetSystemMetrics(SM_CXSCREEN); - rcScreen.bottom = GetSystemMetrics(SM_CYSCREEN); - ITrayWindowImpl_GetScreenRectFromRect(This, - &rcScreen, - MONITOR_DEFAULTTOPRIMARY); - } - - /* Determine a minimum tray window rectangle. The "client" height is - zero here since we cannot determine an optimal minimum width when - loaded as a vertical tray window. We just need to make sure the values - loaded from the registry are at least. The windows explorer behaves - the same way, it allows the user to save a zero width vertical tray - window, but not a zero height horizontal tray window. */ - WndSize.cx = 2 * (EdgeSize.cx + DlgFrameSize.cx); - WndSize.cy = This->StartBtnSize.cy + (2 * (EdgeSize.cy + DlgFrameSize.cy)); - - if (WndSize.cx < sr.Size.cx) - WndSize.cx = sr.Size.cx; - if (WndSize.cy < sr.Size.cy) - WndSize.cy = sr.Size.cy; - - /* Save the calculated size */ - This->TraySize = WndSize; - - /* Calculate all docking rectangles. We need to do this here so they're - initialized and dragging the tray window to another position gives - usable results */ - for (Pos = ABE_LEFT; - Pos <= ABE_BOTTOM; - Pos++) - { - ITrayWindowImpl_GetTrayRectFromScreenRect(This, - Pos, - &rcScreen, - &This->TraySize, - &This->rcTrayWnd[Pos]); -// DbgPrint("rcTrayWnd[%d(%d)]: %d,%d,%d,%d\n", Pos, This->Position, This->rcTrayWnd[Pos].left, This->rcTrayWnd[Pos].top, This->rcTrayWnd[Pos].right, This->rcTrayWnd[Pos].bottom); - } - - /* Determine which monitor we are on. It shouldn't matter which docked - position rectangle we use */ - This->Monitor = ITrayWindowImpl_GetMonitorFromRect(This, - &This->rcTrayWnd[ABE_LEFT]); -} - -static UINT -ITrayWindowImpl_TrackMenu(IN OUT ITrayWindowImpl *This, - IN HMENU hMenu, - IN POINT *ppt OPTIONAL, - IN HWND hwndExclude OPTIONAL, - IN BOOL TrackUp, - IN BOOL IsContextMenu) -{ - TPMPARAMS tmp, *ptmp = NULL; - POINT pt; - UINT cmdId; - UINT fuFlags; - - if (hwndExclude != NULL) - { - /* Get the client rectangle and map it to screen coordinates */ - if (GetClientRect(hwndExclude, - &tmp.rcExclude) && - MapWindowPoints(hwndExclude, - NULL, - (LPPOINT)&tmp.rcExclude, - 2) != 0) - { - ptmp = &tmp; - } - } - - if (ppt == NULL) - { - if (ptmp == NULL && - GetClientRect(This->hWnd, - &tmp.rcExclude) && - MapWindowPoints(This->hWnd, - NULL, - (LPPOINT)&tmp.rcExclude, - 2) != 0) - { - ptmp = &tmp; - } - - if (ptmp != NULL) - { - /* NOTE: TrackPopupMenuEx will eventually align the track position - for us, no need to take care of it here as long as the - coordinates are somewhere within the exclusion rectangle */ - pt.x = ptmp->rcExclude.left; - pt.y = ptmp->rcExclude.top; - } - else - pt.x = pt.y = 0; - } - else - pt = *ppt; - - tmp.cbSize = sizeof(tmp); - - fuFlags = TPM_RETURNCMD | TPM_VERTICAL; - fuFlags |= (TrackUp ? TPM_BOTTOMALIGN : TPM_TOPALIGN); - if (IsContextMenu) - fuFlags |= TPM_RIGHTBUTTON; - else - fuFlags |= (TrackUp ? TPM_VERNEGANIMATION : TPM_VERPOSANIMATION); - - cmdId = TrackPopupMenuEx(hMenu, - fuFlags, - pt.x, - pt.y, - This->hWnd, - ptmp); - - return cmdId; -} - -static UINT -ITrayWindowImpl_TrackCtxMenu(IN OUT ITrayWindowImpl *This, - IN const TRAYWINDOW_CTXMENU *pMenu, - IN POINT *ppt OPTIONAL, - IN HWND hwndExclude OPTIONAL, - IN BOOL TrackUp, - IN PVOID Context OPTIONAL) -{ - HMENU hPopup; - UINT cmdId = 0; - PVOID pcmContext = NULL; - - hPopup = pMenu->CreateCtxMenu(This->hWnd, - &pcmContext, - Context); - if (hPopup != NULL) - { - cmdId = ITrayWindowImpl_TrackMenu(This, - hPopup, - ppt, - hwndExclude, - TrackUp, - TRUE); - - pMenu->CtxMenuCommand(This->hWnd, - cmdId, - pcmContext, - Context); - } - - return cmdId; -} - -static VOID -ITrayWindowImpl_Free(ITrayWindowImpl *This) -{ - HeapFree(hProcessHeap, - 0, - This); -} - - -static ULONG STDMETHODCALLTYPE -ITrayWindowImpl_Release(IN OUT ITrayWindow *iface) -{ - ITrayWindowImpl *This = impl_from_ITrayWindow(iface); - ULONG Ret; - - Ret = InterlockedDecrement(&This->Ref); - if (Ret == 0) - ITrayWindowImpl_Free(This); - - return Ret; -} - -static VOID -ITrayWindowImpl_Destroy(ITrayWindowImpl *This) -{ - (void)InterlockedExchangePointer((PVOID*)&This->hWnd, - NULL); - - if (This->himlStartBtn != NULL) - { - ImageList_Destroy(This->himlStartBtn); - This->himlStartBtn = NULL; - } - - if (This->hCaptionFont != NULL) - { - DeleteObject(This->hCaptionFont); - This->hCaptionFont = NULL; - } - - if (This->hStartBtnFont != NULL) - { - DeleteObject(This->hStartBtnFont); - This->hStartBtnFont = NULL; - } - - if (This->hFont != NULL) - { - DeleteObject(This->hFont); - This->hFont = NULL; - } - - if (This->StartMenuPopup != NULL) - { - IMenuPopup_Release(This->StartMenuPopup); - This->StartMenuPopup = NULL; - } - - if (This->hbmStartMenu != NULL) - { - DeleteObject(This->hbmStartMenu); - This->hbmStartMenu = NULL; - } - - if (This->StartMenuBand != NULL) - { - IMenuBand_Release(This->StartMenuBand); - This->StartMenuBand = NULL; - } - - if (This->TrayBandSite != NULL) - { - /* FIXME: Unload bands */ - ITrayBandSite_Release(This->TrayBandSite); - This->TrayBandSite = NULL; - } - - if (This->TaskbarTheme) - { - CloseThemeData(This->TaskbarTheme); - This->TaskbarTheme = NULL; - } - - ITrayWindowImpl_Release(ITrayWindow_from_impl(This)); - - if (InterlockedDecrement(&TrayWndCount) == 0) - PostQuitMessage(0); -} - -static ULONG STDMETHODCALLTYPE -ITrayWindowImpl_AddRef(IN OUT ITrayWindow *iface) -{ - ITrayWindowImpl *This = impl_from_ITrayWindow(iface); - - return InterlockedIncrement(&This->Ref); -} - - -static BOOL -ITrayWindowImpl_NCCreate(IN OUT ITrayWindowImpl *This) -{ - ITrayWindowImpl_AddRef(ITrayWindow_from_impl(This)); - - return TRUE; -} - -static VOID -ITrayWindowImpl_UpdateStartButton(IN OUT ITrayWindowImpl *This, - IN HBITMAP hbmStart OPTIONAL) -{ - SIZE Size = { 0, 0 }; - - if (This->himlStartBtn == NULL || - !SendMessage(This->hwndStart, - BCM_GETIDEALSIZE, - 0, - (LPARAM)&Size)) - { - Size.cx = GetSystemMetrics(SM_CXEDGE); - Size.cy = GetSystemMetrics(SM_CYEDGE); - - if (hbmStart == NULL) - { - hbmStart = (HBITMAP)SendMessage(This->hwndStart, - BM_GETIMAGE, - IMAGE_BITMAP, - 0); - } - - if (hbmStart != NULL) - { - BITMAP bmp; - - if (GetObject(hbmStart, - sizeof(bmp), - &bmp) != 0) - { - Size.cx += bmp.bmWidth; - Size.cy += max(bmp.bmHeight, - GetSystemMetrics(SM_CYCAPTION)); - } - else - { - /* Huh?! Shouldn't happen... */ - goto DefSize; - } - } - else - { -DefSize: - Size.cx += GetSystemMetrics(SM_CXMINIMIZED); - Size.cy += GetSystemMetrics(SM_CYCAPTION); - } - } - - /* Save the size of the start button */ - This->StartBtnSize = Size; -} - -static VOID -ITrayWindowImpl_AlignControls(IN OUT ITrayWindowImpl *This, - IN PRECT prcClient OPTIONAL) -{ - RECT rcClient; - SIZE TraySize, StartSize; - POINT ptTrayNotify = { 0, 0 }; - BOOL Horizontal; - HDWP dwp; - - ITrayWindowImpl_UpdateStartButton(This, NULL); - if (prcClient != NULL) - { - rcClient = *prcClient; - } - else - { - if (!GetClientRect(This->hWnd, - &rcClient)) - { - return; - } - } - - Horizontal = ITrayWindowImpl_IsPosHorizontal(This); - - /* We're about to resize/move the start button, the rebar control and - the tray notification control */ - dwp = BeginDeferWindowPos(3); - if (dwp == NULL) - return; - - /* Limit the Start button width to the client width, if neccessary */ - StartSize = This->StartBtnSize; - if (StartSize.cx > rcClient.right) - StartSize.cx = rcClient.right; - - if (This->hwndStart != NULL) - { - /* Resize and reposition the button */ - dwp = DeferWindowPos(dwp, - This->hwndStart, - NULL, - 0, - 0, - StartSize.cx, - StartSize.cy, - SWP_NOZORDER | SWP_NOACTIVATE); - if (dwp == NULL) - return; - } - - /* Determine the size that the tray notification window needs */ - if (Horizontal) - { - TraySize.cx = 0; - TraySize.cy = rcClient.bottom; - } - else - { - TraySize.cx = rcClient.right; - TraySize.cy = 0; - } - - if (This->hwndTrayNotify != NULL && - SendMessage(This->hwndTrayNotify, - TNWM_GETMINIMUMSIZE, - (WPARAM)Horizontal, - (LPARAM)&TraySize)) - { - /* Move the tray notification window to the desired location */ - if (Horizontal) - ptTrayNotify.x = rcClient.right - TraySize.cx; - else - ptTrayNotify.y = rcClient.bottom - TraySize.cy; - - dwp = DeferWindowPos(dwp, - This->hwndTrayNotify, - NULL, - ptTrayNotify.x, - ptTrayNotify.y, - TraySize.cx, - TraySize.cy, - SWP_NOZORDER | SWP_NOACTIVATE); - if (dwp == NULL) - return; - } - - /* Resize/Move the rebar control */ - if (This->hwndRebar != NULL) - { - POINT ptRebar = { 0, 0 }; - SIZE szRebar; - - SetWindowStyle(This->hwndRebar, - CCS_VERT, - Horizontal ? 0 : CCS_VERT); - - if (Horizontal) - { - ptRebar.x = StartSize.cx + GetSystemMetrics(SM_CXSIZEFRAME); - szRebar.cx = ptTrayNotify.x - ptRebar.x; - szRebar.cy = rcClient.bottom; - } - else - { - ptRebar.y = StartSize.cy + GetSystemMetrics(SM_CYSIZEFRAME); - szRebar.cx = rcClient.right; - szRebar.cy = ptTrayNotify.y - ptRebar.y; - } - - dwp = DeferWindowPos(dwp, - This->hwndRebar, - NULL, - ptRebar.x, - ptRebar.y, - szRebar.cx, - szRebar.cy, - SWP_NOZORDER | SWP_NOACTIVATE); - } - - if (dwp != NULL) - EndDeferWindowPos(dwp); - - if (This->hwndTaskSwitch != NULL) - { - /* Update the task switch window configuration */ - SendMessage(This->hwndTaskSwitch, - TSWM_UPDATETASKBARPOS, - 0, - 0); - } -} - -static BOOL -ITrayWindowImpl_CreateStartBtnImageList(IN OUT ITrayWindowImpl *This) -{ - HICON hIconStart; - SIZE IconSize; - - if (This->himlStartBtn != NULL) - return TRUE; - - IconSize.cx = GetSystemMetrics(SM_CXSMICON); - IconSize.cy = GetSystemMetrics(SM_CYSMICON); - - /* Load the start button icon and create a image list for it */ - hIconStart = LoadImage(hExplorerInstance, - MAKEINTRESOURCE(IDI_START), - IMAGE_ICON, - IconSize.cx, - IconSize.cy, - LR_SHARED | LR_DEFAULTCOLOR); - - if (hIconStart != NULL) - { - This->himlStartBtn = ImageList_Create(IconSize.cx, - IconSize.cy, - ILC_COLOR32 | ILC_MASK, - 1, - 1); - if (This->himlStartBtn != NULL) - { - if (ImageList_AddIcon(This->himlStartBtn, - hIconStart) >= 0) - { - return TRUE; - } - - /* Failed to add the icon! */ - ImageList_Destroy(This->himlStartBtn); - This->himlStartBtn = NULL; - } - } - - return FALSE; -} - -static HBITMAP -ITrayWindowImpl_CreateStartButtonBitmap(IN OUT ITrayWindowImpl *This) -{ - TCHAR szStartCaption[32]; - HFONT hFontOld; - HDC hDC = NULL; - HDC hDCScreen = NULL; - SIZE Size, SmallIcon; - HBITMAP hbmpOld, hbmp = NULL; - HBITMAP hBitmap = NULL; - HICON hIconStart; - BOOL Ret; - UINT Flags; - RECT rcButton; - - /* NOTE: This is the backwards compatibility code that is used if the - Common Controls Version 6.0 are not available! */ - - if (!LoadString(hExplorerInstance, - IDS_START, - szStartCaption, - sizeof(szStartCaption) / sizeof(szStartCaption[0]))) - { - return NULL; - } - - /* Load the start button icon */ - SmallIcon.cx = GetSystemMetrics(SM_CXSMICON); - SmallIcon.cy = GetSystemMetrics(SM_CYSMICON); - hIconStart = LoadImage(hExplorerInstance, - MAKEINTRESOURCE(IDI_START), - IMAGE_ICON, - SmallIcon.cx, - SmallIcon.cy, - LR_SHARED | LR_DEFAULTCOLOR); - - hDCScreen = GetDC(NULL); - if (hDCScreen == NULL) - goto Cleanup; - - hDC = CreateCompatibleDC(hDCScreen); - if (hDC == NULL) - goto Cleanup; - - hFontOld = SelectObject(hDC, - This->hStartBtnFont); - - Ret = GetTextExtentPoint32(hDC, - szStartCaption, - _tcslen(szStartCaption), - &Size); - - SelectObject(hDC, - hFontOld); - if (!Ret) - goto Cleanup; - - /* Make sure the height is at least the size of a caption icon. */ - if (hIconStart != NULL) - Size.cx += SmallIcon.cx + 4; - Size.cy = max(Size.cy, - SmallIcon.cy); - - /* Create the bitmap */ - hbmp = CreateCompatibleBitmap(hDCScreen, - Size.cx, - Size.cy); - if (hbmp == NULL) - goto Cleanup; - - /* Caluclate the button rect */ - rcButton.left = 0; - rcButton.top = 0; - rcButton.right = Size.cx; - rcButton.bottom = Size.cy; - - /* Draw the button */ - hbmpOld = SelectObject(hDC, - hbmp); - - Flags = DC_TEXT | DC_INBUTTON; - if (hIconStart != NULL) - Flags |= DC_ICON; - - if (DrawCapTemp != NULL) - { - Ret = DrawCapTemp(NULL, - hDC, - &rcButton, - This->hStartBtnFont, - hIconStart, - szStartCaption, - Flags); - } - - SelectObject(hDC, - hbmpOld); - - if (!Ret) - goto Cleanup; - - /* We successfully created the bitmap! */ - hBitmap = hbmp; - hbmp = NULL; - -Cleanup: - if (hDCScreen != NULL) - { - ReleaseDC(NULL, - hDCScreen); - } - - if (hbmp != NULL) - DeleteObject(hbmp); - - if (hDC != NULL) - DeleteDC(hDC); - - return hBitmap; -} - -static VOID -ITrayWindowImpl_UpdateTheme(IN OUT ITrayWindowImpl *This) -{ - if (This->TaskbarTheme) - CloseThemeData(This->TaskbarTheme); - - if (IsThemeActive()) - This->TaskbarTheme = OpenThemeData(This->hWnd, L"Taskbar"); - else - This->TaskbarTheme = 0; -} - -static VOID -ITrayWindowImpl_Create(IN OUT ITrayWindowImpl *This) -{ - TCHAR szStartCaption[32]; - - SetWindowTheme(This->hWnd, L"TaskBar", NULL); - ITrayWindowImpl_UpdateTheme(This); - - InterlockedIncrement(&TrayWndCount); - - if (!LoadString(hExplorerInstance, - IDS_START, - szStartCaption, - sizeof(szStartCaption) / sizeof(szStartCaption[0]))) - { - szStartCaption[0] = TEXT('\0'); - } - - if (This->hStartBtnFont == NULL || This->hCaptionFont == NULL) - { - NONCLIENTMETRICS ncm; - - /* Get the system fonts, we use the caption font, - always bold, though. */ - ncm.cbSize = sizeof(ncm); - if (SystemParametersInfo(SPI_GETNONCLIENTMETRICS, - sizeof(ncm), - &ncm, - FALSE)) - { - if (This->hCaptionFont == NULL) - { - ncm.lfCaptionFont.lfWeight = FW_NORMAL; - This->hCaptionFont = CreateFontIndirect(&ncm.lfCaptionFont); - } - - if (This->hStartBtnFont == NULL) - { - ncm.lfCaptionFont.lfWeight = FW_BOLD; - This->hStartBtnFont = CreateFontIndirect(&ncm.lfCaptionFont); - } - } - } - - /* Create the Start button */ - This->hwndStart = CreateWindowEx(0, - WC_BUTTON, - szStartCaption, - WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | - BS_PUSHBUTTON | BS_CENTER | BS_VCENTER | BS_BITMAP, - 0, - 0, - 0, - 0, - This->hWnd, - (HMENU)IDC_STARTBTN, - hExplorerInstance, - NULL); - if (This->hwndStart) - { - SetWindowTheme(This->hwndStart, L"Start", NULL); - SendMessage(This->hwndStart, - WM_SETFONT, - (WPARAM)This->hStartBtnFont, - FALSE); - - if (ITrayWindowImpl_CreateStartBtnImageList(This)) - { - BUTTON_IMAGELIST bil; - - /* Try to set the start button image. This requires the Common - Controls 6.0 to be present (XP and later) */ - bil.himl = This->himlStartBtn; - bil.margin.left = bil.margin.right = 1; - bil.margin.top = bil.margin.bottom = 1; - bil.uAlign = BUTTON_IMAGELIST_ALIGN_LEFT; - - if (!SendMessage(This->hwndStart, - BCM_SETIMAGELIST, - 0, - (LPARAM)&bil)) - { - /* Fall back to the deprecated method on older systems that don't - support Common Controls 6.0 */ - ImageList_Destroy(This->himlStartBtn); - This->himlStartBtn = NULL; - - goto SetStartBtnImage; - } - - /* We're using the image list, remove the BS_BITMAP style and - don't center it horizontally */ - SetWindowStyle(This->hwndStart, - BS_BITMAP | BS_RIGHT, - 0); - - ITrayWindowImpl_UpdateStartButton(This, - NULL); - } - else - { - HBITMAP hbmStart, hbmOld; - -SetStartBtnImage: - hbmStart = ITrayWindowImpl_CreateStartButtonBitmap(This); - if (hbmStart != NULL) - { - ITrayWindowImpl_UpdateStartButton(This, - hbmStart); - - hbmOld = (HBITMAP)SendMessage(This->hwndStart, - BM_SETIMAGE, - IMAGE_BITMAP, - (LPARAM)hbmStart); - - if (hbmOld != NULL) - DeleteObject(hbmOld); - } - } - } - - /* Load the saved tray window settings */ - ITrayWindowImpl_RegLoadSettings(This); - - /* Create and initialize the start menu */ - This->hbmStartMenu = LoadBitmap(hExplorerInstance, - MAKEINTRESOURCE(IDB_STARTMENU)); - This->StartMenuPopup = CreateStartMenu(ITrayWindow_from_impl(This), - &This->StartMenuBand, - This->hbmStartMenu, - 0); - - /* Load the tray band site */ - if (This->TrayBandSite != NULL) - { - ITrayBandSite_Release(This->TrayBandSite); - } - - This->TrayBandSite = CreateTrayBandSite(ITrayWindow_from_impl(This), - &This->hwndRebar, - &This->hwndTaskSwitch); - SetWindowTheme(This->hwndRebar, L"TaskBar", NULL); - - /* Create the tray notification window */ - This->hwndTrayNotify = CreateTrayNotifyWnd(ITrayWindow_from_impl(This), - This->HideClock); - - if (ITrayWindowImpl_UpdateNonClientMetrics(This)) - { - ITrayWindowImpl_SetWindowsFont(This); - } - - /* Move the tray window to the right position and resize it if neccessary */ - ITrayWindowImpl_CheckTrayWndPosition(This); - - /* Align all controls on the tray window */ - ITrayWindowImpl_AlignControls(This, - NULL); -} - -static HRESULT STDMETHODCALLTYPE -ITrayWindowImpl_QueryInterface(IN OUT ITrayWindow *iface, - IN REFIID riid, - OUT LPVOID *ppvObj) -{ - ITrayWindowImpl *This; - - if (ppvObj == NULL) - return E_POINTER; - - This = impl_from_ITrayWindow(iface); - - if (IsEqualIID(riid, - &IID_IUnknown)) - { - *ppvObj = IUnknown_from_impl(This); - } - else if (IsEqualIID(riid, - &IID_IShellDesktopTray)) - { - *ppvObj = IShellDesktopTray_from_impl(This); - } - else - { - *ppvObj = NULL; - return E_NOINTERFACE; - } - - ITrayWindowImpl_AddRef(iface); - return S_OK; -} - -static ITrayWindowImpl * -ITrayWindowImpl_Construct(VOID) -{ - ITrayWindowImpl *This; - - This = HeapAlloc(hProcessHeap, - HEAP_ZERO_MEMORY, - sizeof(*This)); - if (This == NULL) - return NULL; - - This->lpVtbl = &ITrayWindowImpl_Vtbl; - This->lpVtblShellDesktopTray = &IShellDesktopTrayImpl_Vtbl; - This->Ref = 1; - This->Position = (DWORD)-1; - - return This; -} - -static HRESULT STDMETHODCALLTYPE -ITrayWindowImpl_Open(IN OUT ITrayWindow *iface) -{ - ITrayWindowImpl *This = impl_from_ITrayWindow(iface); - HRESULT Ret = S_OK; - HWND hWnd; - DWORD dwExStyle; - - /* Check if there's already a window created and try to show it. - If it was somehow destroyed just create a new tray window. */ - if (This->hWnd != NULL) - { - if (IsWindow(This->hWnd)) - { - if (!IsWindowVisible(This->hWnd)) - { - ITrayWindowImpl_CheckTrayWndPosition(This); - - ShowWindow(This->hWnd, - SW_SHOW); - } - } - else - goto TryCreateTrayWnd; - } - else - { - RECT rcWnd; - -TryCreateTrayWnd: - dwExStyle = WS_EX_TOOLWINDOW | WS_EX_WINDOWEDGE; - if (This->AlwaysOnTop) - dwExStyle |= WS_EX_TOPMOST; - - if (This->Position != (DWORD)-1) - rcWnd = This->rcTrayWnd[This->Position]; - else - { - ZeroMemory(&rcWnd, - sizeof(rcWnd)); - } - - hWnd = CreateWindowEx(dwExStyle, - szTrayWndClass, - NULL, - WS_POPUP | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | - WS_BORDER | WS_THICKFRAME, - rcWnd.left, - rcWnd.top, - rcWnd.right - rcWnd.left, - rcWnd.bottom - rcWnd.top, - NULL, - NULL, - hExplorerInstance, - This); - if (hWnd == NULL) - Ret = E_FAIL; - } - - return Ret; -} - -static HRESULT STDMETHODCALLTYPE -ITrayWindowImpl_Close(IN OUT ITrayWindow *iface) -{ - ITrayWindowImpl *This = impl_from_ITrayWindow(iface); - - if (This->hWnd != NULL) - { - SendMessage(This->hWnd, - WM_APP_TRAYDESTROY, - 0, - 0); - } - - return S_OK; -} - -static HWND STDMETHODCALLTYPE -ITrayWindowImpl_GetHWND(IN OUT ITrayWindow *iface) -{ - ITrayWindowImpl *This = impl_from_ITrayWindow(iface); - - return This->hWnd; -} - -static BOOL STDMETHODCALLTYPE -ITrayWindowImpl_IsSpecialHWND(IN OUT ITrayWindow *iface, - IN HWND hWnd) -{ - ITrayWindowImpl *This = impl_from_ITrayWindow(iface); - - return (hWnd == This->hWnd || - (This->hWndDesktop != NULL && hWnd == This->hWndDesktop)); -} - -static BOOL STDMETHODCALLTYPE -ITrayWindowImpl_IsHorizontal(IN OUT ITrayWindow *iface) -{ - ITrayWindowImpl *This = impl_from_ITrayWindow(iface); - return ITrayWindowImpl_IsPosHorizontal(This); -} - -static HFONT STDMETHODCALLTYPE -ITrayWIndowImpl_GetCaptionFonts(IN OUT ITrayWindow *iface, - OUT HFONT *phBoldCaption OPTIONAL) -{ - ITrayWindowImpl *This = impl_from_ITrayWindow(iface); - - if (phBoldCaption != NULL) - *phBoldCaption = This->hStartBtnFont; - - return This->hCaptionFont; -} - -static DWORD WINAPI -TrayPropertiesThread(IN OUT PVOID pParam) -{ - ITrayWindowImpl *This = pParam; - HWND hwnd; - RECT posRect; - - GetWindowRect(This->hwndStart, &posRect); - hwnd = CreateWindowEx(0, - WC_STATIC, - NULL, - WS_OVERLAPPED | WS_DISABLED | WS_CLIPSIBLINGS | WS_BORDER | SS_LEFT, - posRect.left, - posRect.top, - posRect.right - posRect.left, - posRect.bottom - posRect.top, - NULL, - NULL, - NULL, - NULL); - - This->hwndTrayPropertiesOwner = hwnd; - - DisplayTrayProperties(hwnd); - - This->hwndTrayPropertiesOwner = NULL; - DestroyWindow(hwnd); - - return 0; -} - -static HWND STDMETHODCALLTYPE -ITrayWindowImpl_DisplayProperties(IN OUT ITrayWindow *iface) -{ - ITrayWindowImpl *This = impl_from_ITrayWindow(iface); - HWND hTrayProp; - - if (This->hwndTrayPropertiesOwner) - { - hTrayProp = GetLastActivePopup(This->hwndTrayPropertiesOwner); - if (hTrayProp != NULL && - hTrayProp != This->hwndTrayPropertiesOwner) - { - SetForegroundWindow(hTrayProp); - return NULL; - } - } - - CloseHandle(CreateThread(NULL, 0, TrayPropertiesThread, This, 0, NULL)); - return NULL; -} - -static VOID -OpenCommonStartMenuDirectory(IN HWND hWndOwner, - IN LPCTSTR lpOperation) -{ - TCHAR szDir[MAX_PATH]; - - if (SHGetSpecialFolderPath(hWndOwner, - szDir, - CSIDL_COMMON_STARTMENU, - FALSE)) - { - ShellExecute(hWndOwner, - lpOperation, - NULL, - NULL, - szDir, - SW_SHOWNORMAL); - } -} - -static VOID -OpenTaskManager(IN HWND hWndOwner) -{ - ShellExecute(hWndOwner, - TEXT("open"), - TEXT("taskmgr.exe"), - NULL, - NULL, - SW_SHOWNORMAL); -} - -static BOOL STDMETHODCALLTYPE -ITrayWindowImpl_ExecContextMenuCmd(IN OUT ITrayWindow *iface, - IN UINT uiCmd) -{ - ITrayWindowImpl *This = impl_from_ITrayWindow(iface); - BOOL bHandled = TRUE; - - switch (uiCmd) - { - case ID_SHELL_CMD_PROPERTIES: - ITrayWindow_DisplayProperties(iface); - break; - - case ID_SHELL_CMD_OPEN_ALL_USERS: - OpenCommonStartMenuDirectory(This->hWnd, - TEXT("open")); - break; - - case ID_SHELL_CMD_EXPLORE_ALL_USERS: - OpenCommonStartMenuDirectory(This->hWnd, - TEXT("explore")); - break; - - case ID_LOCKTASKBAR: - if (SHRestricted(REST_CLASSICSHELL) == 0) - { - ITrayWindow_Lock(iface, - !This->Locked); - } - break; - - case ID_SHELL_CMD_OPEN_TASKMGR: - OpenTaskManager(This->hWnd); - break; - - case ID_SHELL_CMD_UNDO_ACTION: - break; - - case ID_SHELL_CMD_SHOW_DESKTOP: - break; - - case ID_SHELL_CMD_TILE_WND_H: - TileWindows(NULL, MDITILE_HORIZONTAL, NULL, 0, NULL); - break; - - case ID_SHELL_CMD_TILE_WND_V: - TileWindows(NULL, MDITILE_VERTICAL, NULL, 0, NULL); - break; - - case ID_SHELL_CMD_CASCADE_WND: - CascadeWindows(NULL, MDITILE_SKIPDISABLED, NULL, 0, NULL); - break; - - case ID_SHELL_CMD_CUST_NOTIF: - break; - - case ID_SHELL_CMD_ADJUST_DAT: - LaunchCPanel(NULL, TEXT("timedate.cpl")); - break; - - default: - DbgPrint("ITrayWindow::ExecContextMenuCmd(%u): Unhandled Command ID!\n", uiCmd); - bHandled = FALSE; - break; - } - - return bHandled; -} - -static BOOL STDMETHODCALLTYPE -ITrayWindowImpl_Lock(IN OUT ITrayWindow *iface, - IN BOOL bLock) -{ - BOOL bPrevLock; - ITrayWindowImpl *This = impl_from_ITrayWindow(iface); - - bPrevLock = This->Locked; - if (This->Locked != bLock) - { - This->Locked = bLock; - - if (This->TrayBandSite != NULL) - { - if (!SUCCEEDED(ITrayBandSite_Lock(This->TrayBandSite, - bLock))) - { - /* Reset?? */ - This->Locked = bPrevLock; - } - } - } - - return bPrevLock; -} - -static const ITrayWindowVtbl ITrayWindowImpl_Vtbl = -{ - /* IUnknown */ - ITrayWindowImpl_QueryInterface, - ITrayWindowImpl_AddRef, - ITrayWindowImpl_Release, - /* ITrayWindow */ - ITrayWindowImpl_Open, - ITrayWindowImpl_Close, - ITrayWindowImpl_GetHWND, - ITrayWindowImpl_IsSpecialHWND, - ITrayWindowImpl_IsHorizontal, - ITrayWIndowImpl_GetCaptionFonts, - ITrayWindowImpl_DisplayProperties, - ITrayWindowImpl_ExecContextMenuCmd, - ITrayWindowImpl_Lock -}; - -static int -ITrayWindowImpl_DrawBackground(IN ITrayWindowImpl *This, - IN HDC dc) -{ - int backoundPart; - RECT rect; - - GetClientRect(This->hWnd, &rect); - switch (This->Position) - { - case ABE_LEFT: - backoundPart = TBP_BACKGROUNDLEFT; - break; - case ABE_TOP: - backoundPart = TBP_BACKGROUNDTOP; - break; - case ABE_RIGHT: - backoundPart = TBP_BACKGROUNDRIGHT; - break; - case ABE_BOTTOM: - default: - backoundPart = TBP_BACKGROUNDBOTTOM; - break; - } - DrawThemeBackground(This->TaskbarTheme, dc, backoundPart, 0, &rect, 0); - return 0; -} - -static int -ITrayWindowImpl_DrawSizer(IN ITrayWindowImpl *This, - IN HRGN hRgn) -{ - HDC hdc; - RECT rect; - int backoundPart; - - GetWindowRect(This->hWnd, &rect); - OffsetRect(&rect, -rect.left, -rect.top); - - hdc = GetDCEx(This->hWnd, hRgn, DCX_WINDOW | DCX_INTERSECTRGN | DCX_PARENTCLIP); - - switch (This->Position) - { - case ABE_LEFT: - backoundPart = TBP_SIZINGBARLEFT; - rect.left = rect.right - GetSystemMetrics(SM_CXSIZEFRAME); - break; - case ABE_TOP: - backoundPart = TBP_SIZINGBARTOP; - rect.top = rect.bottom - GetSystemMetrics(SM_CYSIZEFRAME); - break; - case ABE_RIGHT: - backoundPart = TBP_SIZINGBARRIGHT; - rect.right = rect.left + GetSystemMetrics(SM_CXSIZEFRAME); - break; - case ABE_BOTTOM: - default: - backoundPart = TBP_SIZINGBARBOTTOM; - rect.bottom = rect.top + GetSystemMetrics(SM_CYSIZEFRAME); - break; - } - - DrawThemeBackground(This->TaskbarTheme, hdc, backoundPart, 0, &rect, 0); - - ReleaseDC(This->hWnd, hdc); - return 0; -} - -static DWORD WINAPI -RunFileDlgThread(IN OUT PVOID pParam) -{ - ITrayWindowImpl *This = pParam; - HANDLE hShell32; - RUNFILEDLG RunFileDlg; - HWND hwnd; - RECT posRect; - - GetWindowRect(This->hwndStart,&posRect); - - hwnd = CreateWindowEx(0, - WC_STATIC, - NULL, - WS_OVERLAPPED | WS_DISABLED | WS_CLIPSIBLINGS | WS_BORDER | SS_LEFT, - posRect.left, - posRect.top, - posRect.right - posRect.left, - posRect.bottom - posRect.top, - NULL, - NULL, - NULL, - NULL); - - This->hwndRunFileDlgOwner = hwnd; - - hShell32 = GetModuleHandle(TEXT("SHELL32.DLL")); - RunFileDlg = (RUNFILEDLG)GetProcAddress(hShell32, (LPCSTR)61); - - RunFileDlg(hwnd, NULL, NULL, NULL, NULL, RFF_CALCDIRECTORY); - - This->hwndRunFileDlgOwner = NULL; - DestroyWindow(hwnd); - - return 0; -} - -static void -ITrayWindowImpl_DisplayRunFileDlg(IN ITrayWindowImpl *This) -{ - HWND hRunDlg; - if (This->hwndRunFileDlgOwner) - { - hRunDlg = GetLastActivePopup(This->hwndRunFileDlgOwner); - if (hRunDlg != NULL && - hRunDlg != This->hwndRunFileDlgOwner) - { - SetForegroundWindow(hRunDlg); - return; - } - } - - CloseHandle(CreateThread(NULL, 0, RunFileDlgThread, This, 0, NULL)); -} - -static LRESULT CALLBACK -TrayWndProc(IN HWND hwnd, - IN UINT uMsg, - IN WPARAM wParam, - IN LPARAM lParam) -{ - ITrayWindowImpl *This = NULL; - LRESULT Ret = FALSE; - - if (uMsg != WM_NCCREATE) - { - This = (ITrayWindowImpl*)GetWindowLongPtr(hwnd, - 0); - } - - if (This != NULL || uMsg == WM_NCCREATE) - { - if (This != NULL && This->StartMenuBand != NULL) - { - MSG Msg; - LRESULT lRet; - - Msg.hwnd = hwnd; - Msg.message = uMsg; - Msg.wParam = wParam; - Msg.lParam = lParam; - - if (IMenuBand_TranslateMenuMessage(This->StartMenuBand, - &Msg, - &lRet) == S_OK) - { - return lRet; - } - - wParam = Msg.wParam; - lParam = Msg.lParam; - } - - switch (uMsg) - { - case WM_COPYDATA: - { - if (This->hwndTrayNotify) - { - TrayNotify_NotifyMsg(This->hwndTrayNotify, - wParam, - lParam); - } - return TRUE; - } - case WM_THEMECHANGED: - ITrayWindowImpl_UpdateTheme(This); - return 0; - case WM_NCPAINT: - if (!This->TaskbarTheme) - goto DefHandler; - return ITrayWindowImpl_DrawSizer(This, - (HRGN)wParam); - case WM_ERASEBKGND: - if (!This->TaskbarTheme) - goto DefHandler; - return ITrayWindowImpl_DrawBackground(This, - (HDC)wParam); - case WM_CTLCOLORBTN: - SetBkMode((HDC)wParam, TRANSPARENT); - return (LRESULT)GetStockObject(HOLLOW_BRUSH); - case WM_NCHITTEST: - { - RECT rcClient; - POINT pt; - - if (This->Locked) - { - /* The user may not be able to resize the tray window. - Pretend like the window is not sizeable when the user - clicks on the border. */ - return HTBORDER; - } - - SetLastError(ERROR_SUCCESS); - if (GetClientRect(hwnd, - &rcClient) && - (MapWindowPoints(hwnd, - NULL, - (LPPOINT)&rcClient, - 2) != 0 || GetLastError() == ERROR_SUCCESS)) - { - pt.x = (SHORT)LOWORD(lParam); - pt.y = (SHORT)HIWORD(lParam); - - if (PtInRect(&rcClient, - pt)) - { - /* The user is trying to drag the tray window */ - return HTCAPTION; - } - - /* Depending on the position of the tray window, allow only - changing the border next to the monitor working area */ - switch (This->Position) - { - case ABE_TOP: - if (pt.y > rcClient.bottom) - return HTBOTTOM; - break; - case ABE_LEFT: - if (pt.x > rcClient.right) - return HTRIGHT; - break; - case ABE_RIGHT: - if (pt.x < rcClient.left) - return HTLEFT; - break; - case ABE_BOTTOM: - default: - if (pt.y < rcClient.top) - return HTTOP; - break; - } - } - return HTBORDER; - } - case WM_MOVING: - { - POINT ptCursor; - PRECT pRect = (PRECT)lParam; - - /* We need to ensure that an application can not accidently - move the tray window (using SetWindowPos). However, we still - need to be able to move the window in case the user wants to - drag the tray window to another position or in case the user - wants to resize the tray window. */ - if (!This->Locked && GetCursorPos(&ptCursor)) - { - This->IsDragging = TRUE; - This->DraggingPosition = ITrayWindowImpl_GetDraggingRectFromPt(This, - ptCursor, - pRect, - &This->DraggingMonitor); - } - else - { - *pRect = This->rcTrayWnd[This->Position]; - } - return TRUE; - } - - case WM_SIZING: - { - PRECT pRect = (PRECT)lParam; - - if (!This->Locked) - { - ITrayWindowImpl_CalculateValidSize(This, - This->Position, - pRect); - } - else - { - *pRect = This->rcTrayWnd[This->Position]; - } - return TRUE; - } - - case WM_WINDOWPOSCHANGING: - { - ITrayWindowImpl_ChangingWinPos(This, - (LPWINDOWPOS)lParam); - break; - } - - case WM_SIZE: - { - RECT rcClient; - InvalidateRect(This->hWnd, NULL, TRUE); - if (wParam == SIZE_RESTORED && lParam == 0) - { - ITrayWindowImpl_ResizeWorkArea(This); - /* Clip the tray window on multi monitor systems so the edges can't - overlap into another monitor */ - ITrayWindowImpl_ApplyClipping(This, - TRUE); - - if (!GetClientRect(This->hWnd, - &rcClient)) - { - break; - } - } - else - { - rcClient.left = rcClient.top = 0; - rcClient.right = LOWORD(lParam); - rcClient.bottom = HIWORD(lParam); - } - - ITrayWindowImpl_AlignControls(This, - &rcClient); - break; - } - - case WM_ENTERSIZEMOVE: - This->InSizeMove = TRUE; - This->IsDragging = FALSE; - if (!This->Locked) - { - /* Remove the clipping on multi monitor systems while dragging around */ - ITrayWindowImpl_ApplyClipping(This, - FALSE); - } - break; - - case WM_EXITSIZEMOVE: - This->InSizeMove = FALSE; - if (!This->Locked) - { - /* Apply clipping */ - PostMessage(This->hWnd, - WM_SIZE, - SIZE_RESTORED, - 0); - } - break; - - case WM_SYSCHAR: - switch (wParam) - { - case TEXT(' '): - { - /* The user pressed Alt+Space, this usually brings up the system menu of a window. - The tray window needs to handle this specially, since it normally doesn't have - a system menu. */ - - static const UINT uidDisableItem[] = { - SC_RESTORE, - SC_MOVE, - SC_SIZE, - SC_MAXIMIZE, - SC_MINIMIZE, - }; - HMENU hSysMenu; - INT i; - UINT uId; - - /* temporarily enable the system menu */ - SetWindowStyle(hwnd, - WS_SYSMENU, - WS_SYSMENU); - - hSysMenu = GetSystemMenu(hwnd, - FALSE); - if (hSysMenu != NULL) - { - /* Disable all items that are not relevant */ - for (i = 0; i != sizeof(uidDisableItem) / sizeof(uidDisableItem[0]); i++) - { - EnableMenuItem(hSysMenu, - uidDisableItem[i], - MF_BYCOMMAND | MF_GRAYED); - } - - EnableMenuItem(hSysMenu, - SC_CLOSE, - MF_BYCOMMAND | - (SHRestricted(REST_NOCLOSE) ? MF_GRAYED : MF_ENABLED)); - - /* Display the system menu */ - uId = ITrayWindowImpl_TrackMenu(This, - hSysMenu, - NULL, - This->hwndStart, - This->Position != ABE_TOP, - FALSE); - if (uId != 0) - { - SendMessage(This->hWnd, - WM_SYSCOMMAND, - (WPARAM)uId, - 0); - } - } - - /* revert the system menu window style */ - SetWindowStyle(hwnd, - WS_SYSMENU, - 0); - break; - } - - default: - goto DefHandler; - } - break; - - case WM_NCRBUTTONUP: - /* We want the user to be able to get a context menu even on the nonclient - area (including the sizing border)! */ - uMsg = WM_CONTEXTMENU; - wParam = (WPARAM)hwnd; - /* fall through */ - - case WM_CONTEXTMENU: - { - POINT pt, *ppt = NULL; - HWND hWndExclude = NULL; - - /* Check if the administrator has forbidden access to context menus */ - if (SHRestricted(REST_NOTRAYCONTEXTMENU)) - break; - - pt.x = (SHORT)LOWORD(lParam); - pt.y = (SHORT)HIWORD(lParam); - - if (pt.x != -1 || pt.y != -1) - ppt = &pt; - else - hWndExclude = This->hwndStart; - - if ((HWND)wParam == This->hwndStart) - { - /* Make sure we can't track the context menu if the start - menu is currently being shown */ - if (!(SendMessage(This->hwndStart, - BM_GETSTATE, - 0, - 0) & BST_PUSHED)) - { - ITrayWindowImpl_TrackCtxMenu(This, - &StartMenuBtnCtxMenu, - ppt, - hWndExclude, - This->Position == ABE_BOTTOM, - This); - } - } - else - { - /* See if the context menu should be handled by the task band site */ - if (ppt != NULL && This->TrayBandSite != NULL) - { - HWND hWndAtPt; - POINT ptClient = *ppt; - - /* Convert the coordinates to client-coordinates */ - MapWindowPoints(NULL, - This->hWnd, - &ptClient, - 1); - - hWndAtPt = ChildWindowFromPoint(This->hWnd, - ptClient); - if (hWndAtPt != NULL && - (hWndAtPt == This->hwndRebar || IsChild(This->hwndRebar, - hWndAtPt))) - { - /* Check if the user clicked on the task switch window */ - ptClient = *ppt; - MapWindowPoints(NULL, - This->hwndRebar, - &ptClient, - 1); - - hWndAtPt = ChildWindowFromPointEx(This->hwndRebar, - ptClient, - CWP_SKIPINVISIBLE | CWP_SKIPDISABLED); - if (hWndAtPt == This->hwndTaskSwitch) - goto HandleTrayContextMenu; - - /* Forward the message to the task band site */ - ITrayBandSite_ProcessMessage(This->TrayBandSite, - hwnd, - uMsg, - wParam, - lParam, - &Ret); - } - else - goto HandleTrayContextMenu; - } - else - { -HandleTrayContextMenu: - /* Tray the default tray window context menu */ - ITrayWindowImpl_TrackCtxMenu(This, - &TrayWindowCtxMenu, - ppt, - NULL, - FALSE, - This); - } - } - break; - } - - case WM_NOTIFY: - { - /* FIXME: We can't check with IsChild whether the hwnd is somewhere inside - the rebar control! But we shouldn't forward messages that the band - site doesn't handle, such as other controls (start button, tray window */ - if (This->TrayBandSite == NULL || - !SUCCEEDED(ITrayBandSite_ProcessMessage(This->TrayBandSite, - hwnd, - uMsg, - wParam, - lParam, - &Ret))) - { - const NMHDR *nmh = (const NMHDR *)lParam; - - if (nmh->hwndFrom == This->hwndTrayNotify) - { - switch (nmh->code) - { - case NTNWM_REALIGN: - /* Cause all controls to be aligned */ - PostMessage(This->hWnd, - WM_SIZE, - SIZE_RESTORED, - 0); - break; - } - } - } - break; - } - - case WM_NCLBUTTONDBLCLK: - { - /* We "handle" this message so users can't cause a weird maximize/restore - window animation when double-clicking the tray window! */ - - /* We should forward mouse messages to child windows here. - Right now, this is only clock double-click */ - RECT rcClock; - if (TrayNotify_GetClockRect(This->hwndTrayNotify, &rcClock)) - { - POINT ptClick; - ptClick.x = MAKEPOINTS(lParam).x; - ptClick.y = MAKEPOINTS(lParam).y; - if (PtInRect(&rcClock, ptClick)) - LaunchCPanel(NULL, TEXT("timedate.cpl")); - } - break; - } - - case WM_NCCREATE: - { - LPCREATESTRUCT CreateStruct = (LPCREATESTRUCT)lParam; - This = (ITrayWindowImpl*)CreateStruct->lpCreateParams; - - if (InterlockedCompareExchangePointer((PVOID*)&This->hWnd, - (PVOID)hwnd, - NULL) != NULL) - { - /* Somebody else was faster... */ - return FALSE; - } - - SetWindowLongPtr(hwnd, - 0, - (LONG_PTR)This); - - return ITrayWindowImpl_NCCreate(This); - } - - case WM_CREATE: - ITrayWindowImpl_Create(This); - break; - - case WM_NCDESTROY: - ITrayWindowImpl_Destroy(This); - break; - - case WM_APP_TRAYDESTROY: - DestroyWindow(hwnd); - break; - - case TWM_OPENSTARTMENU: - SendMessage(This->hWnd, WM_COMMAND, MAKEWPARAM(BN_CLICKED, IDC_STARTBTN), (LPARAM)This->hwndStart); - break; - - case WM_COMMAND: - if ((HWND)lParam == This->hwndStart) - { - if (This->StartMenuPopup != NULL) - { - POINTL pt; - RECTL rcExclude; - DWORD dwFlags = 0; - - if (GetWindowRect(This->hwndStart, - (RECT*)&rcExclude)) - { - if (ITrayWindowImpl_IsPosHorizontal(This)) - { - pt.x = rcExclude.left; - pt.y = rcExclude.top; - dwFlags |= MPPF_BOTTOM; - } - else - { - if (This->Position == ABE_LEFT) - pt.x = rcExclude.left; - else - pt.x = rcExclude.right; - - pt.y = rcExclude.bottom; - dwFlags |= MPPF_BOTTOM; - } - - IMenuPopup_Popup(This->StartMenuPopup, - &pt, - &rcExclude, - dwFlags); - } - } - break; - } - - if (This->TrayBandSite == NULL || - !SUCCEEDED(ITrayBandSite_ProcessMessage(This->TrayBandSite, - hwnd, - uMsg, - wParam, - lParam, - &Ret))) - { - switch (LOWORD(wParam)) - { - /* FIXME: Handle these commands as well */ - case IDM_TASKBARANDSTARTMENU: - case IDM_SEARCH: - case IDM_HELPANDSUPPORT: - break; - - case IDM_RUN: - { - ITrayWindowImpl_DisplayRunFileDlg(This); - break; - } - - /* FIXME: Handle these commands as well */ - case IDM_SYNCHRONIZE: - case IDM_LOGOFF: - case IDM_DISCONNECT: - case IDM_UNDOCKCOMPUTER: - break; - - case IDM_SHUTDOWN: - { - HANDLE hShell32; - EXITWINDLG ExitWinDlg; - - hShell32 = GetModuleHandle(TEXT("SHELL32.DLL")); - ExitWinDlg = (EXITWINDLG)GetProcAddress(hShell32, (LPCSTR)60); - - ExitWinDlg(hwnd); - break; - } - } - } - break; - - default: - goto DefHandler; - } - } - else - { -DefHandler: - Ret = DefWindowProc(hwnd, - uMsg, - wParam, - lParam); - } - - return Ret; -} - -/* - * Tray Window Context Menu - */ - -static HMENU -CreateTrayWindowContextMenu(IN HWND hWndOwner, - IN PVOID *ppcmContext, - IN PVOID Context OPTIONAL) -{ - ITrayWindowImpl *This = (ITrayWindowImpl *)Context; - IContextMenu *pcm = NULL; - HMENU hPopup; - - hPopup = LoadPopupMenu(hExplorerInstance, - MAKEINTRESOURCE(IDM_TRAYWND)); - - if (hPopup != NULL) - { - if (SHRestricted(REST_CLASSICSHELL) != 0) - { - DeleteMenu(hPopup, - ID_LOCKTASKBAR, - MF_BYCOMMAND); - } - - CheckMenuItem(hPopup, - ID_LOCKTASKBAR, - MF_BYCOMMAND | (This->Locked ? MF_CHECKED : MF_UNCHECKED)); - - if (This->TrayBandSite != NULL) - { - if (SUCCEEDED(ITrayBandSite_AddContextMenus(This->TrayBandSite, - hPopup, - 0, - ID_SHELL_CMD_FIRST, - ID_SHELL_CMD_LAST, - CMF_NORMAL, - &pcm))) - { - DbgPrint("ITrayBandSite::AddContextMenus succeeded!\n"); - *(IContextMenu **)ppcmContext = pcm; - } - } - } - - return hPopup; -} - -static VOID -OnTrayWindowContextMenuCommand(IN HWND hWndOwner, - IN UINT uiCmdId, - IN PVOID pcmContext OPTIONAL, - IN PVOID Context OPTIONAL) -{ - ITrayWindowImpl *This = (ITrayWindowImpl *)Context; - IContextMenu *pcm = (IContextMenu *)pcmContext; - - if (uiCmdId != 0) - { - if (uiCmdId >= ID_SHELL_CMD_FIRST && uiCmdId <= ID_SHELL_CMD_LAST) - { - CMINVOKECOMMANDINFO cmici = {0}; - - if (pcm != NULL) - { - /* Setup and invoke the shell command */ - cmici.cbSize = sizeof(cmici); - cmici.hwnd = hWndOwner; - cmici.lpVerb = (LPCSTR)MAKEINTRESOURCE(uiCmdId - ID_SHELL_CMD_FIRST); - cmici.nShow = SW_NORMAL; - - IContextMenu_InvokeCommand(pcm, - &cmici); - } - } - else - { - ITrayWindow_ExecContextMenuCmd(ITrayWindow_from_impl(This), - uiCmdId); - } - } - - if (pcm != NULL) - IContextMenu_Release(pcm); -} - -static const TRAYWINDOW_CTXMENU TrayWindowCtxMenu = { - CreateTrayWindowContextMenu, - OnTrayWindowContextMenuCommand -}; - -/*****************************************************************************/ - -BOOL -RegisterTrayWindowClass(VOID) -{ - WNDCLASS wcTrayWnd; - BOOL Ret; - - if (!RegisterTrayNotifyWndClass()) - return FALSE; - - wcTrayWnd.style = CS_DBLCLKS; - wcTrayWnd.lpfnWndProc = TrayWndProc; - wcTrayWnd.cbClsExtra = 0; - wcTrayWnd.cbWndExtra = sizeof(ITrayWindowImpl *); - wcTrayWnd.hInstance = hExplorerInstance; - wcTrayWnd.hIcon = NULL; - wcTrayWnd.hCursor = LoadCursor(NULL, - IDC_ARROW); - wcTrayWnd.hbrBackground = (HBRUSH)(COLOR_3DFACE + 1); - wcTrayWnd.lpszMenuName = NULL; - wcTrayWnd.lpszClassName = szTrayWndClass; - - Ret = RegisterClass(&wcTrayWnd) != 0; - - if (!Ret) - UnregisterTrayNotifyWndClass(); - - return Ret; -} - -VOID -UnregisterTrayWindowClass(VOID) -{ - UnregisterTrayNotifyWndClass(); - - UnregisterClass(szTrayWndClass, - hExplorerInstance); -} - -ITrayWindow * -CreateTrayWindow(VOID) -{ - ITrayWindowImpl *This; - ITrayWindow *TrayWindow; - - This = ITrayWindowImpl_Construct(); - if (This != NULL) - { - TrayWindow = ITrayWindow_from_impl(This); - - ITrayWindowImpl_Open(TrayWindow); - - return TrayWindow; - } - - return NULL; -} - -VOID -TrayProcessMessages(IN OUT ITrayWindow *Tray) -{ - ITrayWindowImpl *This; - MSG Msg; - - This = impl_from_ITrayWindow(Tray); - - /* FIXME: We should keep a reference here... */ - - while (PeekMessage(&Msg, - NULL, - 0, - 0, - PM_REMOVE)) - { - if (Msg.message == WM_QUIT) - break; - - if (This->StartMenuBand == NULL || - IMenuBand_IsMenuMessage(This->StartMenuBand, - &Msg) != S_OK) - { - TranslateMessage(&Msg); - DispatchMessage(&Msg); - } - } -} - -VOID -TrayMessageLoop(IN OUT ITrayWindow *Tray) -{ - ITrayWindowImpl *This; - MSG Msg; - BOOL Ret; - - This = impl_from_ITrayWindow(Tray); - - /* FIXME: We should keep a reference here... */ - - while (1) - { - Ret = GetMessage(&Msg, - NULL, - 0, - 0); - - if (!Ret || Ret == -1) - break; - - if (Msg.message == WM_HOTKEY) - { - switch (Msg.wParam) - { - case IDHK_RUN: /* Win+R */ - ITrayWindowImpl_DisplayRunFileDlg(This); - break; - } - } - - if (This->StartMenuBand == NULL || - IMenuBand_IsMenuMessage(This->StartMenuBand, - &Msg) != S_OK) - { - TranslateMessage(&Msg); - DispatchMessage(&Msg); - } - } -} - -/* - * IShellDesktopTray - * - * NOTE: This is a very windows-specific COM interface used by SHCreateDesktop()! - * These are the calls I observed, it may be wrong/incomplete/buggy!!! - * The reason we implement it is because we have to use SHCreateDesktop() so - * that the shell provides the desktop window and all the features that come - * with it (especially positioning of desktop icons) - */ - -static HRESULT STDMETHODCALLTYPE -ITrayWindowImpl_IShellDesktopTray_QueryInterface(IN OUT IShellDesktopTray *iface, - IN REFIID riid, - OUT LPVOID *ppvObj) -{ - ITrayWindowImpl *This = impl_from_IShellDesktopTray(iface); - ITrayWindow *tray = ITrayWindow_from_impl(This); - - DbgPrint("IShellDesktopTray::QueryInterface(0x%p, 0x%p)\n", riid, ppvObj); - return ITrayWindowImpl_QueryInterface(tray, - riid, - ppvObj); -} - -static ULONG STDMETHODCALLTYPE -ITrayWindowImpl_IShellDesktopTray_Release(IN OUT IShellDesktopTray *iface) -{ - ITrayWindowImpl *This = impl_from_IShellDesktopTray(iface); - ITrayWindow *tray = ITrayWindow_from_impl(This); - - DbgPrint("IShellDesktopTray::Release()\n"); - return ITrayWindowImpl_Release(tray); -} - -static ULONG STDMETHODCALLTYPE -ITrayWindowImpl_IShellDesktopTray_AddRef(IN OUT IShellDesktopTray *iface) -{ - ITrayWindowImpl *This = impl_from_IShellDesktopTray(iface); - ITrayWindow *tray = ITrayWindow_from_impl(This); - - DbgPrint("IShellDesktopTray::AddRef()\n"); - return ITrayWindowImpl_AddRef(tray); -} - -static ULONG STDMETHODCALLTYPE -ITrayWindowImpl_IShellDesktopTray_GetState(IN OUT IShellDesktopTray *iface) -{ - /* FIXME: Return ABS_ flags? */ - DbgPrint("IShellDesktopTray::GetState() unimplemented!\n"); - return 0; -} - -static HRESULT STDMETHODCALLTYPE -ITrayWindowImpl_IShellDesktopTray_GetTrayWindow(IN OUT IShellDesktopTray *iface, - OUT HWND *phWndTray) -{ - ITrayWindowImpl *This = impl_from_IShellDesktopTray(iface); - DbgPrint("IShellDesktopTray::GetTrayWindow(0x%p)\n", phWndTray); - *phWndTray = This->hWnd; - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE -ITrayWindowImpl_IShellDesktopTray_RegisterDesktopWindow(IN OUT IShellDesktopTray *iface, - IN HWND hWndDesktop) -{ - ITrayWindowImpl *This = impl_from_IShellDesktopTray(iface); - DbgPrint("IShellDesktopTray::RegisterDesktopWindow(0x%p)\n", hWndDesktop); - - This->hWndDesktop = hWndDesktop; - return S_OK; -} - -static HRESULT STDMETHODCALLTYPE -ITrayWindowImpl_IShellDesktopTray_Unknown(IN OUT IShellDesktopTray *iface, - IN DWORD dwUnknown1, - IN DWORD dwUnknown2) -{ - DbgPrint("IShellDesktopTray::Unknown(%u,%u) unimplemented!\n", dwUnknown1, dwUnknown2); - return S_OK; -} - -static const IShellDesktopTrayVtbl IShellDesktopTrayImpl_Vtbl = -{ - /*** IUnknown ***/ - ITrayWindowImpl_IShellDesktopTray_QueryInterface, - ITrayWindowImpl_IShellDesktopTray_AddRef, - ITrayWindowImpl_IShellDesktopTray_Release, - /*** IShellDesktopTray ***/ - ITrayWindowImpl_IShellDesktopTray_GetState, - ITrayWindowImpl_IShellDesktopTray_GetTrayWindow, - ITrayWindowImpl_IShellDesktopTray_RegisterDesktopWindow, - ITrayWindowImpl_IShellDesktopTray_Unknown -}; diff --git a/base/shell/explorer-new/undoc.h b/base/shell/explorer-new/undoc.h deleted file mode 100644 index d2cf78decd7..00000000000 --- a/base/shell/explorer-new/undoc.h +++ /dev/null @@ -1,54 +0,0 @@ -#pragma once - -/* - * Undocumented stuff - */ - -/* IMenuDeskBar provides the band site toolbars menu */ -static const CLSID CLSID_HACK_IShellBandSiteMenu = {0xECD4FC4E,0x521C,0x11D0,{0xB7,0x92,0x00,0xA0,0xC9,0x03,0x12,0xE1}}; -#define CLSID_IShellBandSiteMenu CLSID_HACK_IShellBandSiteMenu - -static const GUID IID_HACK_IBandSiteStreamCallback = {0xD1E7AFEA,0x6A2E,0x11D0,{0x8C,0x78,0x00,0xC0,0x4F,0xD9,0x18,0xB4}}; -#define IID_IBandSiteStreamCallback IID_HACK_IBandSiteStreamCallback - -static const GUID CLSID_HACK_StartMenu = {0x4622AD11,0xFF23,0x11D0,{0x8D,0x34,0x00,0xA0,0xC9,0x0F,0x27,0x19}}; -#define CLSID_StartMenu CLSID_HACK_StartMenu -static const GUID CLSID_HACK_PersonalStartMenu = {0x3F6953F0,0x5359,0x47FC,{0xBD,0x99,0x9F,0x2C,0xB9,0x5A,0x62,0xFD}}; -#define CLSID_PersonalStartMenu CLSID_HACK_PersonalStartMenu - -static const GUID IID_HACK_IMenuBand = {0x568804CD,0xCBD7,0x11D0,{0x98,0x16,0x00,0xC0,0x4F,0xD9,0x19,0x72}}; -#define IID_IMenuBand IID_HACK_IMenuBand - -#define WM_GETISHELLBROWSER (WM_USER+7) -BOOL WINAPI SetShellWindow(HWND); -BOOL WINAPI SetShellWindowEx(HWND, HWND); -BOOL WINAPI RegisterShellHook(HWND, DWORD); -IStream* WINAPI SHGetViewStream(LPCITEMIDLIST, DWORD, LPCTSTR, LPCTSTR, LPCTSTR); -BOOL WINAPI SHIsEmptyStream(IStream*); - -#define MRU_BINARY 0x1 -#define MRU_CACHEWRITE 0x2 - -HANDLE WINAPI CreateMRUListW(LPCREATEMRULISTW); -HANDLE WINAPI CreateMRUListA(LPCREATEMRULISTA); -INT WINAPI AddMRUData(HANDLE,LPCVOID,DWORD); -INT WINAPI FindMRUData(HANDLE,LPCVOID,DWORD,LPINT); -VOID WINAPI FreeMRUList(HANDLE); - -#define DC_NOSENDMSG 0x2000 -BOOL WINAPI DrawCaptionTempA(HWND,HDC,const RECT*,HFONT,HICON,LPCSTR,UINT); -BOOL WINAPI DrawCaptionTempW(HWND,HDC,const RECT*,HFONT,HICON,LPCWSTR,UINT); - -#ifdef UNICODE -#define CreateMRUList CreateMRUListW -#define DrawCaptionTemp DrawCaptionTempW -#else -#define CreateMRUList CreateMRUListA -#define DrawCaptionTemp DrawCaptionTempA -#endif - -EXTERN_C const GUID CLSID_RebarBandSite; - -HRESULT WINAPI SHInvokeDefaultCommand(HWND,IShellFolder*,LPCITEMIDLIST); - -HRESULT WINAPI SHPropertyBag_ReadPOINTL(IPropertyBag*,LPCWSTR,POINTL*); diff --git a/base/shell/explorer-old/CMakeLists.txt b/base/shell/explorer-old/CMakeLists.txt new file mode 100644 index 00000000000..73d0381b3d5 --- /dev/null +++ b/base/shell/explorer-old/CMakeLists.txt @@ -0,0 +1,70 @@ + +add_subdirectory(notifyhook) + +set_cpp(WITH_RTTI WITH_EXCEPTIONS WITH_STL) + +add_definitions( + -DWIN32 + -D__WINDRES__) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR}) + +list(APPEND SOURCE + shell/mainframe.cpp + shell/unixfs.cpp + shell/ntobjfs.cpp + shell/filechild.cpp + shell/shellfs.cpp + shell/fatfs.cpp + shell/pane.cpp + shell/regfs.cpp + shell/webchild.cpp + shell/entries.cpp + shell/shellbrowser.cpp + shell/winfs.cpp + dialogs/searchprogram.cpp + dialogs/settings.cpp + taskbar/taskbar.cpp + taskbar/favorites.cpp + taskbar/quicklaunch.cpp + taskbar/desktopbar.cpp + taskbar/startmenu.cpp + taskbar/traynotify.cpp + services/shellservices.cpp + desktop/desktop.cpp + explorer.cpp + utility/xs-native.cpp + utility/shellclasses.cpp + utility/dragdropimpl.cpp + utility/utility.cpp + utility/xmlstorage.cpp + utility/window.cpp + utility/shellbrowserimpl.cpp + precomp.h) # utility/shelltests.cpp + +if(ARCH STREQUAL "i386") + list(APPEND I386_SOURCE i386-stub-win32.c) +endif() + +add_executable(explorer_old + ${SOURCE} + ${I386_SOURCE} + services/startup.c + explorer.rc) + +target_link_libraries(explorer_old comsupp wine uuid) +set_module_type(explorer_old win32gui UNICODE) +add_importlibs(explorer_old advapi32 gdi32 user32 ws2_32 msimg32 comctl32 ole32 oleaut32 shell32 shlwapi notifyhook msvcrt kernel32 ntdll) +add_pch(explorer_old precomp.h SOURCE) +add_dependencies(explorer_old psdk) +add_cd_file(TARGET explorer_old DESTINATION reactos FOR all) +add_cd_file(FILE ${CMAKE_CURRENT_SOURCE_DIR}/explorer-cfg-template.xml DESTINATION reactos FOR all) + +if(NOT MSVC) + add_compile_flags("-Wno-error=narrowing") + + # GCC bug #59472 + if(LTCG) + add_target_link_flags(explorer_old "-Wno-error") + endif() +endif() diff --git a/base/shell/explorer-old/Doxyfile b/base/shell/explorer-old/Doxyfile new file mode 100644 index 00000000000..234d9f7ff42 --- /dev/null +++ b/base/shell/explorer-old/Doxyfile @@ -0,0 +1,241 @@ +# Doxyfile 1.5.4 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = "ROS Explorer" +PROJECT_NUMBER = +OUTPUT_DIRECTORY = doxy-doc +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = YES +QT_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +BUILTIN_STL_SUPPORT = NO +CPP_CLI_SUPPORT = NO +SIP_SUPPORT = NO +DISTRIBUTE_GROUP_DOC = NO +SUBGROUPING = YES +TYPEDEF_HIDES_STRUCT = NO +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +EXTRACT_ANON_NSPACES = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = NO +WARN_IF_UNDOCUMENTED = NO +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = . \ + desktop \ + dialogs \ + shell \ + taskbar \ + utility +INPUT_ENCODING = UTF-8 +FILE_PATTERNS = *.cpp \ + *.c \ + *.hpp \ + *.h +RECURSIVE = NO +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = YES +INLINE_SOURCES = YES +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +REFERENCES_LINK_SOURCE = YES +USE_HTAGS = NO +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = doxy-footer.html +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = YES +HTML_DYNAMIC_SECTIONS = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = YES +TREEVIEW_WIDTH = 240 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = YES +RTF_HYPERLINKS = YES +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = __cplusplus +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +MSCGEN_PATH = +HIDE_UNDOC_RELATIONS = NO +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = YES +CALLER_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +DOT_GRAPH_MAX_NODES = 50 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = YES +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff --git a/base/shell/explorer-old/Doxyfile-all b/base/shell/explorer-old/Doxyfile-all new file mode 100644 index 00000000000..42b61db9f85 --- /dev/null +++ b/base/shell/explorer-old/Doxyfile-all @@ -0,0 +1,1169 @@ +# Doxyfile 1.3.9.1 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = "ROS Explorer" + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = doxy-doc + +# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# 4096 sub-directories (in 2 levels) under the output directory of each output +# format and will distribute the generated files over these directories. +# Enabling this option can be useful when feeding doxygen a huge amount of source +# files, where putting all generated files in the same directory would otherwise +# cause performance problems for the file system. + +CREATE_SUBDIRS = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, +# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, +# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, +# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, +# Swedish, and Ukrainian. + +OUTPUT_LANGUAGE = English + +# This tag can be used to specify the encoding used in the generated output. +# The encoding is not always determined by the language that is chosen, +# but also whether or not the output is meant for Windows or non-Windows users. +# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES +# forces the Windows encoding (this is the default for the Windows binary), +# whereas setting the tag to NO uses a Unix-style encoding (the default for +# all platforms other than Windows). + +USE_WINDOWS_ENCODING = YES + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is used +# as the annotated text. Otherwise, the brief description is used as-is. If left +# blank, the following values are used ("$name" is automatically replaced with the +# name of the entity): "The $name class" "The $name widget" "The $name file" +# "is" "provides" "specifies" "contains" "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited +# members of a class in the documentation of that class as if those members were +# ordinary class members. Constructors, destructors and assignment operators of +# the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of +# the path mentioned in the documentation of a class, which tells +# the reader which header file to include in order to use a class. +# If left blank only the name of the header file containing the class +# definition is used. Otherwise one should specify the include paths that +# are normally passed to the compiler using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explicit @brief command for a brief description. + +JAVADOC_AUTOBRIEF = YES + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources +# only. Doxygen will then generate output that is more tailored for Java. +# For instance, namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. When set to YES local +# methods, which are defined in the implementation section but not in +# the interface are included in the documentation. +# If set to NO (the default) only methods in the interface are included. + +EXTRACT_LOCAL_METHODS = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. + +SHOW_DIRECTORIES = YES + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = NO + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = NO + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = . \ + desktop \ + dialogs \ + shell \ + taskbar \ + utility + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm + +FILE_PATTERNS = *.cpp \ + *.c \ + *.hpp \ + *.h + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories +# that are symbolic links (a Unix filesystem feature) are excluded from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. + +EXCLUDE_PATTERNS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. If FILTER_PATTERNS is specified, this tag will be +# ignored. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: +# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further +# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER +# is applied to all files. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = YES + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = YES + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = doxy-footer.html + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = YES + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = YES + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 240 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = NO + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = YES + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = YES + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_PREDEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. To prevent a macro definition from being +# undefined via #undef or recursively expanded use the := operator +# instead of the = operator. + +PREDEFINED = __cplusplus + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse the +# parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or +# super classes. Setting the tag to NO turns the diagrams off. Note that this +# option is superseded by the HAVE_DOT option below. This is only a fallback. It is +# recommended to install and use dot, since it yields more powerful graphs. + +CLASS_DIAGRAMS = YES + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = NO + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a call dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected +# functions only using the \callgraph command. + +CALL_GRAPH = YES + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_WIDTH = 1024 + +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_HEIGHT = 1024 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes that +# lay further from the root node will be omitted. Note that setting this option to +# 1 or 2 may greatly reduce the computation time needed for large code bases. Also +# note that a graph may be further truncated if the graph's image dimensions are +# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). +# If 0 is used for the depth value (the default), the graph is not depth-constrained. + +MAX_DOT_GRAPH_DEPTH = 0 + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = YES diff --git a/base/shell/explorer-old/Jamfile b/base/shell/explorer-old/Jamfile new file mode 100644 index 00000000000..afa0e4d06db --- /dev/null +++ b/base/shell/explorer-old/Jamfile @@ -0,0 +1,56 @@ +# +# Jamfile for Explorer to be used with Boost Build V2 +# + + +# import rc ; +import rc-mingw ; + + +exe explorer : + explorer.cpp + explorer_intres.rc + shell/entries.cpp + shell/filechild.cpp + shell/mainframe.cpp + shell/pane.cpp + shell/shellbrowser.cpp + shell/shellfs.cpp + shell/unixfs.cpp + shell/winfs.cpp + shell/ntobjfs.cpp + shell/regfs.cpp + shell/fatfs.cpp + shell/webchild.cpp + services/startup.c + services/shellservices.cpp + taskbar/desktopbar.cpp + taskbar/quicklaunch.cpp + taskbar/startmenu.cpp + taskbar/taskbar.cpp + taskbar/traynotify.cpp + taskbar/favorites.cpp + desktop/desktop.cpp +# utility/splitpath.c + utility/dragdropimpl.cpp + utility/shellbrowserimpl.cpp + utility/shellclasses.cpp + utility/utility.cpp + utility/window.cpp + utility/xmlstorage.cpp + dialogs/searchprogram.cpp + dialogs/settings.cpp + i386-stub-win32.c + : WIN32 _WIN32_IE=0x0600 _WIN32_WINNT=0x0501 WINVER=0x0500 + . +# only for GCC: -fexceptions -Wall -Wno-unused-value + gdi32 + ole32 + comctl32 + uuid + wsock32 + oleaut32 + msimg32 + notifyhook.dll + ; + diff --git a/base/shell/explorer-old/Make-rosshell-MinGW b/base/shell/explorer-old/Make-rosshell-MinGW new file mode 100644 index 00000000000..ebb0575c756 --- /dev/null +++ b/base/shell/explorer-old/Make-rosshell-MinGW @@ -0,0 +1,93 @@ +# +# ReactOS shell +# +# Makefile-rosshell-MinGW +# +# MinGW Makefile with precompiled header support +# + +CC = gcc +CXX = g++ +LINK = g++ + +CFLAGS = -DWIN32 -DROSSHELL -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I. +RCFLAGS = -DWIN32 -DROSSHELL -D__WINDRES__ +LFLAGS = -Wl,--subsystem,windows + +ifdef DEBUG +CFLAGS += -D_DEBUG -g +RCFLAGS += -D_DEBUG +LFLAGS += -g +else +CFLAGS += -DNDEBUG -Os #-march=pentium4 +RCFLAGS += -DNDEBUG +LFLAGS += -s +endif + +ifndef UNICODE +UNICODE = 1 +endif + +ifeq ($(UNICODE),1) +CFLAGS += -DUNICODE +# LFLAGS+= -Wl,--entry,_wWinMain@16 +RCFLAGS += -DUNICODE +endif + +CXXFLAGS = $(CFLAGS) + +EXEC_SUFFIX = .exe +RES_SUFFIX = .coff + +VPATH = shell utility taskbar desktop dialogs services + +PROGRAM = rosshell + +TARGET = $(PROGRAM)$(EXEC_SUFFIX) + +OBJECTS = \ + startup.o \ + shellclasses.o \ + utility.o \ + window.o \ + dragdropimpl.o \ + shellbrowserimpl.o \ + explorer.o \ + entries.o \ + winfs.o \ + shellfs.o \ + pane.o \ + desktop.o \ + desktopbar.o \ + taskbar.o \ + startmenu.o \ + shellservices.o \ + traynotify.o \ + quicklaunch.o \ + favorites.o \ + searchprogram.o \ + settings.o \ + i386-stub-win32.o \ + xmlstorage.o \ + xs-native.o + +LIBS = gdi32 comctl32 msimg32 ole32 uuid +DELAYIMPORTS = oleaut32 wsock32 + +all: precomp.h.gch $(TARGET) + +precomp.h.gch: *.h utility/*.h shell/*.h desktop/*.h + $(CXX) $(CFLAGS) precomp.h + +$(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) notifyhook.dll + $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS)) $(addprefix -l,$(DELAYIMPORTS)) + +$(PROGRAM)$(RES_SUFFIX): explorer_intres.rc res/*.bmp res/*.ico + windres $(RCFLAGS) -o $@ explorer_intres.rc + +notifyhook.dll: notifyhook/notifyhook.c notifyhook/notifyhook.h + $(CC) -D_WIN32_IE=0x0600 -Wall -D_NOTIFYHOOK_IMPL -Os -s notifyhook/notifyhook.c -shared -o $@ + +clean: + rm -f $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) precomp.h.gch \ + desktop/*.o dialogs/*.o shell/*.o taskbar/*.o utility/*.o diff --git a/base/shell/explorer-old/Make-rosshell.mak b/base/shell/explorer-old/Make-rosshell.mak new file mode 100644 index 00000000000..2ca1df7d125 --- /dev/null +++ b/base/shell/explorer-old/Make-rosshell.mak @@ -0,0 +1,68 @@ +# +# ReactOS shell +# +# Makefile +# + +PATH_TO_TOP := ../../.. + +TARGET_TYPE := program + +TARGET_APPTYPE := windows + +TARGET_NAME := rosshell + +TARGET_INSTALLDIR := . + +TARGET_CFLAGS := \ + -DWIN32 -D_ROS_ \ + -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 \ + -DUNICODE -fexceptions -Wall -g + +TARGET_CPPFLAGS := $(TARGET_CFLAGS) + +TARGET_RCFLAGS := -DWIN32 -D_ROS_ -D__WINDRES__ + +TARGET_SDKLIBS := \ + gdi32.a user32.a comctl32.a ole32.a oleaut32.a shell32.a \ + notifyhook.a ws2_32.a msimg32.a + +TARGET_GCCLIBS := stdc++ uuid + +TARGET_OBJECTS := \ + explorer.o \ + i386-stub-win32.o \ + desktop/desktop.o \ + dialogs/searchprogram.o \ + dialogs/settings.o \ + shell/entries.o \ + shell/shellfs.o \ + shell/pane.o \ + shell/winfs.o \ + services/startup.o \ + services/shellservices.o \ + taskbar/desktopbar.o \ + taskbar/taskbar.o \ + taskbar/startmenu.o \ + taskbar/traynotify.o \ + taskbar/quicklaunch.o \ + taskbar/favorites.o \ + utility/shellclasses.o \ + utility/utility.o \ + utility/window.o \ + utility/dragdropimpl.o \ + utility/shellbrowserimpl.o \ + utility/xmlstorage.o \ + utility/xs-native.o + +TARGET_CPPAPP := yes + +TARGET_PCH := precomp.h + +SUBDIRS := notifyhook + +DEP_OBJECTS := $(TARGET_OBJECTS) + +include $(PATH_TO_TOP)/rules.mak +include $(TOOLS_PATH)/helper.mk +include $(TOOLS_PATH)/depend.mk diff --git a/base/shell/explorer-old/Makefile-MinGW b/base/shell/explorer-old/Makefile-MinGW new file mode 100644 index 00000000000..9e597e19074 --- /dev/null +++ b/base/shell/explorer-old/Makefile-MinGW @@ -0,0 +1,97 @@ +# +# ReactOS explorer +# +# Makefile.MinGW +# + +CC = gcc +CXX = g++ +LINK = g++ + +# -D_NO_ALPHABLEND for builds without msimg32.dll dependency +CFLAGS = -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I. +RCFLAGS = -DWIN32 -D__WINDRES__ +LFLAGS = -Wl,--subsystem,windows + +ifdef DEBUG +CFLAGS += -D_DEBUG -g +RCFLAGS += -D_DEBUG +LFLAGS += -g +else +CFLAGS += -DNDEBUG -Os +RCFLAGS += -DNDEBUG +LFLAGS += -s +endif + +ifndef UNICODE +UNICODE = 1 +endif + +ifeq ($(UNICODE),1) +CFLAGS += -DUNICODE +# LFLAGS+= -Wl,--entry,_wWinMain@16 +RCFLAGS += -DUNICODE +endif + +CXXFLAGS = $(CFLAGS) + +EXEC_SUFFIX = .exe +RES_SUFFIX = .coff + +VPATH = shell utility taskbar desktop dialogs services + +PROGRAM = explorer + +TARGET = $(PROGRAM)$(EXEC_SUFFIX) + +OBJECTS = \ + startup.o \ + shellclasses.o \ + utility.o \ + window.o \ + dragdropimpl.o \ + shellbrowserimpl.o \ + shellservices.o \ + explorer.o \ + entries.o \ + winfs.o \ + unixfs.o \ + shellfs.o \ + ntobjfs.o \ + regfs.o \ + fatfs.o \ + webchild.o \ + mainframe.o \ + filechild.o \ + pane.o \ + shellbrowser.o \ + desktop.o \ + desktopbar.o \ + taskbar.o \ + startmenu.o \ + traynotify.o \ + quicklaunch.o \ + favorites.o \ + searchprogram.o \ + settings.o \ + i386-stub-win32.o \ + xmlstorage.o \ + xs-native.o + +LIBS = gdi32 comctl32 msimg32 ole32 uuid +DELAYIMPORTS = oleaut32 wsock32 + +all: $(TARGET) + +$(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) notifyhook.dll + $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS)) $(addprefix -l,$(DELAYIMPORTS)) + +$(PROGRAM)$(RES_SUFFIX): $(PROGRAM)_intres.rc res/*.bmp res/*.ico + windres $(RCFLAGS) -o $@ $(PROGRAM)_intres.rc + +notifyhook.dll: notifyhook/notifyhook.c notifyhook/notifyhook.h + $(CC) -D_WIN32_IE=0x0600 -Wall -D_NOTIFYHOOK_IMPL -Os -s notifyhook/notifyhook.c -shared -o $@ + +clean: + rm -f $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) \ + desktop/*.o dialogs/*.o shell/*.o taskbar/*.o utility/*.o diff --git a/base/shell/explorer-old/Makefile-Wine b/base/shell/explorer-old/Makefile-Wine new file mode 100644 index 00000000000..c3f9ba12857 --- /dev/null +++ b/base/shell/explorer-old/Makefile-Wine @@ -0,0 +1,402 @@ +TOPSRCDIR = ../.. +TOPOBJDIR = ../.. +SRCDIR = . + +MODULE = explorer.exe +APPMODE = gui +IMPORTS = shell32 comctl32 msimg32 ole32 user32 gdi32 kernel32 advapi32 oleaut32 +EXTRADEFS = -D__WINE__ -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -D__MINGW32__ -DCINTERFACE +EXTRA_OBJS = notifyhook.dll +EXTRALIBS = $(LIBUUID) + +C_SRCS = \ + services/startup.c \ + utility/splitpath.c + +CPP_SRCS = \ + explorer.cpp \ + desktop/desktop.cpp \ + utility/shellclasses.cpp \ + utility/utility.cpp \ + utility/window.cpp \ + utility/dragdropimpl.cpp \ + utility/shellbrowserimpl.cpp \ + utility/xmlstorage.cpp \ + utility/xmlstorage.cpp \ + utility/xs-native.cpp + shell/entries.cpp \ + shell/winfs.cpp \ + shell/unixfs.cpp \ + shell/shellfs.cpp \ + shell/mainframe.cpp \ + shell/filechild.cpp \ + shell/pane.cpp \ + shell/shellbrowser.cpp \ + shell/ntobjfs.cpp \ + shell/regfs.cpp \ + shell/fatfs.cpp \ + shell/webchild.cpp \ + services/shellservices.cpp \ + taskbar/desktopbar.cpp \ + taskbar/taskbar.cpp \ + taskbar/startmenu.cpp \ + taskbar/traynotify.cpp \ + taskbar/quicklaunch.cpp \ + taskbar/favorites.cpp \ + dialogs/searchprogram.cpp \ + dialogs/settings.cpp + +RC_SRCS = explorer_intres.rc +EXTRARCFLAGS = -D__WRC__ -D_WIN32 + + +# Global rules for building a Winelib program -*-Makefile-*- +# +# Each individual makefile should define the following variables: +# MODULE : name of the main module being built +# APPMODE : program mode (cui,gui,cuiw,guiw) +# EXTRALIBS : extra libraries to link in (optional) +# EXTRADEFS : extra symbol definitions, like -DWINELIB (optional) +# +# plus all variables required by the global Make.rules.in +# + +DEFS = -D_REENTRANT -fPIC $(EXTRADEFS) +LDDLLFLAGS = -Wl,-Bsymbolic,-z,defs +ALL_OBJS = $(OBJS) $(MODULE).dbg.o +ALL_LIBS = $(LIBWINE) $(EXTRALIBS) $(LIBPORT) $(LDFLAGS) $(LIBS) +BASEMODULE = $(MODULE:.exe=) +TESTIMPORTS = $(DELAYIMPORTS) $(IMPORTS) +RUNTESTFLAGS= -q -P wine -T $(TOPOBJDIR) $(PLTESTPROGRAM:%=-p %) + + +# Global rules shared by all makefiles -*-Makefile-*- +# +# Each individual makefile must define the following variables: +# TOPSRCDIR : top-level source directory +# TOPOBJDIR : top-level object directory +# SRCDIR : source directory for this module +# MODULE : name of the module being built +# +# Each individual makefile may define the following additional variables: +# C_SRCS : C sources for the module +# CPP_SRCS : C++ sources for the module +# C_SRCS16 : 16-bit C sources for the module +# RC_SRCS : resource source files +# EXTRA_SRCS : extra source files for make depend +# EXTRA_OBJS : extra object files +# IMPORTS : dlls to import +# DELAYIMPORTS : dlls to import in delayed mode +# SUBDIRS : subdirectories that contain a Makefile +# EXTRASUBDIRS : subdirectories that do not contain a Makefile +# INSTALLSUBDIRS : subdirectories to run make install/uninstall into + +# First some useful definitions + +SHELL = /bin/sh +CC = gcc +CXX = g++ +CPP = gcc -E +#CFLAGS = -g -O2 +CFLAGS = -g +CPPFLAGS = +LIBS = -lm -lstdc++ +YACC = bison -y +LEX = flex +LEXLIB = -lfl +EXEEXT = +OBJEXT = o +LIBEXT = so +DLLEXT = .so +IMPLIBEXT = def +LDSHARED = $(CC) -shared $(SONAME:%=-Wl,-soname,%) +DLLTOOL = false +DLLWRAP = +AR = ar rc +RANLIB = ranlib +STRIP = strip +WINDRES = mingw32-windres +LN = ln +LN_S = ln -s +TOOLSDIR = $(TOPOBJDIR) +AS = as +LD = ld +LDFLAGS = +LDCOMBINE = $(LD) -r +RM = rm -f +MV = mv +LINT = +LINTFLAGS = +INCLUDES = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include $(EXTRAINCL) +EXTRACFLAGS = -mpreferred-stack-boundary=2 -fno-strict-aliasing -gstabs+ -Wpointer-arith +ALLCFLAGS = $(INCLUDES) $(DEFS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) +ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS) +MKINSTALLDIRS= $(TOPSRCDIR)/tools/mkinstalldirs -m 755 +WINAPI_CHECK = $(TOPSRCDIR)/tools/winapi_check/winapi_check +WINEWRAPPER = $(TOPSRCDIR)/tools/winewrapper +C2MAN = $(TOPSRCDIR)/tools/c2man.pl +RUNTEST = $(TOPSRCDIR)/tools/runtest +WINEBUILD = $(TOOLSDIR)/tools/winebuild/winebuild +MAKEDEP = $(TOOLSDIR)/tools/makedep +WRC = $(TOOLSDIR)/tools/wrc/wrc +WMC = $(TOOLSDIR)/tools/wmc/wmc +WIDL = $(TOOLSDIR)/tools/widl/widl +RC = $(WRC) +RC16 = $(WRC) +RCFLAGS = --nostdinc $(INCLUDES) $(EXTRARCFLAGS) +RC16FLAGS = -O res16 $(RCFLAGS) +LDPATH = LD_LIBRARY_PATH="$(TOOLSDIR)/libs/unicode:$$LD_LIBRARY_PATH" +DLLDIR = $(TOPOBJDIR)/dlls +LIBDIR = $(TOPOBJDIR)/libs +LIBPORT = -L$(TOPOBJDIR)/libs/port -lwine_port +LIBUNICODE = -L$(TOPOBJDIR)/libs/unicode -lwine_unicode +LIBUUID = -L$(TOPOBJDIR)/libs/uuid -lwine_uuid +LIBWINE = -L$(TOPOBJDIR)/libs/wine -lwine + + + +# Installation infos + +INSTALL = /usr/bin/install -c $(INSTALL_FLAGS) +INSTALL_PROGRAM = ${INSTALL} $(INSTALL_PROGRAM_FLAGS) +INSTALL_SCRIPT = ${INSTALL} $(INSTALL_SCRIPT_FLAGS) +INSTALL_DATA = ${INSTALL} -m 644 $(INSTALL_DATA_FLAGS) +prefix = /usr/local +exec_prefix = ${prefix} +bindir = ${exec_prefix}/bin +libdir = ${exec_prefix}/lib +datadir = ${prefix}/share +infodir = ${prefix}/info +mandir = ${prefix}/man +sysconfdir = ${prefix}/etc +includedir = ${prefix}/include/wine +dlldir = ${exec_prefix}/lib/wine +prog_manext = 1 +api_manext = 3w +conf_manext = 5 +CLEAN_FILES = *.o *.a *.so *.ln *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej \ + *.flc *.spec.c *.spec.def *.dbg.c y.tab.c y.tab.h lex.yy.c core */*.o + +OBJS = $(C_SRCS:.c=.o) $(CPP_SRCS:.cpp=.o) $(EXTRA_OBJS) + +RCOBJS = $(RC_SRCS:.rc=.res.o) +LINTS = $(C_SRCS:.c=.ln) $(CPP_SRCS:.cpp=.ln) + +# Implicit rules + +.SUFFIXES: .mc .rc .mc.rc .res .res.o .coff .spec .spec.c .spec.def .ok + +.c.o: + $(CC) -c $(ALLCFLAGS) -o $@ $< + +.cpp.o: + $(CXX) -c $(ALLCFLAGS) -o $@ $< + +.s.o: + $(AS) -o $@ $< + +.mc.mc.rc: + $(LDPATH) $(WMC) -i -U -H /dev/null -o $@ $< + +.rc.res: + $(LDPATH) $(RC) $(RCFLAGS) -fo$@ $< + +.res.res.o: + $(WINDRES) -i $< -o $@ + +.rc.coff: + $(WINDRES) -i $< -o $@ + +.spec.spec.c: + $(WINEBUILD) $(DEFS) -o $@ --main-module $(MODULE) --spec $< + +.spec.spec.def: + $(WINEBUILD) $(DEFS) -o $@ --def $< + +.c.ln: + $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 ) + +.c.ok: + $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@ + +# 'all' target first in case the enclosing Makefile didn't define any target + +all: Makefile + +filter: + @$(TOPSRCDIR)/tools/winapi/make_filter --make $(MAKE) all + +.PHONY: all filter + +# Rule for main module debug channels + +$(MODULE).dbg.c: $(C_SRCS) $(CPP_SRCS) $(C_SRCS16) $(WINEBUILD) + $(WINEBUILD) $(DEFS) -o $@ --debug -C$(SRCDIR) $(C_SRCS) $(CPP_SRCS) $(C_SRCS16) + +# Rule to rebuild the tools + +$(MAKEDEP): + cd $(TOOLSDIR)/tools && $(MAKE) `basename $@` + +# Rules for makefile + +Makefile: Makefile.in $(TOPSRCDIR)/configure + @echo Makefile is older than $?, please rerun $(TOPSRCDIR)/configure + @exit 1 + +# Rule for linting + +$(MODULE).ln : $(LINTS) + if test "$(LINTS)" ; \ + then \ + $(LINT) $(ALLLINTFLAGS) -o$(MODULE) $(LINTS) ; \ + $(MV) llib-l$(MODULE).ln $(MODULE).ln ; \ + else \ + $(LINT) $(ALLLINTFLAGS) -C$(MODULE) /dev/null ; \ + fi + +lint:: $(MODULE).ln + +# Rules for Windows API checking + +winapi_check:: dummy + $(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) . + +.PHONY: winapi_check + +# Rules for dependencies + +$(SUBDIRS:%=%/__depend__): $(MAKEDEP) dummy + cd `dirname $@` && $(MAKE) depend + +depend: $(MAKEDEP) $(SUBDIRS:%=%/__depend__) + $(MAKEDEP) $(INCLUDES) -C$(SRCDIR) $(C_SRCS) $(CPP_SRCS) $(C_SRCS16) $(RC_SRCS) $(RC_SRCS16) $(MC_SRCS) $(IDL_SRCS) $(EXTRA_SRCS) + +.PHONY: depend $(SUBDIRS:%=%/__depend__) + +# Rules for cleaning + +$(SUBDIRS:%=%/__clean__): dummy + cd `dirname $@` && $(MAKE) clean + +$(SUBDIRS:%=%/__testclean__): dummy + cd `dirname $@` && $(MAKE) testclean + +$(EXTRASUBDIRS:%=%/__clean__): dummy + -cd `dirname $@` && $(RM) $(CLEAN_FILES) + +testclean:: $(SUBDIRS:%=%/__testclean__) + +clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__) + $(RM) $(CLEAN_FILES) $(RC_SRCS:.rc=.res) $(RC_SRCS16:.rc=.res) $(MC_SRCS:.mc=.mc.rc) $(PROGRAMS) + +.PHONY: clean testclean $(SUBDIRS:%=%/__clean__) $(SUBDIRS:%=%/__testclean__) $(EXTRASUBDIRS:%=%/__clean__) + +# Rules for installing + +$(SUBDIRS:%=%/__install__): dummy + cd `dirname $@` && $(MAKE) install + +$(SUBDIRS:%=%/__install-lib__): dummy + cd `dirname $@` && $(MAKE) install-lib + +$(SUBDIRS:%=%/__install-dev__): dummy + cd `dirname $@` && $(MAKE) install-dev + +$(SUBDIRS:%=%/__uninstall__): dummy + cd `dirname $@` && $(MAKE) uninstall + +install:: $(INSTALLSUBDIRS:%=%/__install__) + +uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) + +.PHONY: install install-lib install-dev uninstall \ + $(SUBDIRS:%=%/__install__) $(SUBDIRS:%=%/__uninstall__) \ + $(SUBDIRS:%=%/__install-lib__) $(SUBDIRS:%=%/__install-dev__) + +# Rules for checking that no imports are missing + +$(SUBDIRS:%=%/__checklink__): dummy + @cd `dirname $@` && $(MAKE) checklink + +.PHONY: checklink $(SUBDIRS:%=%/__checklink__) + +# Rules for testing + +$(SUBDIRS:%=%/__test__): dummy + @cd `dirname $@` && $(MAKE) test + +$(SUBDIRS:%=%/__crosstest__): dummy + @cd `dirname $@` && $(MAKE) crosstest + +.PHONY: check test crosstest $(SUBDIRS:%=%/__test__) $(SUBDIRS:%=%/__crosstest__) + +# Misc. rules + +$(RC_SRCS:.rc=.res) $(RC_SRCS16:.rc=.res): $(WRC) + +$(MC_SRCS:.mc=.mc.rc): $(WMC) + +$(IDL_SRCS:.idl=.h): $(WIDL) + +$(SUBDIRS): dummy + @cd $@ && $(MAKE) + +dummy: + +.PHONY: dummy $(SUBDIRS) + +# End of global rules + +all: $(MODULE)$(DLLEXT) $(BASEMODULE)$(EXEEXT) + +# Rule for main module spec file + +$(MODULE).spec.c: $(RC_SRCS:.rc=.res) $(ALL_OBJS) $(WINEBUILD) + $(WINEBUILD) $(DEFS) -o $@ --exe $(MODULE) $(APPMODE:%=--exe-mode %) $(RC_SRCS:.rc=.res) $(ALL_OBJS) -L$(DLLDIR) $(DELAYIMPORTS:%=-d%) $(IMPORTS:%=-l%) + +# Rules for .so main module + +$(MODULE).so: $(MODULE).spec.o $(ALL_OBJS) Makefile.in + $(LDSHARED) $(LDDLLFLAGS) $(MODULE).spec.o $(ALL_OBJS) -o $@ $(ALL_LIBS) -lc + +$(BASEMODULE): $(WINEWRAPPER) + $(RM) $@ && $(LN_S) $(WINEWRAPPER) $@ + +# Rules for .exe main module + +$(MODULE): $(ALL_OBJS) $(RCOBJS) Makefile.in + $(CC) $(ALL_OBJS) $(RCOBJS) -o $@ $(DELAYIMPORTS:%=-l%) $(IMPORTS:%=-l%) $(ALL_LIBS) + +# Rules for testing + +check test:: $(SUBDIRS:%=%/__test__) + +$(TESTRESULTS): $(MODULE)$(DLLEXT) + +# Rules for installation + +.PHONY: install_prog install_prog.so uninstall_prog uninstall_prog.so + +install_prog.so: $(MODULE).so dummy + $(MKINSTALLDIRS) $(dlldir) + $(INSTALL_PROGRAM) $(MODULE).so $(dlldir)/$(MODULE).so + +install_prog: $(MODULE) dummy + $(MKINSTALLDIRS) $(bindir) + $(INSTALL_PROGRAM) $(MODULE) $(bindir)/$(MODULE) + +uninstall_prog.so: dummy + $(RM) $(dlldir)/$(MODULE).so + +uninstall_prog: dummy + $(RM) $(bindir)/$(MODULE) + +install:: install_prog$(DLLEXT) + +uninstall:: uninstall_prog$(DLLEXT) + +clean:: + $(RM) $(BASEMODULE) $(MODULE) + +### Dependencies: diff --git a/base/shell/explorer-old/Makefile-precomp b/base/shell/explorer-old/Makefile-precomp new file mode 100644 index 00000000000..c9ae6e42645 --- /dev/null +++ b/base/shell/explorer-old/Makefile-precomp @@ -0,0 +1,101 @@ +# +# ReactOS explorer +# +# Makefile-precomp +# +# MinGW Makefile with precompiled header support +# + +CC = gcc +CXX = g++ +LINK = g++ + +CFLAGS = -DWIN32 -D_WIN32_IE=0x0600 -D_WIN32_WINNT=0x0501 -DWINVER=0x0500 -fexceptions -Wall -I. +RCFLAGS = -DWIN32 -D__WINDRES__ +LFLAGS = -Wl,--subsystem,windows + +ifdef DEBUG +CFLAGS += -D_DEBUG -g +RCFLAGS += -D_DEBUG +LFLAGS += -g +else +CFLAGS += -DNDEBUG -Os #-march=pentium4 +RCFLAGS += -DNDEBUG +LFLAGS += -s +endif + +ifndef UNICODE +UNICODE = 1 +endif + +ifeq ($(UNICODE),1) +CFLAGS += -DUNICODE +# LFLAGS+= -Wl,--entry,_wWinMain@16 +RCFLAGS += -DUNICODE +endif + +CXXFLAGS = $(CFLAGS) + +EXEC_SUFFIX = .exe +RES_SUFFIX = .coff + +VPATH = shell utility taskbar desktop dialogs services + +PROGRAM = explorer + +TARGET = $(PROGRAM)$(EXEC_SUFFIX) + +OBJECTS = \ + startup.o \ + shellclasses.o \ + utility.o \ + window.o \ + dragdropimpl.o \ + shellbrowserimpl.o \ + shellservices.o \ + explorer.o \ + entries.o \ + winfs.o \ + unixfs.o \ + shellfs.o \ + ntobjfs.o \ + regfs.o \ + fatfs.o \ + webchild.o \ + mainframe.o \ + filechild.o \ + pane.o \ + shellbrowser.o \ + desktop.o \ + desktopbar.o \ + taskbar.o \ + startmenu.o \ + traynotify.o \ + quicklaunch.o \ + favorites.o \ + searchprogram.o \ + settings.o \ + i386-stub-win32.o \ + xmlstorage.o \ + xs-native.o + +LIBS = gdi32 comctl32 msimg32 ole32 uuid +DELAYIMPORTS = oleaut32 wsock32 + +all: precomp.h.gch $(TARGET) + +precomp.h.gch: *.h utility/*.h shell/*.h desktop/*.h + $(CXX) $(CFLAGS) precomp.h + +$(TARGET): $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) notifyhook.dll + $(LINK) $(LFLAGS) -o $@ $^ $(addprefix -l,$(LIBS)) $(addprefix -l,$(DELAYIMPORTS)) + +$(PROGRAM)$(RES_SUFFIX): explorer_intres.rc res/*.bmp res/*.ico + windres $(RCFLAGS) -o $@ explorer_intres.rc + +notifyhook.dll: notifyhook/notifyhook.c notifyhook/notifyhook.h + $(CC) -D_WIN32_IE=0x0600 -Wall -D_NOTIFYHOOK_IMPL -Os -s notifyhook/notifyhook.c -shared -o $@ + +clean: + rm -f $(TARGET) $(OBJECTS) $(PROGRAM)$(RES_SUFFIX) precomp.h.gch \ + desktop/*.o dialogs/*.o shell/*.o taskbar/*.o utility/*.o diff --git a/base/shell/explorer-old/desktop/desktop.cpp b/base/shell/explorer-old/desktop/desktop.cpp new file mode 100644 index 00000000000..6bb12d2d723 --- /dev/null +++ b/base/shell/explorer-old/desktop/desktop.cpp @@ -0,0 +1,897 @@ +/* + * Copyright 2003, 2004, 2005 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // desktop.cpp + // + // Martin Fuchs, 09.08.2003 + // + + +#include + +#include "../taskbar/desktopbar.h" +#include "../taskbar/taskbar.h" // for PM_GET_LAST_ACTIVE + + +static BOOL (WINAPI*SetShellWindow)(HWND); +static BOOL (WINAPI*SetShellWindowEx)(HWND, HWND); + + +#ifdef _USE_HDESK + +Desktop::Desktop(HDESK hdesktop/*, HWINSTA hwinsta*/) + : _hdesktop(hdesktop) +// _hwinsta(hwinsta) +{ +} + +Desktop::~Desktop() +{ + if (_hdesktop) + CloseDesktop(_hdesktop); + +// if (_hwinsta) +// CloseWindowStation(_hwinsta); + + if (_pThread.get()) { + _pThread->Stop(); + _pThread.release(); + } +} + +#endif + + +Desktops::Desktops() + : _current_desktop(0) +{ +} + +Desktops::~Desktops() +{ + // show all hidden windows + for(iterator it_dsk=begin(); it_dsk!=end(); ++it_dsk) + for(WindowSet::iterator it=it_dsk->_windows.begin(); it!=it_dsk->_windows.end(); ++it) + ShowWindowAsync(*it, SW_SHOW); +} + +void Desktops::init() +{ + resize(DESKTOP_COUNT); + +#ifdef _USE_HDESK + DesktopPtr& desktop = (*this)[0]; + + desktop = DesktopPtr(new Desktop(OpenInputDesktop(0, FALSE, DESKTOP_SWITCHDESKTOP))); +#endif +} + +#ifdef _USE_HDESK + +void Desktops::SwitchToDesktop(int idx) +{ + if (_current_desktop == idx) + return; + + DesktopPtr& desktop = (*this)[idx]; + + DesktopThread* pThread = NULL; + + if (desktop.get()) { + if (desktop->_hdesktop) + if (!SwitchDesktop(desktop->_hdesktop)) + return; + } else { + FmtString desktop_name(TEXT("Desktop %d"), idx); + + SECURITY_ATTRIBUTES saAttr = {sizeof(SECURITY_ATTRIBUTES), 0, TRUE}; +/* + HWINSTA hwinsta = CreateWindowStation(TEXT("ExplorerWinStation"), 0, GENERIC_ALL, &saAttr); + + if (!SetProcessWindowStation(hwinsta)) + return; +*/ + HDESK hdesktop = CreateDesktop(desktop_name, NULL, NULL, 0, GENERIC_ALL, &saAttr); + if (!hdesktop) + return; + + desktop = DesktopPtr(new Desktop(hdesktop/*, hwinsta*/)); + + pThread = new DesktopThread(*desktop); + } + + _current_desktop = idx; + + if (pThread) { + desktop->_pThread = DesktopThreadPtr(pThread); + pThread->Start(); + } +} + +int DesktopThread::Run() +{ + if (!SetThreadDesktop(_desktop._hdesktop)) + return -1; + + HDESK hDesk_old = OpenInputDesktop(0, FALSE, DESKTOP_SWITCHDESKTOP); + + if (!SwitchDesktop(_desktop._hdesktop)) + return -1; + + if (!_desktop._hwndDesktop) + _desktop._hwndDesktop = DesktopWindow::Create(); + + int ret = Window::MessageLoop(); + + SwitchDesktop(hDesk_old); + + return ret; +} + +#else // _USE_HDESK + +static BOOL CALLBACK SwitchDesktopEnumFct(HWND hwnd, LPARAM lparam) +{ + WindowSet& windows = *(WindowSet*)lparam; + + if (hwnd!=g_Globals._hwndDesktopBar && hwnd!=g_Globals._hwndDesktop) + if (IsWindowVisible(hwnd)) + windows.insert(hwnd); + + return TRUE; +} + +void Desktops::SwitchToDesktop(int idx) +{ + if (_current_desktop == idx) + return; + + Desktop& old_desktop = (*this)[_current_desktop]; + WindowSet& windows = old_desktop._windows; + Desktop& desktop = (*this)[idx]; + + windows.clear(); + + // collect window handles of all other desktops + WindowSet other_wnds; + for(const_iterator it1=begin(); it1!=end(); ++it1) + for(WindowSet::const_iterator it2=it1->_windows.begin(); it2!=it1->_windows.end(); ++it2) + other_wnds.insert(*it2); + + // save currently visible application windows + EnumWindows(SwitchDesktopEnumFct, (LPARAM)&windows); + + old_desktop._hwndForeground = (HWND)SendMessage(g_Globals._hwndDesktopBar, PM_GET_LAST_ACTIVE, 0, 0); + + // hide all windows of the previous desktop + for(WindowSet::iterator it=windows.begin(); it!=windows.end(); ++it) + ShowWindowAsync(*it, SW_HIDE); + + // show all windows of the new desktop + for(WindowSet::iterator it=desktop._windows.begin(); it!=desktop._windows.end(); ++it) + ShowWindowAsync(*it, SW_SHOW); + + if (desktop._hwndForeground) + SetForegroundWindow(desktop._hwndForeground); + + // remove the window handles of the other desktops from what we found on the previous desktop + for(WindowSet::const_iterator it=other_wnds.begin(); it!=other_wnds.end(); ++it) + windows.erase(*it); + + // We don't need to store the window handles of what's now visible the now current desktop. + desktop._windows.clear(); + + _current_desktop = idx; +} + +#endif // _USE_HDESK + + +static BOOL CALLBACK MinimizeDesktopEnumFct(HWND hwnd, LPARAM lparam) +{ + list& minimized = *(list*)lparam; + + if (hwnd!=g_Globals._hwndDesktopBar && hwnd!=g_Globals._hwndDesktop) + if (IsWindowVisible(hwnd) && !IsIconic(hwnd)) { + RECT rect; + + if (GetWindowRect(hwnd,&rect)) + if (rect.right>0 && rect.bottom>0 && + rect.right>rect.left && rect.bottom>rect.top) { + minimized.push_back(MinimizeStruct(hwnd, GetWindowStyle(hwnd))); + ShowWindowAsync(hwnd, SW_MINIMIZE); + } + } + + return TRUE; +} + + /// minimize/restore all windows on the desktop +void Desktops::ToggleMinimize() +{ + list& minimized = (*this)[_current_desktop]._minimized; + + if (minimized.empty()) { + EnumWindows(MinimizeDesktopEnumFct, (LPARAM)&minimized); + } else { + const list& cminimized = minimized; + for(list::const_reverse_iterator it=cminimized.rbegin(); + it!=cminimized.rend(); ++it) { + ShowWindowAsync(it->first, it->second&WS_MAXIMIZE? SW_MAXIMIZE: SW_RESTORE); + Sleep(20); + } + + minimized.clear(); + } +} + + +BOOL IsAnyDesktopRunning() +{ + HINSTANCE hUser32 = GetModuleHandle(TEXT("user32")); + + SetShellWindow = (BOOL(WINAPI*)(HWND)) GetProcAddress(hUser32, "SetShellWindow"); + SetShellWindowEx = (BOOL(WINAPI*)(HWND,HWND)) GetProcAddress(hUser32, "SetShellWindowEx"); + + return GetShellWindow() != 0; +} + + +BackgroundWindow::BackgroundWindow(HWND hwnd) + : super(hwnd) +{ + // set background brush for the short moment of displaying the + // background color while moving foreground windows + SetClassLongPtr(hwnd, GCL_HBRBACKGROUND, COLOR_BACKGROUND+1); + + _display_version = RegGetDWORDValue(HKEY_CURRENT_USER, TEXT("Control Panel\\Desktop"), TEXT("PaintDesktopVersion"), 1); +} + +LRESULT BackgroundWindow::WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam) +{ + switch(nmsg) { + case WM_ERASEBKGND: + DrawDesktopBkgnd((HDC)wparam); + return TRUE; + + case WM_MBUTTONDBLCLK: + /* Imagelist icons are missing if MainFrame::Create() is called directly from here! + explorer_show_frame(SW_SHOWNORMAL); */ + PostMessage(g_Globals._hwndDesktop, nmsg, wparam, lparam); + break; + + case PM_DISPLAY_VERSION: + if (lparam || wparam) { + DWORD or_mask = wparam; + DWORD reset_mask = LOWORD(lparam); + DWORD xor_mask = HIWORD(lparam); + _display_version = ((_display_version&~reset_mask) | or_mask) ^ xor_mask; + RegSetDWORDValue(HKEY_CURRENT_USER, TEXT("Control Panel\\Desktop"), TEXT("PaintDesktopVersion"), _display_version); + ///@todo Changing the PaintDesktopVersion-Flag needs a restart of the shell -> display a message box + InvalidateRect(_hwnd, NULL, TRUE); + } + return _display_version; + + default: + return super::WndProc(nmsg, wparam, lparam); + } + + return 0; +} + +void BackgroundWindow::DrawDesktopBkgnd(HDC hdc) +{ + PaintDesktop(hdc); + +/* special solid background + HBRUSH bkgndBrush = CreateSolidBrush(RGB(0,32,160)); // dark blue + FillRect(hdc, &rect, bkgndBrush); + DeleteBrush(bkgndBrush); +*/ +} + + +DesktopWindow::DesktopWindow(HWND hwnd) + : super(hwnd) +{ + _pShellView = NULL; +} + +DesktopWindow::~DesktopWindow() +{ + if (_pShellView) + _pShellView->Release(); +} + + +HWND DesktopWindow::Create() +{ + static IconWindowClass wcDesktop(TEXT("Progman"), IDI_REACTOS, CS_DBLCLKS); + /* (disabled because of small ugly temporary artefacts when hiding start menu) + wcDesktop.hbrBackground = (HBRUSH)(COLOR_BACKGROUND+1); */ + + int width = GetSystemMetrics(SM_CXSCREEN); + int height = GetSystemMetrics(SM_CYSCREEN); + + HWND hwndDesktop = Window::Create(WINDOW_CREATOR(DesktopWindow), + WS_EX_TOOLWINDOW, wcDesktop, TEXT("Program Manager"), WS_POPUP|WS_VISIBLE, //|WS_CLIPCHILDREN for SDI frames + 0, 0, width, height, 0); + + // work around to display desktop bar in Wine + ShowWindow(GET_WINDOW(DesktopWindow, hwndDesktop)->_desktopBar, SW_SHOW); + + // work around for Windows NT, Win 98, ... + // Without this the desktop has mysteriously only a size of 800x600 pixels. + MoveWindow(hwndDesktop, 0, 0, width, height, TRUE); + + return hwndDesktop; +} + + +LRESULT DesktopWindow::Init(LPCREATESTRUCT pcs) +{ + if (super::Init(pcs)) + return 1; + + HRESULT hr = GetDesktopFolder()->CreateViewObject(_hwnd, IID_IShellView, (void**)&_pShellView); +/* also possible: + SFV_CREATE sfv_create; + + sfv_create.cbSize = sizeof(SFV_CREATE); + sfv_create.pshf = GetDesktopFolder(); + sfv_create.psvOuter = NULL; + sfv_create.psfvcb = NULL; + + HRESULT hr = SHCreateShellFolderView(&sfv_create, &_pShellView); +*/ + HWND hWndView = 0; + + if (SUCCEEDED(hr)) { + FOLDERSETTINGS fs; + + fs.ViewMode = FVM_ICON; + fs.fFlags = FWF_DESKTOP|FWF_NOCLIENTEDGE|FWF_NOSCROLL|FWF_BESTFITWINDOW|FWF_SNAPTOGRID; //|FWF_AUTOARRANGE; + + ClientRect rect(_hwnd); + + hr = _pShellView->CreateViewWindow(NULL, &fs, this, &rect, &hWndView); + + ///@todo use IShellBrowser::GetViewStateStream() to restore previous view state -> see SHOpenRegStream() + + if (SUCCEEDED(hr)) { + g_Globals._hwndShellView = hWndView; + + // subclass shellview window + new DesktopShellView(hWndView, _pShellView); + + _pShellView->UIActivate(SVUIA_ACTIVATE_FOCUS); + + /* + IShellView2* pShellView2; + + hr = _pShellView->QueryInterface(IID_IShellView2, (void**)&pShellView2); + + SV2CVW2_PARAMS params; + params.cbSize = sizeof(SV2CVW2_PARAMS); + params.psvPrev = _pShellView; + params.pfs = &fs; + params.psbOwner = this; + params.prcView = ▭ + params.pvid = params.pvid;//@@ + + hr = pShellView2->CreateViewWindow2(¶ms); + params.pvid; + */ + + /* + IFolderView* pFolderView; + + hr = _pShellView->QueryInterface(IID_IFolderView, (void**)&pFolderView); + + if (SUCCEEDED(hr)) { + hr = pFolderView->GetAutoArrange(); + hr = pFolderView->SetCurrentViewMode(FVM_DETAILS); + } + */ + } + } + + if (hWndView && SetShellWindowEx) + SetShellWindowEx(_hwnd, hWndView); + else if (SetShellWindow) + SetShellWindow(_hwnd); + + // create the explorer bar + _desktopBar = DesktopBar::Create(); + g_Globals._hwndDesktopBar = _desktopBar; + + return 0; +} + + +LRESULT DesktopWindow::WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam) +{ + switch(nmsg) { + case WM_LBUTTONDBLCLK: + case WM_RBUTTONDBLCLK: + case WM_MBUTTONDBLCLK: + explorer_show_frame(SW_SHOWNORMAL); + break; + + case WM_DISPLAYCHANGE: + MoveWindow(_hwnd, 0, 0, LOWORD(lparam), HIWORD(lparam), TRUE); + MoveWindow(g_Globals._hwndShellView, 0, 0, LOWORD(lparam), HIWORD(lparam), TRUE); + MoveWindow(_desktopBar, 0, HIWORD(lparam) - DESKTOPBARBAR_HEIGHT, LOWORD(lparam), DESKTOPBARBAR_HEIGHT, TRUE); + break; + + case WM_GETISHELLBROWSER: + return (LRESULT)static_cast(this); + + case WM_DESTROY: + + ///@todo use IShellBrowser::GetViewStateStream() and _pShellView->SaveViewState() to store view state + + if (SetShellWindow) + SetShellWindow(0); + break; + + case WM_CLOSE: + ShowExitWindowsDialog(_hwnd); + break; + + case WM_SYSCOMMAND: + if (wparam == SC_TASKLIST) { + if (_desktopBar) + SendMessage(_desktopBar, nmsg, wparam, lparam); + } + goto def; + + case WM_SYSCOLORCHANGE: + // redraw background window - it's done by system + //InvalidateRect(g_Globals._hwndShellView, NULL, TRUE); + + // forward message to common controls + SendMessage(g_Globals._hwndShellView, WM_SYSCOLORCHANGE, 0, 0); + SendMessage(_desktopBar, WM_SYSCOLORCHANGE, 0, 0); + break; + + case WM_SETTINGCHANGE: + SendMessage(g_Globals._hwndShellView, nmsg, wparam, lparam); + break; + + case PM_TRANSLATE_MSG: + { + /* TranslateAccelerator is called for all explorer windows that are open + so we have to decide if this is the correct recipient */ + LPMSG lpmsg = (LPMSG)lparam; + HWND hwnd = lpmsg->hwnd; + + while(hwnd) + { + if(hwnd == _hwnd) + break; + + hwnd = GetParent(hwnd); + } + + if (hwnd) + return _pShellView->TranslateAccelerator(lpmsg) == S_OK; + return false; + } + + default: def: + return super::WndProc(nmsg, wparam, lparam); + } + + return 0; +} + + +HRESULT DesktopWindow::OnDefaultCommand(LPIDA pida) +{ +#ifndef ROSSHELL // in shell-only-mode fall through and let shell32 handle the command + if (MainFrameBase::OpenShellFolders(pida, 0)) + return S_OK; +#endif + + return E_NOTIMPL; +} + + +DesktopShellView::DesktopShellView(HWND hwnd, IShellView* pShellView) + : super(hwnd), + _pShellView(pShellView) +{ + _hwndListView = GetNextWindow(hwnd, GW_CHILD); + + // work around for Windows NT, Win 98, ... + // Without this the desktop has mysteriously only a size of 800x600 pixels. + ClientRect rect(hwnd); + MoveWindow(_hwndListView, 0, 0, rect.right, rect.bottom, TRUE); + + // subclass background window + new BackgroundWindow(_hwndListView); + + _icon_algo = 0; // default icon arrangement + + InitDragDrop(); +} + + +DesktopShellView::~DesktopShellView() +{ + if (FAILED(RevokeDragDrop(_hwnd))) + assert(0); +} + + +bool DesktopShellView::InitDragDrop() +{ + CONTEXT("DesktopShellView::InitDragDrop()"); + + DesktopDropTarget * pDropTarget = new DesktopDropTarget(_hwnd); + + if (!pDropTarget) + return false; + + pDropTarget->AddRef(); + + if (FAILED(RegisterDragDrop(_hwnd, pDropTarget))) { + pDropTarget->Release(); + return false; + } + + FORMATETC ftetc; + + ftetc.dwAspect = DVASPECT_CONTENT; + ftetc.lindex = -1; + ftetc.tymed = TYMED_HGLOBAL; + ftetc.cfFormat = CF_HDROP; + + pDropTarget->AddSuportedFormat(ftetc); + pDropTarget->Release(); + + return true; +} + +LRESULT DesktopShellView::WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam) +{ + switch(nmsg) { + case WM_CONTEXTMENU: + if (!DoContextMenu(GET_X_LPARAM(lparam), GET_Y_LPARAM(lparam))) + DoDesktopContextMenu(GET_X_LPARAM(lparam), GET_Y_LPARAM(lparam)); + break; + + case PM_SET_ICON_ALGORITHM: + _icon_algo = wparam; + PositionIcons(); + break; + + case PM_GET_ICON_ALGORITHM: + return _icon_algo; + + case PM_DISPLAY_VERSION: + return SendMessage(_hwndListView, nmsg, wparam, lparam); + + default: + return super::WndProc(nmsg, wparam, lparam); + } + + return 0; +} + +int DesktopShellView::Command(int id, int code) +{ + return super::Command(id, code); +} + +int DesktopShellView::Notify(int id, NMHDR* pnmh) +{ + return super::Notify(id, pnmh); +} + +bool DesktopShellView::DoContextMenu(int x, int y) +{ + IDataObject* selection; + + HRESULT hr = _pShellView->GetItemObject(SVGIO_SELECTION, IID_IDataObject, (void**)&selection); + if (FAILED(hr)) + return false; + + PIDList pidList; + + hr = pidList.GetData(selection); + if (FAILED(hr)) { + selection->Release(); + //CHECKERROR(hr); + return false; + } + + LPIDA pida = pidList; + if (!pida->cidl) { + selection->Release(); + return false; + } + + LPCITEMIDLIST parent_pidl = (LPCITEMIDLIST) ((LPBYTE)pida+pida->aoffset[0]); + + LPCITEMIDLIST* apidl = (LPCITEMIDLIST*) alloca(pida->cidl*sizeof(LPCITEMIDLIST)); + + for(int i=pida->cidl; i>0; --i) + apidl[i-1] = (LPCITEMIDLIST) ((LPBYTE)pida+pida->aoffset[i]); + + hr = ShellFolderContextMenu(ShellFolder(parent_pidl), _hwnd, pida->cidl, apidl, x, y, _cm_ifs); + + selection->Release(); + + if (SUCCEEDED(hr)) + refresh(); + else + CHECKERROR(hr); + + return true; +} + +HRESULT DesktopShellView::DoDesktopContextMenu(int x, int y) +{ + IContextMenu* pcm; + + HRESULT hr = DesktopFolder()->GetUIObjectOf(_hwnd, 0, NULL, IID_IContextMenu, NULL, (LPVOID*)&pcm); + + if (SUCCEEDED(hr)) { + pcm = _cm_ifs.query_interfaces(pcm); + + HMENU hmenu = CreatePopupMenu(); + + if (hmenu) { + hr = pcm->QueryContextMenu(hmenu, 0, FCIDM_SHVIEWFIRST, FCIDM_SHVIEWLAST-1, CMF_NORMAL|CMF_EXPLORE); + + if (SUCCEEDED(hr)) { + AppendMenu(hmenu, MF_SEPARATOR, 0, NULL); + AppendMenu(hmenu, 0, FCIDM_SHVIEWLAST-1, ResString(IDS_ABOUT_EXPLORER)); + + UINT idCmd = TrackPopupMenu(hmenu, TPM_LEFTALIGN|TPM_RETURNCMD|TPM_RIGHTBUTTON, x, y, 0, _hwnd, NULL); + + _cm_ifs.reset(); + + if (idCmd == FCIDM_SHVIEWLAST-1) { + explorer_about(_hwnd); + } else if (idCmd) { + CMINVOKECOMMANDINFO cmi; + + cmi.cbSize = sizeof(CMINVOKECOMMANDINFO); + cmi.fMask = 0; + cmi.hwnd = _hwnd; + cmi.lpVerb = (LPCSTR)(INT_PTR)(idCmd - FCIDM_SHVIEWFIRST); + cmi.lpParameters = NULL; + cmi.lpDirectory = NULL; + cmi.nShow = SW_SHOWNORMAL; + cmi.dwHotKey = 0; + cmi.hIcon = 0; + + hr = pcm->InvokeCommand(&cmi); + } + } else + _cm_ifs.reset(); + DestroyMenu(hmenu); + } + + pcm->Release(); + } + + return hr; +} + + +#define ARRANGE_BORDER_DOWN 8 +#define ARRANGE_BORDER_HV 9 +#define ARRANGE_ROUNDABOUT 10 + +static const POINTS s_align_start[] = { + {0, 0}, // left/top + {0, 0}, + {1, 0}, // right/top + {1, 0}, + {0, 1}, // left/bottom + {0, 1}, + {1, 1}, // right/bottom + {1, 1}, + + {0, 0}, // left/top + {0, 0}, + {0, 0} +}; + +static const POINTS s_align_dir1[] = { + { 0, +1}, // down + {+1, 0}, // right + {-1, 0}, // left + { 0, +1}, // down + { 0, -1}, // up + {+1, 0}, // right + {-1, 0}, // left + { 0, -1}, // up + + { 0, +1}, // down + {+1, 0}, // right + {+1, 0} // right +}; + +static const POINTS s_align_dir2[] = { + {+1, 0}, // right + { 0, +1}, // down + { 0, +1}, // down + {-1, 0}, // left + {+1, 0}, // right + { 0, -1}, // up + { 0, -1}, // up + {-1, 0}, // left + + {+1, 0}, // right + { 0, +1}, // down + { 0, +1} // down +}; + +typedef pair IconPos; +typedef map IconMap; + +void DesktopShellView::PositionIcons(int dir) +{ + DWORD spacing = ListView_GetItemSpacing(_hwndListView, FALSE); + + RECT work_area; + SystemParametersInfo(SPI_GETWORKAREA, 0, &work_area, 0); + + /* disable default allignment */ + SetWindowStyle(_hwndListView, GetWindowStyle(_hwndListView)&~LVS_ALIGNMASK);//|LVS_ALIGNTOP|LVS_AUTOARRANGE); + + const POINTS& dir1 = s_align_dir1[_icon_algo]; + const POINTS& dir2 = s_align_dir2[_icon_algo]; + const POINTS& start_pos = s_align_start[_icon_algo]; + + int dir_x1 = dir1.x; + int dir_y1 = dir1.y; + int dir_x2 = dir2.x; + int dir_y2 = dir2.y; + + int cx = LOWORD(spacing); + int cy = HIWORD(spacing); + + int dx1 = dir_x1 * cx; + int dy1 = dir_y1 * cy; + int dx2 = dir_x2 * cx; + int dy2 = dir_y2 * cy; + + int xoffset = (cx-32)/2; + int yoffset = 4/*(cy-32)/2*/; + + int start_x = start_pos.x * (work_area.right - cx) + xoffset; + int start_y = start_pos.y * (work_area.bottom - cy) + yoffset; + + int x = start_x; + int y = start_y; + + int all = ListView_GetItemCount(_hwndListView); + int i1, i2; + + if (dir > 0) { + i1 = 0; + i2 = all; + } else { + i1 = all-1; + i2 = -1; + } + + IconMap pos_idx; + int cnt = 0; + int xhv = start_x; + int yhv = start_y; + + for(int idx=i1; idx!=i2; idx+=dir) { + pos_idx[IconPos(y, x)] = idx; + + if (_icon_algo == ARRANGE_BORDER_DOWN) { + if (++cnt & 1) + x = work_area.right - x - cx + 2*xoffset; + else { + y += dy1; + + if (y + cy - 2 * yoffset > work_area.bottom) { + y = start_y; + start_x += dx2; + x = start_x; + } + } + + continue; + } + else if (_icon_algo == ARRANGE_BORDER_HV) { + if (++cnt & 1) + x = work_area.right - x - cx + 2*xoffset; + else if (cnt & 2) { + yhv += cy; + y = yhv; + x = start_x; + + if (y + cy - 2 * yoffset > work_area.bottom) { + start_x += cx; + xhv = start_x; + x = xhv; + start_y += cy; + yhv = start_y; + y = yhv; + } + } else { + xhv += cx; + x = xhv; + y = start_y; + + if (x + cx - 2 * xoffset > work_area.right) { + start_x += cx; + xhv = start_x; + x = xhv; + start_y += cy; + yhv = start_y; + y = yhv; + } + } + + continue; + } + else if (_icon_algo == ARRANGE_ROUNDABOUT) { + + ///@todo + + } + + x += dx1; + y += dy1; + + if (x<0 || x+cx-2*xoffset>work_area.right) { + x = start_x; + y += dy2; + } else if (y<0 || y+cy-2*yoffset>work_area.bottom) { + y = start_y; + x += dx2; + } + } + + // use a little trick to get the icons where we want them to be... + + //for(IconMap::const_iterator it=pos_idx.end(); --it!=pos_idx.begin(); ) { + // const IconPos& pos = it->first; + + // ListView_SetItemPosition32(_hwndListView, it->second, pos.second, pos.first); + //} + + for(IconMap::const_iterator it=pos_idx.begin(); it!=pos_idx.end(); ++it) { + const IconPos& pos = it->first; + + ListView_SetItemPosition32(_hwndListView, it->second, pos.second, pos.first); + } +} + + +void DesktopShellView::refresh() +{ + ///@todo +} diff --git a/base/shell/explorer-old/desktop/desktop.h b/base/shell/explorer-old/desktop/desktop.h new file mode 100644 index 00000000000..6e1c294ceb6 --- /dev/null +++ b/base/shell/explorer-old/desktop/desktop.h @@ -0,0 +1,193 @@ +/* + * Copyright 2003, 2004 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // desktop.h + // + // Martin Fuchs, 09.08.2003 + // + + +#define PM_SET_ICON_ALGORITHM (WM_APP+0x19) +#define PM_GET_ICON_ALGORITHM (WM_APP+0x1A) +#define PM_DISPLAY_VERSION (WM_APP+0x24) + + + /// subclassed background window behind the visible desktop window +struct BackgroundWindow : public SubclassedWindow +{ + typedef SubclassedWindow super; + + BackgroundWindow(HWND hwnd); + +protected: + LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam); + + void DrawDesktopBkgnd(HDC hdc); + + int _display_version; +}; + + + /// Implementation of the Explorer desktop window +struct DesktopWindow : public PreTranslateWindow, public IShellBrowserImpl +{ + typedef PreTranslateWindow super; + + DesktopWindow(HWND hwnd); + ~DesktopWindow(); + + static HWND Create(); + + virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND* lphwnd) + { + *lphwnd = _hwnd; + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView(IShellView** ppshv) + { + _pShellView->AddRef(); + *ppshv = _pShellView; + return S_OK; + } + + virtual HRESULT STDMETHODCALLTYPE GetControlWindow(UINT id, HWND* lphwnd) + { + return E_NOTIMPL; + } + + virtual HRESULT STDMETHODCALLTYPE SendControlMsg(UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pret) + { + return E_NOTIMPL; + } + +protected: + LRESULT Init(LPCREATESTRUCT pcs); + LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam); + + IShellView* _pShellView; + WindowHandle _desktopBar; + + virtual HRESULT OnDefaultCommand(LPIDA pida); +}; + + + /// OLE drop target for the desktop window +class DesktopDropTarget : public IDropTargetImpl +{ + typedef IDropTargetImpl super; + +public: + DesktopDropTarget(HWND hTargetWnd) : super(hTargetWnd) {} + + virtual bool OnDrop(FORMATETC* pFmtEtc, STGMEDIUM& medium, DWORD *pdwEffect) + { + if (pFmtEtc->cfFormat==CF_HDROP && medium.tymed==TYMED_HGLOBAL) { + HDROP hDrop = (HDROP)GlobalLock(medium.hGlobal); + + if (hDrop) { + TCHAR szFileName[MAX_PATH]; + + UINT cFiles = DragQueryFile(hDrop, 0xFFFFFFFF, NULL, 0); + + for(UINT i=0; i +{ + typedef ExtContextMenuHandlerT super; + + DesktopShellView(HWND hwnd, IShellView* pShellView); + ~DesktopShellView(); + + bool InitDragDrop(); + +protected: + IShellView* _pShellView; + + LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam); + int Command(int id, int code); + int Notify(int id, NMHDR* pnmh); + + bool DoContextMenu(int x, int y); + HRESULT DoDesktopContextMenu(int x, int y); + void PositionIcons(int dir=1); + + void refresh(); + + HWND _hwndListView; + int _icon_algo; +}; diff --git a/base/shell/explorer-old/dialogs/searchprogram.cpp b/base/shell/explorer-old/dialogs/searchprogram.cpp new file mode 100644 index 00000000000..0b497175a05 --- /dev/null +++ b/base/shell/explorer-old/dialogs/searchprogram.cpp @@ -0,0 +1,421 @@ +/* + * Copyright 2003, 2004, 2005 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // dialogs/searchprogram.cpp + // + // Explorer dialogs + // + // Martin Fuchs, 02.10.2003 + // + + +#include + +#include "searchprogram.h" + + +int CollectProgramsThread::Run() +{ + try { + collect_programs(SpecialFolderPath(CSIDL_COMMON_PROGRAMS, _hwnd)); + } catch(COMException&) { + } + + if (_alive) + try { + collect_programs(SpecialFolderPath(CSIDL_PROGRAMS, _hwnd)); + } catch(COMException&) { + } + + if (_alive) + _cache_valid = true; + + return 0; +} + +void CollectProgramsThread::collect_programs(const ShellPath& path) +{ + ShellDirectory* dir = new ShellDirectory(GetDesktopFolder(), path, 0); + _dirs.push(dir); + + dir->smart_scan(SORT_NONE); + + for(Entry*entry=dir->_down; _alive && entry; entry=entry->_next) { + if (entry->_shell_attribs & SFGAO_HIDDEN) + continue; + + if (entry->_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) + collect_programs(entry->create_absolute_pidl()); + else if (entry->_shell_attribs & SFGAO_LINK) + if (_alive) + _callback(entry, _para); + } +} + +void CollectProgramsThread::free_dirs() +{ + while(!_dirs.empty()) { + ShellDirectory* dir = _dirs.top(); + dir->free_subentries(); + _dirs.pop(); + } +} + + +#ifdef _MSC_VER +#pragma warning(disable: 4355) +#endif + +FindProgramDlg::FindProgramDlg(HWND hwnd) + : super(hwnd), + _list_ctrl(GetDlgItem(hwnd, IDC_PROGRAMS_FOUND)), + _thread(collect_programs_callback, hwnd, this), + _sort(_list_ctrl, CompareFunc/*, (LPARAM)this*/) +{ + TCHAR szTemp[256]; + const size_t nChars = sizeof(szTemp)/sizeof(*szTemp); + SetWindowIcon(hwnd, IDI_SEARCH); + + _resize_mgr.Add(IDC_FILTER, RESIZE_X); + _resize_mgr.Add(IDC_CHECK_ENTRIES, MOVE_X); + _resize_mgr.Add(IDC_PROGRAMS_FOUND, RESIZE); + + _resize_mgr.Resize(+520, +300); + + _haccel = LoadAccelerators(g_Globals._hInstance, MAKEINTRESOURCE(IDA_SEARCH_PROGRAM)); + + (void)ListView_SetImageList(_list_ctrl, g_Globals._icon_cache.get_sys_imagelist(), LVSIL_SMALL); + + LV_COLUMN column = {LVCF_FMT|LVCF_WIDTH|LVCF_TEXT, LVCFMT_LEFT, 250}; + + LoadString(g_Globals._hInstance, IDS_NAMECOLUMN, szTemp, nChars); + column.pszText = szTemp; + ListView_InsertColumn(_list_ctrl, 0, &column); + + column.cx = 300; + LoadString(g_Globals._hInstance, IDS_PATHCOLUMN, szTemp, nChars); + column.pszText = szTemp; + ListView_InsertColumn(_list_ctrl, 1, &column); + + column.cx = 400; + LoadString(g_Globals._hInstance, IDS_MENUCOLUMN, szTemp, nChars); + column.pszText = szTemp; + ListView_InsertColumn(_list_ctrl, 2, &column); + + ListView_SetExtendedListViewStyleEx(_list_ctrl, LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT); + + _common_programs = SpecialFolderFSPath(CSIDL_COMMON_PROGRAMS, hwnd); + if (!_common_programs.empty()) + _common_programs.append(_T("\\")); + + _user_programs = SpecialFolderFSPath(CSIDL_PROGRAMS, hwnd); + if (!_user_programs.empty()) + _user_programs.append(_T("\\")); + + CenterWindow(hwnd); + + Refresh(); + + register_pretranslate(hwnd); +} + +FindProgramDlg::~FindProgramDlg() +{ + _thread.Stop(); + + unregister_pretranslate(_hwnd); +} + + +void FindProgramDlg::Refresh(bool delete_cache) +{ + WaitCursor wait; + + _thread.Stop(); + + TCHAR buffer[1024]; + GetWindowText(GetDlgItem(_hwnd, IDC_FILTER), buffer, COUNTOF(buffer)); + CharLower(buffer); + _lwr_filter = buffer; + + HiddenWindow hide_listctrl(_list_ctrl); + + ListView_DeleteAllItems(_list_ctrl); + + if (delete_cache || !_thread._cache_valid) { + _thread.free_dirs(); + _thread.Start(); + } else { + for(FPDCache::const_iterator it=_cache.begin(); it!=_cache.end(); ++it) + add_entry(*it); + } +} + +void FindProgramDlg::collect_programs_callback(Entry* entry, void* param) +{ + FindProgramDlg* pThis = (FindProgramDlg*) param; + + IShellLink* pShellLink; + HRESULT hr = entry->GetUIObjectOf(pThis->_hwnd, IID_IShellLink, (LPVOID*)&pShellLink); + + if (SUCCEEDED(hr)) { + ShellLinkPtr shell_link(pShellLink); + + shell_link->Release(); + + /*hr = pShellLink->Resolve(pThis->_hwnd, SLR_NO_UI); + if (SUCCEEDED(hr))*/ { + WIN32_FIND_DATA wfd; + TCHAR path[MAX_PATH]; + + hr = pShellLink->GetPath(path, COUNTOF(path)-1, &wfd, SLGP_UNCPRIORITY); + + if (SUCCEEDED(hr)) { + TCHAR entry_path[MAX_PATH]; + + entry->get_path(entry_path, COUNTOF(entry_path)); + + String menu_path; + + int len = pThis->_common_programs.size(); + + if (len && !_tcsnicmp(entry_path, pThis->_common_programs, len)) + menu_path = ResString(IDS_ALL_USERS) + (String(entry_path)+len); + else if ((len=pThis->_user_programs.size()) && !_tcsnicmp(entry_path, pThis->_user_programs, len)) + menu_path = String(entry_path)+len; + + // store info in cache + FPDEntry new_entry; + + new_entry._entry = entry; + new_entry._menu_path = menu_path; + new_entry._path = path; + new_entry._idxIcon = I_IMAGECALLBACK; + + pThis->_cache.push_front(new_entry); + FPDEntry& cache_entry = pThis->_cache.front(); + + Lock lock(pThis->_thread._crit_sect); + + // resolve deadlocks while executing Thread::Stop() + if (!pThis->_thread.is_alive()) + return; + + pThis->add_entry(cache_entry); + } + } + } +} + +void FindProgramDlg::add_entry(const FPDEntry& cache_entry) +{ + String lwr_path = cache_entry._path; + String lwr_name = cache_entry._entry->_display_name; + + lwr_path.toLower(); + lwr_name.toLower(); + + if (_lwr_filter.empty()) + if (_tcsstr(lwr_name, _T("uninstal")) || _tcsstr(lwr_name, _T("deinstal"))) // filter out deinstallation links + return; + + if (!_tcsstr(lwr_path, _lwr_filter) && !_tcsstr(lwr_name, _lwr_filter)) + return; + + LV_ITEM item = {LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM, INT_MAX}; + + item.pszText = cache_entry._entry->_display_name; + item.iImage = cache_entry._idxIcon; + item.lParam = (LPARAM) &cache_entry; + item.iItem = ListView_InsertItem(_list_ctrl, &item); // We could use the information in _sort to enable manual sorting while populating the list. + + item.mask = LVIF_TEXT; + + item.iSubItem = 1; + item.pszText = (LPTSTR)(LPCTSTR)cache_entry._path; + ListView_SetItem(_list_ctrl, &item); + + item.iSubItem = 2; + item.pszText = (LPTSTR)(LPCTSTR)cache_entry._menu_path; + ListView_SetItem(_list_ctrl, &item); +} + +LRESULT FindProgramDlg::WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam) +{ + switch(nmsg) { + case WM_CLOSE: + (void)ListView_SetImageList(_list_ctrl, 0, LVSIL_SMALL); // detach system image list + goto def; + + case PM_TRANSLATE_MSG: { + MSG* pmsg = (MSG*) lparam; + + if (TranslateAccelerator(_hwnd, _haccel, pmsg)) + return TRUE; + + return FALSE;} + + default: def: + return super::WndProc(nmsg, wparam, lparam); + } + + return 0; +} + +int FindProgramDlg::Command(int id, int code) +{ + if (code == BN_CLICKED) { + switch(id) { + case ID_REFRESH: + Refresh(true); + break; + + case IDOK: + LaunchSelected(); + break; + + case IDC_CHECK_ENTRIES: + CheckEntries(); + break; + + default: + return super::Command(id, code); + } + + return 0; + } + else if (code == EN_CHANGE) { + switch(id) { + case IDC_FILTER: + Refresh(); + break; + } + + return 0; + } + + return 1; +} + +void FindProgramDlg::LaunchSelected() +{ + Lock lock(_thread._crit_sect); + + int count = ListView_GetSelectedCount(_list_ctrl); + + if (count > 1) + if (MessageBox(_hwnd, ResString(IDS_LAUNCH_MANY_PROGRAMS), ResString(IDS_TITLE), MB_OKCANCEL) != IDOK) + return; + + for(int idx=-1; (idx=ListView_GetNextItem(_list_ctrl, idx, LVNI_SELECTED))!=-1; ) { + LPARAM lparam = ListView_GetItemData(_list_ctrl, idx); + + if (lparam) { + FPDEntry& cache_entry = *(FPDEntry*)lparam; + cache_entry._entry->launch_entry(_hwnd); + } + } +} + +int FindProgramDlg::Notify(int id, NMHDR* pnmh) +{ + switch(pnmh->code) { + case LVN_GETDISPINFO: { + LV_DISPINFO* pDispInfo = (LV_DISPINFO*) pnmh; + + if (pnmh->hwndFrom == _list_ctrl) { + if (pDispInfo->item.mask & LVIF_IMAGE) { + FPDEntry& cache_entry = *(FPDEntry*)pDispInfo->item.lParam; + Entry* entry = cache_entry._entry; + + if (entry->_icon_id == ICID_UNKNOWN) + entry->_icon_id = entry->extract_icon(ICF_SYSCACHE); + + pDispInfo->item.iImage = g_Globals._icon_cache.get_icon(entry->_icon_id).get_sysiml_idx(); + pDispInfo->item.mask |= LVIF_DI_SETITEM; + + return 1; + } + }} + break; + + case NM_DBLCLK: + if (pnmh->hwndFrom == _list_ctrl) + LaunchSelected(); + /*{ + Lock lock(_thread._crit_sect); + + LPNMLISTVIEW pnmv = (LPNMLISTVIEW) pnmh; + LPARAM lparam = ListView_GetItemData(pnmh->hwndFrom, pnmv->iItem); + + if (lparam) { + FPDEntry& cache_entry = *(FPDEntry*)lparam; + cache_entry._entry->launch_entry(_hwnd); + } + }*/ + break; + + case HDN_ITEMCLICK: { + WaitCursor wait; + NMHEADER* phdr = (NMHEADER*)pnmh; + + if (GetParent(pnmh->hwndFrom) == _list_ctrl) { + if (_thread._cache_valid) { // disable manual sorting while populating the list + _sort.toggle_sort(phdr->iItem); + _sort.sort(); + } + } + break;} + } + + return 0; +} + +int CALLBACK FindProgramDlg::CompareFunc(LPARAM lparam1, LPARAM lparam2, LPARAM lparamSort) +{ + ListSort* sort = (ListSort*)lparamSort; + + FPDEntry& a = *(FPDEntry*)lparam1; + FPDEntry& b = *(FPDEntry*)lparam2; + + int cmp = 0; + + switch(sort->_sort_crit) { + case 0: + cmp = _tcsicoll(a._entry->_display_name, b._entry->_display_name); + break; + + case 1: + cmp = _tcsicoll(a._path, b._path); + break; + + case 2: + cmp = _tcsicoll(a._menu_path, b._menu_path); + } + + return sort->_direction? -cmp: cmp; +} + +void FindProgramDlg::CheckEntries() +{ + ///@todo check all entries for existing targets, display a list of not working entries and ask the user for permission to delete them +} diff --git a/base/shell/explorer-old/dialogs/searchprogram.h b/base/shell/explorer-old/dialogs/searchprogram.h new file mode 100644 index 00000000000..54e466d8c11 --- /dev/null +++ b/base/shell/explorer-old/dialogs/searchprogram.h @@ -0,0 +1,108 @@ +/* + * Copyright 2003, 2004 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // dialogs/searchprogram.h + // + // Explorer dialogs + // + // Martin Fuchs, 02.10.2003 + // + + +typedef void (*COLLECT_CALLBACK)(Entry* entry, void* param); +typedef stack ShellDirectoryStack; + + /// Thread for collecting start menu entries +struct CollectProgramsThread : public Thread +{ + CollectProgramsThread(COLLECT_CALLBACK callback, HWND hwnd, void* para) + : _cache_valid(false), + _callback(callback), + _hwnd(hwnd), + _para(para) + { + } + + ~CollectProgramsThread() + { + free_dirs(); + } + + int Run(); + void free_dirs(); + + bool _cache_valid; + +protected: + COLLECT_CALLBACK _callback; + HWND _hwnd; + void* _para; + ShellDirectoryStack _dirs; + + void collect_programs(const ShellPath& path); +}; + + + /// entry for the list in "find program" dialogs +struct FPDEntry +{ + Entry* _entry; + int _idxIcon; + String _menu_path; + String _path; +}; + +typedef list FPDCache; + + + /// Dialog to work with the complete list of start menu entries +struct FindProgramDlg : public ResizeController +{ + typedef ResizeController super; + + FindProgramDlg(HWND hwnd); + ~FindProgramDlg(); + +protected: + HWND _list_ctrl; + HACCEL _haccel; + String _lwr_filter; + + CollectProgramsThread _thread; + FPDCache _cache; + + String _common_programs, _user_programs; + + ListSort _sort; + + virtual LRESULT WndProc(UINT, WPARAM, LPARAM); + virtual int Command(int id, int code); + virtual int Notify(int id, NMHDR* pnmh); + + void Refresh(bool delete_cache=false); + void add_entry(const FPDEntry& cache_entry); + void LaunchSelected(); + void CheckEntries(); + + static void collect_programs_callback(Entry* entry, void* param); + static int CALLBACK CompareFunc(LPARAM lparam1, LPARAM lparam2, LPARAM lparamSort); +}; diff --git a/base/shell/explorer-old/dialogs/settings.cpp b/base/shell/explorer-old/dialogs/settings.cpp new file mode 100644 index 00000000000..3e449b82284 --- /dev/null +++ b/base/shell/explorer-old/dialogs/settings.cpp @@ -0,0 +1,271 @@ +/* + * Copyright 2004 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // dialogs/settings.cpp + // + // Explorer dialogs + // + // Martin Fuchs, 18.01.2004 + // + + +#include + +#include "../taskbar/traynotify.h" +#include "settings.h" + + +void ExplorerPropertySheet(HWND hparent) +{ + PropertySheetDialog ps(hparent); + + ps.dwFlags |= PSH_USEICONID | PSH_PROPTITLE; + ps.pszIcon = MAKEINTRESOURCE(IDI_REACTOS); + ps.pszCaption = TEXT("Explorer"); + + PropSheetPage psp1(IDD_DESKBAR_DESKTOP, WINDOW_CREATOR(DesktopSettingsDlg)); + psp1.dwFlags |= PSP_USETITLE; + psp1.pszTitle = MAKEINTRESOURCE(IDS_DESKTOP); + ps.add(psp1); + + PropSheetPage psp2(IDD_DESKBAR_TASKBAR, WINDOW_CREATOR(TaskbarSettingsDlg)); + psp2.dwFlags |= PSP_USETITLE; + psp2.pszTitle = MAKEINTRESOURCE(IDS_TASKBAR); + ps.add(psp2); + + PropSheetPage psp3(IDD_DESKBAR_STARTMENU, WINDOW_CREATOR(StartmenuSettingsDlg)); + psp3.dwFlags |= PSP_USETITLE; + psp3.pszTitle = MAKEINTRESOURCE(IDS_STARTMENU); + ps.add(psp3); + + ps.DoModal(); +} + + +DesktopSettingsDlg::DesktopSettingsDlg(HWND hwnd) + : super(hwnd), + _bmp0(IDB_ICON_ALIGN_0), + _bmp1(IDB_ICON_ALIGN_1), + _bmp2(IDB_ICON_ALIGN_2), + _bmp3(IDB_ICON_ALIGN_3), + _bmp4(IDB_ICON_ALIGN_4), + _bmp5(IDB_ICON_ALIGN_5), + _bmp6(IDB_ICON_ALIGN_6), + _bmp7(IDB_ICON_ALIGN_7), + _bmp8(IDB_ICON_ALIGN_8), + _bmp9(IDB_ICON_ALIGN_9), + _bmp10(IDB_ICON_ALIGN_10) +{ + new PictureButton(_hwnd, IDC_ICON_ALIGN_0, _bmp0); + new PictureButton(_hwnd, IDC_ICON_ALIGN_1, _bmp1); + new PictureButton(_hwnd, IDC_ICON_ALIGN_2, _bmp2); + new PictureButton(_hwnd, IDC_ICON_ALIGN_3, _bmp3); + new PictureButton(_hwnd, IDC_ICON_ALIGN_4, _bmp4); + new PictureButton(_hwnd, IDC_ICON_ALIGN_5, _bmp5); + new PictureButton(_hwnd, IDC_ICON_ALIGN_6, _bmp6); + new PictureButton(_hwnd, IDC_ICON_ALIGN_7, _bmp7); + new PictureButton(_hwnd, IDC_ICON_ALIGN_8, _bmp8); + new PictureButton(_hwnd, IDC_ICON_ALIGN_9, _bmp9); + new PictureButton(_hwnd, IDC_ICON_ALIGN_10, _bmp10); + + _alignment_cur = SendMessage(g_Globals._hwndShellView, PM_GET_ICON_ALGORITHM, 0, 0); + _alignment_tmp = _alignment_cur; + + _display_version_org = SendMessage(g_Globals._hwndShellView, PM_DISPLAY_VERSION, 0, MAKELONG(0,0)); + CheckDlgButton(hwnd, ID_DESKTOP_VERSION, _display_version_org? BST_CHECKED: BST_UNCHECKED); +} + +#ifndef PSN_QUERYINITIALFOCUS // currently (as of 18.01.2004) missing in MinGW headers +#define PSN_QUERYINITIALFOCUS (-213) +#endif + +int DesktopSettingsDlg::Notify(int id, NMHDR* pnmh) +{ + switch(pnmh->code) { + case PSN_QUERYINITIALFOCUS: + SetWindowLongPtr(_hwnd, DWL_MSGRESULT, (LPARAM)GetDlgItem(_hwnd, IDC_ICON_ALIGN_0+_alignment_cur)); + break; + + case PSN_APPLY: + _alignment_cur = _alignment_tmp; + _display_version_org = SendMessage(g_Globals._hwndShellView, PM_DISPLAY_VERSION, 0, MAKELONG(0,0)); + break; + + case PSN_RESET: + if (_alignment_tmp != _alignment_cur) + SendMessage(g_Globals._hwndShellView, PM_SET_ICON_ALGORITHM, _alignment_cur, 0); + SendMessage(g_Globals._hwndShellView, PM_DISPLAY_VERSION, _display_version_org, MAKELONG(1,0)); + break; + + default: + return super::Notify(id, pnmh); + } + + return 0; +} + +int DesktopSettingsDlg::Command(int id, int code) +{ + if (id>=IDC_ICON_ALIGN_0 && id<=IDC_ICON_ALIGN_10) { + int alignment = id - IDC_ICON_ALIGN_0; + + if (alignment != _alignment_tmp) { + _alignment_tmp = alignment; + + PropSheet_Changed(GetParent(_hwnd), _hwnd); + + SendMessage(g_Globals._hwndShellView, PM_SET_ICON_ALGORITHM, alignment, 0); + } + + return 0; + } + + switch(id) { + case ID_DESKTOP_VERSION: + SendMessage(g_Globals._hwndShellView, PM_DISPLAY_VERSION, 0, MAKELONG(0,1)); // toggle version display flag + PropSheet_Changed(GetParent(_hwnd), _hwnd); + break; + + default: + return 1; + } + + return 0; +} + + +TaskbarSettingsDlg::TaskbarSettingsDlg(HWND hwnd) + : super(hwnd), + _cfg_org(g_Globals._cfg) +{ + XMLPos options = g_Globals.get_cfg("desktopbar/options"); + + CheckDlgButton(hwnd, ID_SHOW_CLOCK, XMLBool(options, "show-clock", true)? BST_CHECKED: BST_UNCHECKED); + CheckDlgButton(hwnd, ID_HIDE_INACTIVE_ICONS, XMLBool(options, "hide-inactive", true)? BST_CHECKED: BST_UNCHECKED); +} + +int TaskbarSettingsDlg::Notify(int id, NMHDR* pnmh) +{ + switch(pnmh->code) { + case PSN_APPLY: + _cfg_org = g_Globals._cfg; + break; + + case PSN_RESET: + g_Globals._cfg = _cfg_org; + SendMessage(g_Globals._hwndDesktopBar, PM_REFRESH_CONFIG, 0, 0); + break; + + default: + return super::Notify(id, pnmh); + } + + return 0; +} + +int TaskbarSettingsDlg::Command(int id, int code) +{ + switch(id) { + case ID_CONFIG_NOTIFYAREA: + Dialog::DoModal(IDD_NOTIFYAREA, WINDOW_CREATOR(TrayNotifyDlg), _hwnd); + break; + + case ID_SHOW_CLOCK: { + XMLBoolRef boolRef1(XMLPos(g_Globals.get_cfg("desktopbar/options")), "show-clock", true); + boolRef1.toggle(); + SendMessage(g_Globals._hwndDesktopBar, PM_REFRESH_CONFIG, 0, 0); + PropSheet_Changed(GetParent(_hwnd), _hwnd); + break;} + + case ID_HIDE_INACTIVE_ICONS: { + XMLBoolRef boolRef2(XMLPos(g_Globals.get_cfg("notify-icons/options")), "hide-inactive", true); + boolRef2.toggle(); + SendMessage(g_Globals._hwndDesktopBar, PM_REFRESH_CONFIG, 0, 0); + PropSheet_Changed(GetParent(_hwnd), _hwnd); + break;} + + default: + return 1; + } + + return 0; +} + + +StartmenuSettingsDlg::StartmenuSettingsDlg(HWND hwnd) + : super(hwnd) +{ +} + +int StartmenuSettingsDlg::Command(int id, int code) +{ +/* + switch(id) { + case ID_CONFIG_NOTIFYAREA: + Dialog::DoModal(IDD_NOTIFYAREA, WINDOW_CREATOR(TrayNotifyDlg), _hwnd); + return 0; + } +*/ + return 1; +} + + +MdiSdiDlg::MdiSdiDlg(HWND hwnd) + : super(hwnd) +{ + CenterWindow(hwnd); + + XMLPos explorer_options = g_Globals.get_cfg("general/explorer"); + bool mdi = XMLBool(explorer_options, "mdi", true); + bool separateFolders = XMLBool(explorer_options, "separate-folders", true); + + int id = mdi? IDC_MDI: IDC_SDI; + CheckDlgButton(hwnd, id, BST_CHECKED); + SetFocus(GetDlgItem(hwnd, id)); + + CheckDlgButton(hwnd, IDC_SEPARATE_SUBFOLDERS, separateFolders?BST_CHECKED:BST_UNCHECKED); +} + +int MdiSdiDlg::Command(int id, int code) +{ + if (code == BN_CLICKED) { + switch(id) { + case IDOK: { + bool mdi = IsDlgButtonChecked(_hwnd, IDC_MDI)==BST_CHECKED; + bool separateFolders = IsDlgButtonChecked(_hwnd, IDC_SEPARATE_SUBFOLDERS)==BST_CHECKED; + + XMLPos explorer_options = g_Globals.get_cfg("general/explorer"); + + XMLBoolRef(explorer_options, "mdi") = mdi; + XMLBoolRef(explorer_options, "separate-folders") = separateFolders; + } // fall through + + case IDCANCEL: + EndDialog(_hwnd, id); + break; + } + + return 0; + } + + return 1; +} diff --git a/base/shell/explorer-old/dialogs/settings.h b/base/shell/explorer-old/dialogs/settings.h new file mode 100644 index 00000000000..6cefc7507e8 --- /dev/null +++ b/base/shell/explorer-old/dialogs/settings.h @@ -0,0 +1,99 @@ +/* + * Copyright 2004, 2004 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // dialogs/settings.h + // + // Explorer dialogs + // + // Martin Fuchs, 18.01.2004 + // + + +void ExplorerPropertySheet(HWND hparent); + + + /// "Desktopbar Settings" Property Sheet Dialog +struct DesktopSettingsDlg : public OwnerDrawParent +{ + typedef OwnerDrawParent super; + + DesktopSettingsDlg(HWND hwnd); + +protected: + ResBitmap _bmp0; + ResBitmap _bmp1; + ResBitmap _bmp2; + ResBitmap _bmp3; + ResBitmap _bmp4; + ResBitmap _bmp5; + ResBitmap _bmp6; + ResBitmap _bmp7; + ResBitmap _bmp8; + ResBitmap _bmp9; + ResBitmap _bmp10; + + int _alignment_cur; + int _alignment_tmp; + + int _display_version_org; + + virtual int Command(int id, int code); + virtual int Notify(int id, NMHDR* pnmh); +}; + + + /// "Taskbar Settings" Property Sheet Dialog +struct TaskbarSettingsDlg : public PropSheetPageDlg +{ + typedef PropSheetPageDlg super; + + TaskbarSettingsDlg(HWND hwnd); + + virtual int Command(int id, int code); + virtual int Notify(int id, NMHDR* pnmh); + +protected: + XMLDoc _cfg_org; +}; + + + /// "Startmenu Settings" Property Sheet Dialog +struct StartmenuSettingsDlg : public PropSheetPageDlg +{ + typedef PropSheetPageDlg super; + + StartmenuSettingsDlg(HWND hwnd); + + virtual int Command(int id, int code); +}; + + + /// configuration dialog to choose between MDI and SDI mode +struct MdiSdiDlg : public ResizeController +{ + typedef ResizeController super; + + MdiSdiDlg(HWND hwnd); + +protected: + virtual int Command(int id, int code); +}; diff --git a/base/shell/explorer-old/doc/TODO.txt b/base/shell/explorer-old/doc/TODO.txt new file mode 100644 index 00000000000..e351cc1aefc --- /dev/null +++ b/base/shell/explorer-old/doc/TODO.txt @@ -0,0 +1,61 @@ +I noticed two things: + +1) The painting isn't done quite properly in the top, right part (the +empty menu/toolbar area part) of the explorer when in SDI mode. + +2) When you switch back and forth from SDI to MDI, the toolbar +settings (i.e., which ones to show) are not conserved. + +I found these issues while running your explorer from Windows XP SP2's explorer. + + +- update problem in folders opened from the desktop in SDI mode +- Combobox to switch the second input field between "Filter" and "Command" +- rewrite autostart code and include all possible autostart locations +- read "DESCRIPT.ION" files to display file descriptions +- detect display mode changes and adjust desktop bar size +- handling of full screen applications +- implement additional deskbands +- Drag Drop and file renaming on the desktop does not work. +- implement Drag Drop from the tree view. +- activate accelerator keys like in shell view folders +- program manager "progman" DDE server +- Windows-key combos +- Application Desktop Toolbars +- hide CVS subdirectories, may be even implement a CVS managment plugin +- printer and RAS connection icons in desktop notification area +- use multi threading for launching of programs and filling start menu subdirectories +- close start start menu when resizing explorer bar +- adjust already open windows of all running applications when resizing explorer bar +- implement blink effect in task bar for SetForegoundWindow() requests +- Execute selected programs with additional command line options ("Run" dialog with pre-filled edit field) +- switch background images with desktop switcher +- Desktop Manager: Desktop Names; Speicherung der Verteilung von Applikations-Fenstern auf die verschiedenen Desktops -> config file +- autostart doesn't work on NT4 ? +- hide desktop bar when showing full screen applications +- new start menu entry "Filemanager" close to "Explore" -> display C: and D: drive in MDI window +- Startmenu: You can open the start menu by pressing Win-key, but can't close with another hit of Win-key. +- Export von Bookmarks fr IE (+ Mozilla) + +- Search Programs -> performance monitor.msc -> Abort + + + Martin, I would have a whish concerning explorer: I often want to start a program and give it some parameters. So nice featue: "Start with param..." + Nonvo: shell extension + tinus: we should think about installing some default shell extensions + m-fuchs: perhaps, but it'd be nice if they actually were shell extensions + +- ShellBrowser: Probleme mit TVIF_CHILDREN (in der dritten Ebene?) + + +> The nits: +> * the MDI file manager top window does not seem to be aware of the scroll-wheel +> * the task bar clock color seems to be hard-coded, and so does not show +> with the High Contrast color. Several other places have similar issues +> * there's no quick launch +> * the desktop lacks much functionality, including the ability to arrange icons +> * there are no startmenu settings/it does not heed the MS explorer ones + +> Is there some means of transferring applications across desktops? +> What about (configurable) key combos to cycle/change desktops? + diff --git a/base/shell/explorer-old/doc/changes.txt b/base/shell/explorer-old/doc/changes.txt new file mode 100644 index 00000000000..372642f99f6 --- /dev/null +++ b/base/shell/explorer-old/doc/changes.txt @@ -0,0 +1,170 @@ +You will find only major changes in this file. +Small bug fixes and developments steps are not listet here. +If you search for more information, look into the Subversion repository. + +14.10.2002 m. fuchs Korrektur der Anpassungen durch bernahme in wine: Anzeige der Verzeichnisnamen in Tree Pane + m. fuchs Wieder-Anpassung an natives bersetzen unter WIN32 mit VC++ + +15.10.2002 m. fuchs Entfernung der Warnungsmeldung durch SetWindowText(0, ...) + m. fuchs korrekte Anzeige der Header Control-Texte (nicht Unicode -> dlls/comctl32/header.c) + +15.10.2002 m. fuchs sofortige Anzeige der Dateiliste beim Starten und ffnen neuer Fenster +15.10.2002 m. fuchs Programmaufruf ber Doppelklick in der Dateiliste + +07.06.2003 m. fuchs integration with ROS desktop window +21.07.2003 m. fuchs extension of winefile for shell namespace +04.08.2003 m. fuchs C++ explorer with architecture like MS Explorer: + usage of IShellView C++, implementation of IShellBrowser, ... +09.08.2003 m. fuchs class DesktopWindow for shell view on the desktop +11.08.2003 m. fuchs class BackgroundWindow for painting of desktop background + open child folders by double click in ShellBrowserChild +13.08.2003 m. fuchs make explorer bar look more like windows taskbar bar +16.08.2003 m. fuchs first draft of working task bar +18.08.2003 m. fuchs first draft of explorer start menu +21.08.2003 m. fuchs working start menu; beginning of tray notification area + Start menu popup is now closed when clicking in another window. +22.08.2003 m. fuchs implemented clock display in tray notification area + implemented quick launch bar +23.08.2003 m. fuchs implemented "Run..." dialog by calling shell32.dll + fixed memory and GDI handle leaks + implemented context menus for task bar + tool tips for quick launch bar +24.08.2003 m. fuchs added reactos logo to startmenu + added romanian translation of Ciobanu Alexander +26.08.2003 m. fuchs implemented tooltips and launching of date/time control panel applet for clock display +27.08.2003 m. fuchs partly implemented control panel window +28.08.2003 m. fuchs control panel window in cabinet view mode +29.09.2003 m. fuchs Now we handle start menu popups via StartMenuRoot::TrackStartmenu(). +30.09.2003 m. fuchs compatibility to building as Winelib application +10.09.2003 m. fuchs compatibility changes for correct desktop windows size on Windows NT +19.09.2003 m. fuchs compatibility changes for correct start menu subentries on Windows 9x +27.09.2003 m. fuchs moved start menu entries for control panel, etc. into new settings submenu + created a Makefile for compiling as standalone project using MinGW + eliminated all warnings displayed when using -Wall + activated option for compiling as UNICODE version + merged start menus of the same name (e.g. "All Users\Startup" with "\Startup") +28.09.2003 m. fuchs open cabinet windows then clicking on desktop folders +18.10.2003 m. fuchs Program search dialog with interactive filtering and sorting does now work. +19.10.2003 m. fuchs implemented floating start menus +29.11.2003 m. fuchs implemented GDB stub for remote debugging +06.12.2003 m. fuchs basic support to display NTFS streams in winefile windows +20.12.2003 m. fuchs context menu implementation for desktop window +01.01.2004 m. fuchs integrated icons of Everaldo (http://www.everaldo.com) into the start menu. +02.01.2004 m. fuchs reimplemented start menu as light weight version +03.01.2004 m. fuchs lazy icon extraction for start menu + direct file system access for start menu +04.01.2004 m. fuchs implemented icon cache +11.01.2004 m. fuchs keyboard navigation in start menu +14.01.2004 m. fuchs automatically adjusted size of notification area and quicklaunch bar in desktop bar +18.01.2004 m. fuchs explorer/desktop settings property sheet +31.01.2004 m. fuchs included NT Object namespace as virtual file system +31.01.2004 m. fuchs included Registry as virtual file system +02.02.2004 m. fuchs reading of FAT image files +07.02.2004 m. fuchs included IE/Mozilla as Active X control +08.02.2004 m. fuchs desktop switching +16.02.2004 m. fuchs lean explorer version without additional bells and whistles -> see CVS branch "lean-explorer" +23.02.2004 m. fuchs start menu navigation using first characters of entry names + fixes for leaking GDI handles +25.02.2004 m. fuchs rebar control for desktop bar +28.02.2004 m. fuchs "minimize all" functionality + various fixes for notification icons, task bar and desktop switching +12.03.2004 m. fuchs automatic adjustment start button to text size +15.03.2004 m. fuchs implementation of volume control tray icon +20.03.2004 m. fuchs context menu for notification area +21.03.2004 m. fuchs configuration dialog for notification icons + XML storage for configuration options +28.03.2004 m. fuchs configuration options for showing/hiding clock, ... +04.04.2004 m. fuchs import of IE bookmarks; explorer sidebar with bookmark display +09.04.2004 m. fuchs changed favorites start menu implementation to work with internal bookmarks + +12.04.2004 m. fuchs ShellBrowserChild: jump to addressbar target +17.05.2004 m. fuchs use precompiled headers for VC++ builds +01.06.2004 m. fuchs integrate optional SDI mode into main explorer branch +15.07.2004 m. fuchs fix root path for folders opened from the desktop +18.07.2004 m. fuchs precompiled header support for GCC 3.4.1 +31.07.2004 m. fuchs use same startmenu entries height as MS explorer +02.08.2004 m. fuchs context menus for start menus and quick launch bar +03.08.2004 m. fuchs get version number to display from RES_STR_PRODUCT_VERSION +16.08.2004 m. fuchs display version information in about dialog and on the desktop +15.09.2004 m. fuchs remove direct version output from desktop; instead store the activation flag into the registry +17.09.2004 m. fuchs handle "." and ".." as special direcory names and move them at the very first beginning of directory listings +23.09.2004 m. fuchs configuration dialog to choose between MDI and SDI mode with persistent storage +20.11.2004 m. fuchs display notification icon change times + notification area button to toggle hidden icons + m. fuchs alpha-blend hidden notification icons + m. fuchs fix UTF8 conversion for the bookmarks list + m. fuchs decode HTML-encoded bookmark names + m. fuchs work around GCC's wide string constant bug when compiling inline functions +27.12.2004 m. fuchs fix GPF for clicks in the favorites folder +09.01.2005 frik85 update for german resource scripts +10.01.2005 m. fuchs new _NO_ALPHABLEND compiler switch +21.01.2005 tamlin Fix crashing browsing NT object namespace with non-zero-terminated UNICODE_STRING. +27.01.2005 m. fuchs fixes for command line handling +06.02.2005 m. fuchs support for owner drawn context menus at various places +08.02.2005 gvg Prefer SEE_MASK_IDLIST, since that one is actually implemented in shell32 +20.02.2005 m. fuchs updates for Expat and XMLStorage files +21.02.2005 m. fuchs move public expat headers into common include folder +27.02.2005 frik85 Add support for explorer to load the desk.cpl when right clicking on background. +04.03.2005 fireball New StartMenu and ReactOS icons by Mindflyer +05.03.2005 m. fuchs case insensitive startmenu merging + m. fuchs update ROS icon in about dialog and start menu side bar +14.03.2005 gvg tinus: Use RegisterShellHookWindow() +19.03.2005 m. fuchs register ourselves as task manager window to make the RegisterShellHookWindow() call working [thanks to Filip :)] +21.03.2005 fireball Nice "About Explorer" icon by Mindflyer +27.03.2005 m. fuchs hide login screen to make the login on XP faster + m. fuchs launch shell DDE server + m. fuchs make Shell Hook Messages really work in Windows +27.03.2005 greatlrd New Explorer icon from Mindflyer +28.03.2005 m. fuchs launch all registered Shell Service Objects (Systray, network icons, ...) + m. fuchs enable multiline tooltips +01.04.2005 greatlrd David Nordenberg: fixed minor things in swedish translation +02.04.2005 m. fuchs terminate shell service objects thread if there is nothing to do + m. fuchs switch to search icon in search dialog + m. fuchs fix tray icon config dialog for the first icon + m. fuchs "minimize all": only minimize windows with valid positions + m. fuchs fix termination of "search program" dialog +03.04.2005 m. fuchs fix SDI shell browser + m. fuchs display "log off" dialog, add "terminate" menu entry + m. fuchs show logoff dialog in lean explorer + m. fuchs activate printer folder menu +14.04.2005 m. fuchs charn: step-wise taskbar resizing +01.05.2005 m. fuchs merge ROS Shell without integrated explorer part into trunk +03.05.2005 m. fuchs display custom folders in start menu root +03.05.2005 m. fuchs rosshell: printer and network folder in start menu +04.05.2005 greatlrd Fixes for Swedish resource script +20.05.2005 navaraf Luk "denzil" Frolka: partial Czech translation of Explorer +02.06.2005 fireball First version of Explorer's translation into Russian. Done by Dmitry Philippov, checked by me, DarkHobbit and others +03.06.2005 m. fuchs split the big explorer resource file into smaller language specific rescource scripts +05.06.2005 hpoussin Include French resources in explorer +15.07.2005 greatlrd update swedish .rc and rename it from sw to sv, remove the german part in swedish rc +16.07.2005 greatlrd crop the startmenu side bar logo to 30x280 +17.07.2005 m. fuchs add explorer-ro.rc +26.08.2005 navaraf Make the explorer taskbar look a bit nicer +12.09.2005 royce security audit of explorer code: strcpy -> lstrcpyn, ... +19.09.2005 navaraf Fix the taskbar button resizing to account for button spacing. +21.09.2005 m. fuchs XMLStorage update, Bugfix for UTF-8 strings + m. fuchs use size_t for buffer/string lengths instead of int, define COUNTOF if not defined already +25.09.2005 navaraf Patricio Martnez Ros: Update spanish translation +25.09.2005 m. fuchs new tool bar icons for the drive bar + m. fuchs refactor all IUnknown implementations using IComSrvBase +30.09.2005 m. fuchs Fix of Bugzilla Bug 676: dynamic explorer start menu sidebar size +01.10.2005 greatlrd new, smaller startmenu pictures using the dynamic explorer start menu sidebar feature +01.10.2005 m. fuchs MDI/SDI option dialog: pictures for illustration, remove resizable flag +02.10.2005 m. fuchs new option to open explorer subfolders in separate windows + m. fuchs fix enabling of split border + m. fuchs fix directory traversing in explorer SDI windows + m. fuchs fix tree list image loading: work around GCC's wide string constant bug +04.10.2005 m. fuchs complete german resources for explorer +04.10.2005 m. fuchs "execute" menu entry + m. fuchs activate execution from command bar +05.10.2005 m. fuchs fix UNICODE control panel calls to handle double clicks on the task bar clock + m. fuchs one-click activation of "Start" button + m. fuchs use GET_X_LPARAM macro in WM_MOUSEMOVE handlers + m. fuchs leave TrackStartmenu() function when executing any start menu command +06.10.2005 m. fuchs implemented command line parser for Explorer +09.10.2005 m. fuchs Fix for Bugzilla Entry 330: Correctly handle WM_COMMAND messages in web windows without web control + m. fuchs replace "search computer" start menu entry by a "not yet implemented" message +01.11.2005 m. fuchs String::str(), String::toLower() to allow conventient and WINE compatible string conversions +29.11.2005 m. fuchs Adjustments for Visual Studio 2005: use new secure CT functions, COUNTOF for buffer sizes +28.12.2005 m. fuchs display icon overlays in Explorer tree view +31.12.2005 m. fuchs handle "/root" command line parameter diff --git a/base/shell/explorer-old/doc/readme.txt b/base/shell/explorer-old/doc/readme.txt new file mode 100644 index 00000000000..0324dd1d4f3 --- /dev/null +++ b/base/shell/explorer-old/doc/readme.txt @@ -0,0 +1,45 @@ + +For information on how to compile and install the ReactOS Explorer please look at the FAQ web page: + +http://www.sky.franken.de/explorer/ + + + +Desktop Example +--------------- + +This program doesn't do much, apart from create a window which could be +used as a desktop. + +It's pretty straightforward. It creates a window the size of the screen, +displays some text in the corner, and then disables ALT+F4. + +Ideally, this would be incorporated into some other part of ReactOS, where +it could be closed in a controlled manner (ie, when the user wishes to exit +the GUI.) + +Hope someone finds it of some use. I think it should run before the +explorer clone (taskbar) to get the wallpaper displayed (since when +explorer crashes on Windows, the wallpaper is always displayed, and there +is always a desktop, even with no icons, when the login window is shown.) + +It obviously is in need of some improvement, such as wallpaper actually +being drawn (stretch, center/centre and tile...) + +So, feel free to play around with it. + +Andrew "Silver Blade" Greenwood +silverblade_uk@hotmail.com + + +Explorer Bar Example +-------------------- + +I have merged in Alexander Ciobanu's Explorer bar code as a example starting +for the start menu. Its very simple at this point and just loads a window with +buttons. + +The loading of this module was based on a patch by Martin Fuchs. + +Steven Edwards +Steven_Ed4153@yahoo.com diff --git a/base/shell/explorer-old/doxy-footer.html b/base/shell/explorer-old/doxy-footer.html new file mode 100644 index 00000000000..1ed7376a03a --- /dev/null +++ b/base/shell/explorer-old/doxy-footer.html @@ -0,0 +1,16 @@ +
+ + + + + +
+ROS Explorer Source Code Documentation +
generated on 21.11.2004 by +doxygen +
+
+

ROS Explorer Homepage +

+ + diff --git a/base/shell/explorer-old/doxy-footer.htmt b/base/shell/explorer-old/doxy-footer.htmt new file mode 100644 index 00000000000..53f33c8a274 --- /dev/null +++ b/base/shell/explorer-old/doxy-footer.htmt @@ -0,0 +1,16 @@ +
+ + + + + +
+ROS Explorer Source Code Documentation +
@GEN@ by +doxygen +
+
+

ROS Explorer Homepage +

+ + diff --git a/base/shell/explorer-old/explorer-bg.rc b/base/shell/explorer-old/explorer-bg.rc new file mode 100644 index 00000000000..cde516430e6 --- /dev/null +++ b/base/shell/explorer-old/explorer-bg.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&" + BEGIN + MENUITEM "&...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&", ID_FILE_EXIT + END + POPUP "&" + BEGIN + MENUITEM " ", ID_VIEW_TOOL_BAR + MENUITEM "& ", ID_VIEW_EXTRA_BAR + MENUITEM " ", ID_VIEW_DRIVE_BAR, CHECKED + MENUITEM "& ", ID_VIEW_SIDE_BAR + MENUITEM " ", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&\tF5", ID_REFRESH + MENUITEM "& \tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "", ID_VIEW_SDI + END + POPUP "&" + BEGIN + MENUITEM " &", ID_WINDOW_NEW + MENUITEM "\tShift+F5", ID_WINDOW_CASCADE + MENUITEM " ", ID_WINDOW_TILE_HORZ + MENUITEM "& ", ID_WINDOW_TILE_VERT + MENUITEM "", ID_WINDOW_AUTOSORT + MENUITEM " ", ID_WINDOW_ARRANGE + END + POPUP "&" + BEGIN + MENUITEM "&", ID_TOOLS_OPTIONS + END + POPUP "&" + BEGIN + MENUITEM "& ...", ID_EXPLORER_FAQ + MENUITEM "& ...", ID_ABOUT_EXPLORER + MENUITEM " &...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&...", ID_DESKTOPBAR_SETTINGS + MENUITEM "& ...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "& ...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM " ", ID_TRAY_VOLUME + MENUITEM " ", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "& ", ID_SHOW_HIDDEN_ICONS + MENUITEM " & ", ID_SHOW_ICON_BUTTON + MENUITEM "& ...", ID_CONFIG_NOTIFYAREA + MENUITEM " /&...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "& ...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&" + BEGIN + MENUITEM "&...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&", ID_FILE_EXIT + END + POPUP "&" + BEGIN + MENUITEM " ", ID_VIEW_TOOL_BAR + MENUITEM "& ", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM " ", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&\tF5", ID_REFRESH + MENUITEM "& \tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&", ID_VIEW_MDI + END + POPUP "&" + BEGIN + MENUITEM "&", ID_TOOLS_OPTIONS + END + POPUP "&" + BEGIN + MENUITEM "& ...", ID_EXPLORER_FAQ + MENUITEM "& ...", ID_ABOUT_EXPLORER + MENUITEM " &...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "&:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL " &", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&", 1, 158, 6, 47, 14 + PUSHBUTTON "&", 2, 158, 23, 47, 14 + PUSHBUTTON "&", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION " " +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&:", IDC_STATIC, 2, 9, 41, 8 + EDITTEXT IDC_FILTER, 43, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&", IDC_CHECK_ENTRIES, 143, 2, 50, 20 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION " " +FONT 7, "MS Shell Dlg" +BEGIN + LTEXT " :", IDC_STATIC, 7, 7, 166, 8 + CONTROL " ", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 6, 25, 60, 44 + CONTROL " ", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 67, 25, 60, 44 + CONTROL " ", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 127, 25, 60, 44 + CONTROL " ", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 188, 25, 60, 44 + CONTROL " ", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 6, 73, 60, 44 + CONTROL " ", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 67, 73, 60, 44 + CONTROL " ", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 127, 73, 60, 44 + CONTROL " ", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 188, 73, 60, 44 + CONTROL " ", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 6, 121, 60, 44 + CONTROL " ", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 67, 121, 60, 44 + CONTROL "", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 127, 121, 60, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 188, 121, 60, 44 +// CONTROL " &", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 120, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION " " +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL " &", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 100, 10 + CONTROL "& ", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 143, 10 + PUSHBUTTON "&...", ID_CONFIG_NOTIFYAREA, 150, 173, 62, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION " " +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION " " +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&:", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "& :", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "&:", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "& ", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "&", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 8, 108, 49, 10 + CONTROL "&", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 56, 108, 45, 10 + CONTROL "&", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 100, 108, 61, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "& :", IDC_LABEL6, 3, 132, 54, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "& ", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 2, 154, 85, 10 + DEFPUSHBUTTON "&", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION " " +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT " :", IDC_STATIC, 7, 7, 160, 8 + CONTROL "& ( )", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "& ( )", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL " & ", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 180, 10 + LTEXT " .", IDC_STATIC, 7, 108, 174, 25 + DEFPUSHBUTTON "&", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION " " +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT " ", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT " 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE " " + IDS_START "" + IDS_LOGOFF "..." + IDS_SHUTDOWN "..." + IDS_RESTART "..." + IDS_LAUNCH "..." + IDS_START_HELP "" + IDS_SEARCH_FILES "" + IDS_DOCUMENTS "" + IDS_FAVORITES "" + IDS_PROGRAMS "" + IDS_SETTINGS "" + IDS_EXPLORE "" + IDS_EMPTY "()" + IDS_RECENT " " + IDS_ADMIN "" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU " " + IDS_MINIMIZE_ALL " " + IDS_DESKTOP_NUM " %d" + IDS_VOLUME " " + IDS_ITEMS_CUR " " + IDS_ITEMS_CONFIGURED "" + IDS_ITEMS_VISIBLE "" + IDS_ITEMS_HIDDEN "" + IDS_NOTIFY_SHOW "" + IDS_NOTIFY_HIDE "" + IDS_NOTIFY_AUTOHIDE "" + IDS_SHOW_HIDDEN_ICONS " " + IDS_HIDE_ICONS " " + IDS_TERMINATE " " +END + +STRINGTABLE +BEGIN + IDS_NETWORK "" + IDS_CONNECTIONS " " + IDS_DRIVES "" + IDS_SEARCH_COMPUTER " ..." + IDS_SETTINGS_MENU " " + IDS_CONTROL_PANEL " " + IDS_PRINTERS "" + IDS_BROWSE " " + IDS_SEARCH_PRG " ..." + IDS_ALL_USERS " \\" + IDS_SEARCH "" + IDS_ABOUT_EXPLORER "& ..." + IDS_LAUNCH_MANY_PROGRAMS " .\n , ?" + IDS_DESKTOPBAR_SETTINGS " " + IDS_DESKTOP " " + IDS_TASKBAR " " + IDS_NAMECOLUMN "" + IDS_PATHCOLUMN "" + IDS_MENUCOLUMN " " +END diff --git a/base/shell/explorer-old/explorer-cfg-template.xml b/base/shell/explorer-old/explorer-cfg-template.xml new file mode 100644 index 00000000000..f4d516ae891 --- /dev/null +++ b/base/shell/explorer-old/explorer-cfg-template.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/base/shell/explorer-old/explorer-cz.rc b/base/shell/explorer-old/explorer-cz.rc new file mode 100644 index 00000000000..c2027c3d8ae --- /dev/null +++ b/base/shell/explorer-old/explorer-cz.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_CZECH, SUBLANG_DEFAULT + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&Soubor" + BEGIN + MENUITEM "&Spustit...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Ukončit", ID_FILE_EXIT + END + POPUP "&Zobrazení" + BEGIN + MENUITEM "Panel &nástrojů", ID_VIEW_TOOL_BAR + MENUITEM "Panel &extra", ID_VIEW_EXTRA_BAR + MENUITEM "L&išta disků", ID_VIEW_DRIVE_BAR + MENUITEM "&Boční panel", ID_VIEW_SIDE_BAR + MENUITEM "&Stavový řádek", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Aktualizovat\tF5", ID_REFRESH + MENUITEM "&Celá obrazovka\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "&Okno" + BEGIN + MENUITEM "&Nové Okno", ID_WINDOW_NEW + MENUITEM "&Kaskádovat\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "&Uspořádat vodorovně", ID_WINDOW_TILE_HORZ + MENUITEM "U&spořádat svisle\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Us&pořádat automaticky", ID_WINDOW_AUTOSORT + MENUITEM "Usp&ořádat symboly", ID_WINDOW_ARRANGE + END + POPUP "&Nástroje" + BEGIN + MENUITEM "&Možnosti", ID_TOOLS_OPTIONS + END + POPUP "Ná&pověda" + BEGIN + MENUITEM "&Průzkumník &FAQ", ID_EXPLORER_FAQ + MENUITEM "O P&růzkumníku", ID_ABOUT_EXPLORER + MENUITEM "&O operačním systému", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Nastavení", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Správce úloh", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&O Průzkumníku", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Otevřít ovládání hlasitosti", ID_TRAY_VOLUME + MENUITEM "&Upravit vlastnosti zvuku", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Zobrazit skryté ikony", ID_SHOW_HIDDEN_ICONS + MENUITEM "Z&obrazit ikonu tlačítka", ID_SHOW_ICON_BUTTON + MENUITEM "&Nastavit upozornění", ID_CONFIG_NOTIFYAREA + MENUITEM "N&astavit datum a čas", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&O Průzkumníku", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&Soubor" + BEGIN + MENUITEM "&Spustit...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Ukončit", ID_FILE_EXIT + END + POPUP "&Zobrazení" + BEGIN + MENUITEM "Panel &nástrojů", ID_VIEW_TOOL_BAR + MENUITEM "&Boční panel", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "&Stavový řádek", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Aktualizovat\tF5", ID_REFRESH + MENUITEM "Celá obrazovka\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Nástroje" + BEGIN + MENUITEM "&Nastavení", ID_TOOLS_OPTIONS + END + POPUP "Ná&pověda" + BEGIN + MENUITEM "Průzkumník &FAQ", ID_EXPLORER_FAQ + MENUITEM "O &Průzkumníku", ID_ABOUT_EXPLORER + MENUITEM "O &Operačním systému", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Spustit" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 162, 10 + CONTROL "&Příkaz:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "Jako &symbol", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&Spustit", 1, 158, 6, 47, 14 + PUSHBUTTON "&Storno", 2, 158, 23, 47, 14 + PUSHBUTTON "Ná&pověda", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Hledat program v nabídce Start" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filtr:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Vyhledat", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Vlastnosti plochy" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Prosím zvolte si způsob zarovnání ikon:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "vlevo/n. d.", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "vlevo/n. p.", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "vpravo/n. l.", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "vpravo/d. d.", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "vlevo/dole n.", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "vlevo/dole p.", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "vpravo/d. l.", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "vpravo/d. n.", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "na okraji d.", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "na okraji", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "dokola", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Zobrazit verzi", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Vlastnosti panelu úloh" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "&Zobrazit čas", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "&Skrýt neaktivní ikony", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Upozornění...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Vlastnosti nabídky Start" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Nastavení ikon v oblasti upozorňování" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Text popisku:", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "&Název okna:", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "&Cesta:", IDC_LABEL3, 7, 81, 80, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "&Zobrazení", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "z&obrazit", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 45, 10 + CONTROL "&skrýt", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "&automaticky", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 104, 108, 55, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "&Poslední změna:", IDC_LABEL6, 7, 132, 60, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "zob&razit skryté", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 158, 57, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Storno", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Volba MDI / SDI módu" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Prosím zvolte si Vámi upřednostňovaný způsob zobrazení oken Průzkumníka:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Mnoho dokumentový interface)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 125, 10 + CONTROL "&SDI (Jedno dokumentový interface)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 125, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "&Otevírat složky v novém okně", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "Toto nastavení bude použito jako výchozí pro všechna okna Průzkumníka.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Storno", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "O ReactOS Průzkumníku" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Průzkumník", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Průzkumník" + IDS_START "Start" + IDS_LOGOFF "Odhlásit se..." + IDS_SHUTDOWN "Vypnout..." + IDS_RESTART "Restartovat..." + IDS_LAUNCH "Spustit..." + IDS_START_HELP "Nápověda" + IDS_SEARCH_FILES "Hledat" + IDS_DOCUMENTS "Dokumenty" + IDS_FAVORITES "Oblíbené" + IDS_PROGRAMS "Programy" + IDS_SETTINGS "Nastavení" + IDS_EXPLORE "Prozkoumat" + IDS_EMPTY "(Prázdné)" + IDS_RECENT "Nedávné dokumenty" + IDS_ADMIN "Systémové nástroje" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Nabídka Start" + IDS_MINIMIZE_ALL "minimalizovat všechna okna" + IDS_DESKTOP_NUM "Plocha %d" + IDS_VOLUME "Hlasitost" + IDS_ITEMS_CUR "současné položky" + IDS_ITEMS_CONFIGURED "nastavení" + IDS_ITEMS_VISIBLE "viditelné" + IDS_ITEMS_HIDDEN "skryté" + IDS_NOTIFY_SHOW "zobrazit" + IDS_NOTIFY_HIDE "skrýt" + IDS_NOTIFY_AUTOHIDE "skrývat automaticky" + IDS_SHOW_HIDDEN_ICONS "Zobrazit skryté ikony" + IDS_HIDE_ICONS "Skrýt ikony" + IDS_TERMINATE "Ukončit ReactOS Průzkumníka" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Síť" + IDS_CONNECTIONS "Síťové spojení" + IDS_DRIVES "Disky" + IDS_SEARCH_COMPUTER "Hledat počítač" + IDS_SETTINGS_MENU "Nastavení" + IDS_CONTROL_PANEL "Ovládací panel" + IDS_PRINTERS "Tiskárny" + IDS_BROWSE "Prohlížet soubory" + IDS_SEARCH_PRG "Hledat programy" + IDS_ALL_USERS "Všichni uživatelé\\" + IDS_SEARCH "Hledat" + IDS_ABOUT_EXPLORER "&O Průzkumníku" + IDS_LAUNCH_MANY_PROGRAMS "Bylo vybráno více programů.\nPřejete si je spustit všechny?" + IDS_DESKTOPBAR_SETTINGS "Nastavení plochy" + IDS_DESKTOP "Plocha" + IDS_TASKBAR "Panel úloh" + IDS_NAMECOLUMN "Název" + IDS_PATHCOLUMN "Cesta" + IDS_MENUCOLUMN "Menu path" +END diff --git a/base/shell/explorer-old/explorer-de.rc b/base/shell/explorer-old/explorer-de.rc new file mode 100644 index 00000000000..5239a79b5eb --- /dev/null +++ b/base/shell/explorer-old/explorer-de.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&Datei" + BEGIN + MENUITEM "&Ausfhren...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Beenden", ID_FILE_EXIT + END + POPUP "&Ansicht" + BEGIN + MENUITEM "&Werkzeugleiste", ID_VIEW_TOOL_BAR + MENUITEM "&Extraleiste", ID_VIEW_EXTRA_BAR + MENUITEM "&Laufwerksleiste", ID_VIEW_DRIVE_BAR + MENUITEM "Se&itenleiste", ID_VIEW_SIDE_BAR + MENUITEM "&Statusleiste", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Aktualisieren\tF5", ID_REFRESH + MENUITEM "&Vollbild\tStrg+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "&Fenster" + BEGIN + MENUITEM "Neues &Fenster", ID_WINDOW_NEW + MENUITEM "ber&lappend\tUmschalt+F5", ID_WINDOW_CASCADE + MENUITEM "&Untereinander", ID_WINDOW_TILE_HORZ + MENUITEM "&Nebeneinander\tUmschalt+F4", ID_WINDOW_TILE_VERT + MENUITEM "au&tomatisch anordnen", ID_WINDOW_AUTOSORT + MENUITEM "&Symbole anordnen", ID_WINDOW_ARRANGE + END + POPUP "&Extras" + BEGIN + MENUITEM "&Optionen", ID_TOOLS_OPTIONS + END + POPUP "&Hilfe" + BEGIN + MENUITEM "Explorer-&FAQ...", ID_EXPLORER_FAQ + MENUITEM "&ber ReactOS Explorer...", ID_ABOUT_EXPLORER + MENUITEM "ber React&OS...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Einstellungen...", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Taskmanager...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&ber Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "ffne &Lautstrkeregler", ID_TRAY_VOLUME + MENUITEM "ndern der Audio-&Einstellungen", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Zeige versteckte Symbole", ID_SHOW_HIDDEN_ICONS + MENUITEM "Zeige Symbol&knopf", ID_SHOW_ICON_BUTTON + MENUITEM "&Konfiguriere Benachrichtigungen...", ID_CONFIG_NOTIFYAREA + MENUITEM "Einstellen von &Datum/Zeit...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&ber Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&Datei" + BEGIN + MENUITEM "&Ausfhren...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Schlieen", ID_FILE_EXIT + END + POPUP "&Ansicht" + BEGIN + MENUITEM "&Werkzeugleiste", ID_VIEW_TOOL_BAR + MENUITEM "Se&itenleiste", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "&Statusleiste", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Aktualisieren\tF5", ID_REFRESH + MENUITEM "&Vollbild\tStrg+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Extras" + BEGIN + MENUITEM "&Optionen", ID_TOOLS_OPTIONS + END + POPUP "&Hilfe" + BEGIN + MENUITEM "Explorer-&FAQ...", ID_EXPLORER_FAQ + MENUITEM "&ber Explorer...", ID_ABOUT_EXPLORER + MENUITEM "ber React&OS...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Ausfhren" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 162, 10 + CONTROL "Befehls&zeile:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "Als &Symbol", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "A&bbrechen", 2, 158, 23, 47, 14 + PUSHBUTTON "&Hilfe", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Programmsuche im Startmen" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filter:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 96, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "Alle ber&prfen", IDC_CHECK_ENTRIES, 138, 7, 55, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 204 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Desktop-Einstellungen" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Bitte whlen Sie den gewnschten Platzierungs-Algorithmus fr die Desktop-Symbole aus:", IDC_STATIC, 7, 7, 197, 23 + CONTROL "li./ob. abw.", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 35, 46, 44 + CONTROL "li./ob. re.", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 35, 46, 44 + CONTROL "re./ob. li.", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 35, 46, 44 + CONTROL "re./ob. abw.", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 35, 46, 44 + CONTROL "li./unt. aufw.", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 83, 46, 44 + CONTROL "li./unt. re.", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 83, 46, 44 + CONTROL "re./unt. li.", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 83, 46, 44 + CONTROL "re./unt. aufw.", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 83, 46, 44 + CONTROL "Rahmen abw.", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 131, 46, 44 + CONTROL "Rahmen H/V", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 131, 46, 44 + CONTROL "im Kreis", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 131, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 131, 46, 44 +// CONTROL "Anzeige der &Versionsnummer", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 187, 107, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 204 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Taskleiste-Einstellungen" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Anzeigen der &Uhr", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 71, 10 + CONTROL "&Verstecke inaktive Benachrichtigungssymbole", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 155, 10 + PUSHBUTTON "&Symbole...", ID_CONFIG_NOTIFYAREA, 165, 173, 40, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 204 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Startmen-Einstellungen" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Konfiguration der Benachrichtigungssymbole" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Tooltip-Text:", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "&Fenster-Titel:", IDC_LABEL2, 7, 63, 42, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "&Modulpfad:", IDC_LABEL3, 7, 81, 36, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "&Anzeigemodus", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "&zeigen", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 37, 10 + CONTROL "&verstecken", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 55, 108, 51, 10 + CONTROL "a&utomatisch", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 110, 108, 52, 10 + ICON "", IDC_PICTURE, 173, 101, 20, 20 + LTEXT "&Letzte nderung:", IDC_LABEL6, 7, 132, 55, 8 + EDITTEXT IDC_LAST_CHANGE, 66, 129, 98, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "zei&ge versteckte", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 68, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "A&bbrechen", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Auswahl des Explorerfenster-Modus" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Bitte whlen Sie Ihr bevorzugtes Explorer Userinterface:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Multiple Document Interface)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (Single Document Interface)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "ffne Unterverzeichnisses in &neuen Fenstern", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 157, 10 + LTEXT "Diese Auswahl wird knftig fr alle Explorerfenster verwendet werden.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "A&bbrechen", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ber ReactOS Explorer" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Explorer" + IDS_START "Start" + IDS_LOGOFF "Abmelden..." + IDS_SHUTDOWN "Herunterfahren..." + IDS_RESTART "Neu starten..." + IDS_LAUNCH "Ausfhren..." + IDS_START_HELP "Hilfe" + IDS_SEARCH_FILES "Suche Dateien..." + IDS_DOCUMENTS "Dokumente" + IDS_FAVORITES "Favoriten" + IDS_PROGRAMS "Programme" + IDS_SETTINGS "Einstellungen" + IDS_EXPLORE "Explorer" + IDS_EMPTY "(Leer)" + IDS_RECENT "Aktuelle Dokumente" + IDS_ADMIN "Verwaltung" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Startmen" + IDS_MINIMIZE_ALL "alle Fenster minimieren" + IDS_DESKTOP_NUM "Desktop %d" + IDS_VOLUME "Lautstrke" + IDS_ITEMS_CUR "aktuelle Symbole" + IDS_ITEMS_CONFIGURED "Konfiguration" + IDS_ITEMS_VISIBLE "sichtbar" + IDS_ITEMS_HIDDEN "unsichtbar" + IDS_NOTIFY_SHOW "sichtbar" + IDS_NOTIFY_HIDE "versteckt" + IDS_NOTIFY_AUTOHIDE "automatisch" + IDS_SHOW_HIDDEN_ICONS "Zeige versteckte Symbole" + IDS_HIDE_ICONS "Verstecke Symbole" + IDS_TERMINATE "ROS Explorer beenden" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Netzwerk" + IDS_CONNECTIONS "Netzwerk-Verbindungen" + IDS_DRIVES "Verzeichnisse" + IDS_SEARCH_COMPUTER "Suche Computer..." + IDS_SETTINGS_MENU "Einstellungen-Menu" + IDS_CONTROL_PANEL "Systemsteuerung" + IDS_PRINTERS "Drucker" + IDS_BROWSE "Dateien" + IDS_SEARCH_PRG "Suche Programm..." + IDS_ALL_USERS "Alle Benutzer\\" + IDS_SEARCH "Suche" + IDS_ABOUT_EXPLORER "&ber Explorer..." + IDS_LAUNCH_MANY_PROGRAMS "Sie haben mehrere Programme ausgewhlt.\nSind Sie sich sicher, dass Sie diese alle starten wollen?" + IDS_DESKTOPBAR_SETTINGS "Desktop-Einstellungen" + IDS_DESKTOP "Desktop" + IDS_TASKBAR "Taskleiste" + IDS_NAMECOLUMN "Name" + IDS_PATHCOLUMN "Pfad" + IDS_MENUCOLUMN "Menpfad" +END diff --git a/base/shell/explorer-old/explorer-el.rc b/base/shell/explorer-old/explorer-el.rc new file mode 100644 index 00000000000..d16ceccf288 --- /dev/null +++ b/base/shell/explorer-old/explorer-el.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_GREEK, SUBLANG_DEFAULT + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&" + BEGIN + MENUITEM "&...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&", ID_FILE_EXIT + END + POPUP "&" + BEGIN + MENUITEM "& ", ID_VIEW_TOOL_BAR + MENUITEM "& ", ID_VIEW_EXTRA_BAR + MENUITEM "& ", ID_VIEW_DRIVE_BAR + MENUITEM "&", ID_VIEW_SIDE_BAR + MENUITEM "& ", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&\tF5", ID_REFRESH + MENUITEM "& \tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "&" + BEGIN + MENUITEM " &", ID_WINDOW_NEW + MENUITEM "\tShift+F5", ID_WINDOW_CASCADE + MENUITEM " &", ID_WINDOW_TILE_HORZ + MENUITEM " &\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM " ", ID_WINDOW_AUTOSORT + MENUITEM " &", ID_WINDOW_ARRANGE + END + POPUP "&" + BEGIN + MENUITEM "&", ID_TOOLS_OPTIONS + END + POPUP "&" + BEGIN + MENUITEM " &FAQ...", ID_EXPLORER_FAQ + MENUITEM "& ", ID_ABOUT_EXPLORER + MENUITEM "& ReactOS", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&...", ID_DESKTOPBAR_SETTINGS + MENUITEM "& ", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "& ", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM " ", ID_TRAY_VOLUME + MENUITEM " ", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "& ", ID_SHOW_HIDDEN_ICONS + MENUITEM " ", ID_SHOW_ICON_BUTTON + MENUITEM " ", ID_CONFIG_NOTIFYAREA + MENUITEM " /&", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "& ", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&" + BEGIN + MENUITEM "&...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&", ID_FILE_EXIT + END + POPUP "&" + BEGIN + MENUITEM "& ", ID_VIEW_TOOL_BAR + MENUITEM "&", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "& ", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&\tF5", ID_REFRESH + MENUITEM "& ", ID_VIEW_FULLSCREEN + MENUITEM "MDI", ID_VIEW_MDI + END + POPUP "&" + BEGIN + MENUITEM "&", ID_TOOLS_OPTIONS + END + POPUP "" + BEGIN + MENUITEM " &FAQ", ID_EXPLORER_FAQ + MENUITEM "& ", ID_ABOUT_EXPLORER + MENUITEM "& ReactOS", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL ":", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 58, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL " ", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "&", 2, 158, 24, 47, 14 + PUSHBUTTON "&", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION " """"" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&:", IDC_STATIC, 4, 9, 27, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION " " +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT " :", IDC_STATIC, 7, 7, 198, 8 + CONTROL "", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL " ", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Display &Version Number", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION " " +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL " &", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 96, 10 + CONTROL "& ", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 122, 10 + PUSHBUTTON "&...", ID_CONFIG_NOTIFYAREA, 147, 173, 56, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION " """"" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 218, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION " " +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 202, 31 + LTEXT "& :", IDC_LABEL1, 7, 44, 66, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 76, 42, 133, 14, ES_AUTOHSCROLL + LTEXT "& :", IDC_LABEL2, 7, 63, 67, 8 + EDITTEXT IDC_NOTIFY_TITLE, 76, 60, 133, 14, ES_AUTOHSCROLL + LTEXT "& :", IDC_LABEL3, 7, 81, 65, 8 + EDITTEXT IDC_NOTIFY_MODULE, 76, 78, 133, 14, ES_AUTOHSCROLL + GROUPBOX " ", IDC_LABEL4, 7, 96, 169, 31 + CONTROL "&", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 14, 108, 51, 10 + CONTROL "&", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 67, 108, 47, 10 + CONTROL "& ", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 118, 104, 56, 19 + ICON "", IDC_PICTURE, 184, 103, 20, 20 + LTEXT " :", IDC_LABEL6, 7, 134, 62, 8 + EDITTEXT IDC_LAST_CHANGE, 71, 132, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL " ", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 155, 79, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION " " +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT " :", IDC_STATIC, 7, 7, 166, 8 + CONTROL "&MDI ( )", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 137, 10 + CONTROL "&SDI ( )", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL " ", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 172, 10 + LTEXT " ", IDC_STATIC, 5, 108, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION " ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT " ReactOS", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE " ReactOS" + IDS_START "" + IDS_LOGOFF "..." + IDS_SHUTDOWN "..." + IDS_RESTART "..." + IDS_LAUNCH "..." + IDS_START_HELP "" + IDS_SEARCH_FILES "..." + IDS_DOCUMENTS " " + IDS_FAVORITES "" + IDS_PROGRAMS "" + IDS_SETTINGS "" + IDS_EXPLORE "" + IDS_EMPTY "()" + IDS_RECENT " " + IDS_ADMIN "" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU " " + IDS_MINIMIZE_ALL " " + IDS_DESKTOP_NUM " %d" + IDS_VOLUME " " + IDS_ITEMS_CUR "current items" + IDS_ITEMS_CONFIGURED "configuration" + IDS_ITEMS_VISIBLE "" + IDS_ITEMS_HIDDEN "" + IDS_NOTIFY_SHOW "" + IDS_NOTIFY_HIDE "" + IDS_NOTIFY_AUTOHIDE " " + IDS_SHOW_HIDDEN_ICONS " " + IDS_HIDE_ICONS " " + IDS_TERMINATE " ROS" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "" + IDS_CONNECTIONS " " + IDS_DRIVES " " + IDS_SEARCH_COMPUTER " ..." + IDS_SETTINGS_MENU "" + IDS_CONTROL_PANEL " " + IDS_PRINTERS "" + IDS_BROWSE " " + IDS_SEARCH_PRG " ..." + IDS_ALL_USERS "All Users\\" + IDS_SEARCH "" + IDS_ABOUT_EXPLORER " " + IDS_LAUNCH_MANY_PROGRAMS " .\n ;" + IDS_DESKTOPBAR_SETTINGS " " + IDS_DESKTOP " " + IDS_TASKBAR " " + IDS_NAMECOLUMN "Name" + IDS_PATHCOLUMN "Path" + IDS_MENUCOLUMN "Menu path" +END diff --git a/base/shell/explorer-old/explorer-en.rc b/base/shell/explorer-old/explorer-en.rc new file mode 100644 index 00000000000..2dc7e90bf89 --- /dev/null +++ b/base/shell/explorer-old/explorer-en.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Execute...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "E&xit", ID_FILE_EXIT + END + POPUP "&View" + BEGIN + MENUITEM "&Toolbar", ID_VIEW_TOOL_BAR + MENUITEM "&Extra Bar", ID_VIEW_EXTRA_BAR + MENUITEM "&Drivebar", ID_VIEW_DRIVE_BAR + MENUITEM "S&ide Bar", ID_VIEW_SIDE_BAR + MENUITEM "&Status Bar", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Refresh\tF5", ID_REFRESH + MENUITEM "F&ull Screen\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "&Window" + BEGIN + MENUITEM "New &Window", ID_WINDOW_NEW + MENUITEM "Cascading\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "Tile &Horizontally", ID_WINDOW_TILE_HORZ + MENUITEM "Tile &Vertically\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Arrange Automatically", ID_WINDOW_AUTOSORT + MENUITEM "Arrange &Symbols", ID_WINDOW_ARRANGE + END + POPUP "&Tools" + BEGIN + MENUITEM "&Options", ID_TOOLS_OPTIONS + END + POPUP "&Help" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "&About Explorer...", ID_ABOUT_EXPLORER + MENUITEM "About &OS...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Settings...", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Task Manager...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&About Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Open Volume Control", ID_TRAY_VOLUME + MENUITEM "Adjust Audio Properties", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Show Hidden Icons", ID_SHOW_HIDDEN_ICONS + MENUITEM "Show Icon &Button", ID_SHOW_ICON_BUTTON + MENUITEM "&Configure Notifications...", ID_CONFIG_NOTIFYAREA + MENUITEM "Adjust Date/&Time...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&About Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Execute...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Close", ID_FILE_EXIT + END + POPUP "&View" + BEGIN + MENUITEM "&Toolbar", ID_VIEW_TOOL_BAR + MENUITEM "S&ide Bar", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "&Status Bar", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Refresh\tF5", ID_REFRESH + MENUITEM "F&ull Screen\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Tools" + BEGIN + MENUITEM "&Options", ID_TOOLS_OPTIONS + END + POPUP "&Help" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "&About Explorer...", ID_ABOUT_EXPLORER + MENUITEM "About &OS...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Execute" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "&Command:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "As &Symbol", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "&Cancel", 2, 158, 23, 47, 14 + PUSHBUTTON "&Help", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Search Program in Startmenu" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filter:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Check Entries", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Desktop Properties" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Please select your preferred icon alignment algorithm:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "left/top dwn", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "left/top right", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "right/top left", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "rig./top dwn", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "left/bot. up", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "left/bot. right", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "right/bot. left", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "rig./bot. up", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "border down", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "border H/V", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "round about", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Display &Version Number", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Taskbar Properties" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Show &clock", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "&Hide inactive notification icons", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Notifications...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Start Menu Properties" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Configure Notification Icons" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Tooltip Text:", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "W&indow Title:", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "&Module Path:", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "&Display Mode", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "&show", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 33, 10 + CONTROL "&hide", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "a&utohide", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 43, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "&Last Change:", IDC_LABEL6, 7, 132, 43, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "sho&w hidden", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 56, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Cancel", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Choose Explorer window mode" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Please select your preferred Explorer user interface:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Multiple Document Interface)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (Single Document Interface)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "Open Subfolders in s&eparate windows", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "This setting will be used as default for all Explorer windows in the future.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Cancel", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "About ReactOS Explorer" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Explorer" + IDS_START "Start" + IDS_LOGOFF "Log Off..." + IDS_SHUTDOWN "Turn Off..." + IDS_RESTART "Restart..." + IDS_LAUNCH "Run..." + IDS_START_HELP "Help" + IDS_SEARCH_FILES "Search..." + IDS_DOCUMENTS "My Documents" + IDS_FAVORITES "Favorites" + IDS_PROGRAMS "Programs" + IDS_SETTINGS "Settings" + IDS_EXPLORE "Explore" + IDS_EMPTY "(Empty)" + IDS_RECENT "Recent Documents" + IDS_ADMIN "Administration" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Start Menu" + IDS_MINIMIZE_ALL "Minimize all windows" + IDS_DESKTOP_NUM "Desktop %d" + IDS_VOLUME "Volume" + IDS_ITEMS_CUR "Current items" + IDS_ITEMS_CONFIGURED "Configuration" + IDS_ITEMS_VISIBLE "Visible" + IDS_ITEMS_HIDDEN "Hidden" + IDS_NOTIFY_SHOW "Show" + IDS_NOTIFY_HIDE "Hide" + IDS_NOTIFY_AUTOHIDE "Autohide" + IDS_SHOW_HIDDEN_ICONS "Show hidden icons" + IDS_HIDE_ICONS "Hide icons" + IDS_TERMINATE "Terminate ROS Explorer" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Network" + IDS_CONNECTIONS "Network Connections" + IDS_DRIVES "Drives" + IDS_SEARCH_COMPUTER "Search Computer..." + IDS_SETTINGS_MENU "Settings Menu" + IDS_CONTROL_PANEL "Control Panel" + IDS_PRINTERS "Printers" + IDS_BROWSE "Browse Files" + IDS_SEARCH_PRG "Search Program..." + IDS_ALL_USERS "All Users\\" + IDS_SEARCH "Search" + IDS_ABOUT_EXPLORER "&About Explorer..." + IDS_LAUNCH_MANY_PROGRAMS "You have selected more than one program.\nAre you sure you want to launch all of them?" + IDS_DESKTOPBAR_SETTINGS "Desktop Settings" + IDS_DESKTOP "Desktop" + IDS_TASKBAR "Taskbar" + IDS_NAMECOLUMN "Name" + IDS_PATHCOLUMN "Path" + IDS_MENUCOLUMN "Menu path" +END diff --git a/base/shell/explorer-old/explorer-es.rc b/base/shell/explorer-old/explorer-es.rc new file mode 100644 index 00000000000..5f27f74564f --- /dev/null +++ b/base/shell/explorer-old/explorer-es.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&Archivo" + BEGIN + MENUITEM "E&jecutar...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Salir", ID_FILE_EXIT + END + POPUP "&Ver" + BEGIN + MENUITEM "&Herramientas", ID_VIEW_TOOL_BAR + MENUITEM "Barra &Extra", ID_VIEW_EXTRA_BAR + MENUITEM "Barra de &Unidades", ID_VIEW_DRIVE_BAR + MENUITEM "Barra &Lateral", ID_VIEW_SIDE_BAR + MENUITEM "Barra de &Estado", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Actualizar\tF5", ID_REFRESH + MENUITEM "P&antalla Completa\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&SDI", ID_VIEW_SDI + END + POPUP "&Ventana" + BEGIN + MENUITEM "Nueva &Ventana", ID_WINDOW_NEW + MENUITEM "Cascada\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "Mosaico &Horizontal", ID_WINDOW_TILE_HORZ + MENUITEM "Mosaico &Vertical\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Agrupar Automaticamente", ID_WINDOW_AUTOSORT + MENUITEM "Agrupar &Smbolos", ID_WINDOW_ARRANGE + END + POPUP "Herramientas" + BEGIN + MENUITEM "&Opciones", ID_TOOLS_OPTIONS + END + POPUP "A&yuda" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "&Acerca de Explorer...", ID_ABOUT_EXPLORER + MENUITEM "Acerca de &OS...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Configuracin...", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Administrador de Tareas...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&Acerca de Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Abrir Control de Volumen", ID_TRAY_VOLUME + MENUITEM "Ajustar Propiedades de Audio", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Mostrar iconos ocultos", ID_SHOW_HIDDEN_ICONS + MENUITEM "Mostrar &Botn de Icono", ID_SHOW_ICON_BUTTON + MENUITEM "&Configurar Notificaciones...", ID_CONFIG_NOTIFYAREA + MENUITEM "Ajustar Fecha/&Hora...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&Acerca de Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&Archivo" + BEGIN + MENUITEM "E&jecutar...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "S&alir", ID_FILE_EXIT + END + POPUP "&Ver" + BEGIN + MENUITEM "&Barra de Herramientas", ID_VIEW_TOOL_BAR + MENUITEM "Barra &Lateral", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "Barra de &Estado", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Actualizar\tF5", ID_REFRESH + MENUITEM "P&antalla Completa\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "Herramientas" + BEGIN + MENUITEM "&Opciones", ID_TOOLS_OPTIONS + END + POPUP "&Ayuda" + BEGIN + MENUITEM "Preguntas &Frecuentes...", ID_EXPLORER_FAQ + MENUITEM "&Acerca de Explorer...", ID_ABOUT_EXPLORER + MENUITEM "Acerca de &OS...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Ejecutar" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "Orden:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "Como &Smbolo", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&Aceptar", 1, 158, 6, 47, 14 + PUSHBUTTON "&Cancelar", 2, 158, 23, 47, 14 + PUSHBUTTON "&Ayuda", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Buscar Programa en el menu Inicio" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filtro:", IDC_STATIC, 7, 9, 23, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Marcar Entradas", IDC_CHECK_ENTRIES, 136, 7, 57, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Propiedades de Pantalla" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Por favor seleccione su modo de alineamiento preferido:", IDC_STATIC, 7, 7, 195, 8 + CONTROL "izquierda/arriba abajo", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "izquierda/arriba derecha", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "derecha/arriba izquierda", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "derecha/arriba abajo", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "derecha/abajo arriba", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "izquierda/abajo derecha", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "derecha/abajo izquierda", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "derecha/abajo", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "borde inferior", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "borde H/V", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "aproximado", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Mostrar &Version", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Propiedades de la Barra de Tareas" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Mostrar &Reloj", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 56, 10 + CONTROL "&Ocultar iconos de notificacin inactivos", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 137, 10 + PUSHBUTTON "&Notificaciones...", ID_CONFIG_NOTIFYAREA, 148, 173, 58, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Propiedades del Men Inicio" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Configurar Iconos de Notificaciones" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Texto de Informacin:", IDC_LABEL1, 8, 44, 80, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 82, 42, 117, 14, ES_AUTOHSCROLL + LTEXT "Ttulo de la V&entana:", IDC_LABEL2, 8, 63, 70, 8 + EDITTEXT IDC_NOTIFY_TITLE, 82, 60, 117, 14, ES_AUTOHSCROLL + LTEXT "&Parche del Mdulo:", IDC_LABEL3, 8, 81, 65, 8 + EDITTEXT IDC_NOTIFY_MODULE, 82, 78, 117, 14, ES_AUTOHSCROLL + GROUPBOX "Modo de &Visualizacin ", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "&Mostrar", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 38, 10 + CONTROL "&Ocultar", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 36, 10 + CONTROL "A&utoocultar", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 50, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "ltimo cambio:", IDC_LABEL6, 7, 132, 50, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "Mostrar Ocu<os", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 64, 10 + DEFPUSHBUTTON "&Aceptar", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Cancelar", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Elegir modo MDI / SDI" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Por favor, seleccione su interfaz de usuario preferida para el explorador:", IDC_STATIC, 7, 7, 170, 18 + CONTROL "&MDI (Interface de Multiples Documentos)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 123, 10 + CONTROL "&SDI (Interface de n Documento)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 125, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "Abrir Subcarpetas en ventanas s&eparadas", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 150, 10 + LTEXT "Esta configuracin se usar por defecto y apartir de ahora para todas las ventanas del explorador.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&Aceptar", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Cancelar", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Acerca de Explorador de ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Explorador de ReactOS", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&Aceptar", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Explorer" + IDS_START "Inicio" + IDS_LOGOFF "Salir..." + IDS_SHUTDOWN "Apagar..." + IDS_RESTART "Reiniciar..." + IDS_LAUNCH "Ejecutar..." + IDS_START_HELP "Ayuda" + IDS_SEARCH_FILES "Buscar..." + IDS_DOCUMENTS "Documentos" + IDS_FAVORITES "Favoritos" + IDS_PROGRAMS "Programas" + IDS_SETTINGS "Configuracin" + IDS_EXPLORE "Explorar" + IDS_EMPTY "(Vaco)" + IDS_RECENT "Documentos Recientes" + IDS_ADMIN "Administracin" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Men Inicio" + IDS_MINIMIZE_ALL "Mimimizar todas las ventanas" + IDS_DESKTOP_NUM "Escritorio %d" + IDS_VOLUME "Volumen" + IDS_ITEMS_CUR "Objetos Actuales" + IDS_ITEMS_CONFIGURED "configuracin" + IDS_ITEMS_VISIBLE "visible" + IDS_ITEMS_HIDDEN "oculto" + IDS_NOTIFY_SHOW "mostrar" + IDS_NOTIFY_HIDE "ocultar" + IDS_NOTIFY_AUTOHIDE "autoocultar" + IDS_SHOW_HIDDEN_ICONS "Mostrar iconos ocultos" + IDS_HIDE_ICONS "Ocultar iconos" + IDS_TERMINATE "Finalizar ROS Explorer" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Red" + IDS_CONNECTIONS "Conexiones de Red" + IDS_DRIVES "Unidades" + IDS_SEARCH_COMPUTER "Buscar PC..." + IDS_SETTINGS_MENU "Mens de Configuracin" + IDS_CONTROL_PANEL "Panel de Control" + IDS_PRINTERS "Impresoras" + IDS_BROWSE "Explorar Archivos" + IDS_SEARCH_PRG "Buscar Programas..." + IDS_ALL_USERS "Todos los Usuarios\\" + IDS_SEARCH "Buscar" + IDS_ABOUT_EXPLORER "&Acerca de Explorer..." + IDS_LAUNCH_MANY_PROGRAMS "Ha seleccionado ms de un programa.\nEst seguro de que desea ejecutarlos todos?" + IDS_DESKTOPBAR_SETTINGS "Configuracin del Escritorio" + IDS_DESKTOP "Escritorio" + IDS_TASKBAR "Barra de Tareas" + IDS_NAMECOLUMN "Nombre" + IDS_PATHCOLUMN "Ruta" + IDS_MENUCOLUMN "Menu ruta" +END diff --git a/base/shell/explorer-old/explorer-fr.rc b/base/shell/explorer-old/explorer-fr.rc new file mode 100644 index 00000000000..b6ba77d696a --- /dev/null +++ b/base/shell/explorer-old/explorer-fr.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&Fichier" + BEGIN + MENUITEM "E&xcuter...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Fermer", ID_FILE_EXIT + END + POPUP "&Affichage" + BEGIN + MENUITEM "Barre d'&outils", ID_VIEW_TOOL_BAR + MENUITEM "Barre d'&extras", ID_VIEW_EXTRA_BAR + MENUITEM "&Barre des lecteurs", ID_VIEW_DRIVE_BAR + MENUITEM "&Volet latral", ID_VIEW_SIDE_BAR + MENUITEM "Barre d'&tat", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "A&ctualiser\tF5", ID_REFRESH + MENUITEM "&Plein cran\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "&Fentre" + BEGIN + MENUITEM "Nouvelle &fentre", ID_WINDOW_NEW + MENUITEM "Cascade\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "Mosaque &horizontale", ID_WINDOW_TILE_HORZ + MENUITEM "Mosaque &verticale\tCtrl+Shift+S", ID_WINDOW_TILE_VERT + MENUITEM "Organisation automatique", ID_WINDOW_AUTOSORT + MENUITEM "&Organisation des symboles", ID_WINDOW_ARRANGE + END + POPUP "&Outils" + BEGIN + MENUITEM "&Options", ID_TOOLS_OPTIONS + END + POPUP "&Aide" + BEGIN + MENUITEM "&FAQ de l'explorateur...", ID_EXPLORER_FAQ + MENUITEM "& propos de l'explorateur...", ID_ABOUT_EXPLORER + MENUITEM " propos de l'&OS...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Paramtres...", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Gestionnaire de tches...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "& propos de l'explorateur...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Ouvrir le contrle du volume", ID_TRAY_VOLUME + MENUITEM "Ajuster les proprits audio", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Afficher les icnes caches", ID_SHOW_HIDDEN_ICONS + MENUITEM "Afficher le bouton des icnes", ID_SHOW_ICON_BUTTON + MENUITEM "&Configurer les notifications...", ID_CONFIG_NOTIFYAREA + MENUITEM "Ajuster la date/l'&heure...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "& propos de l'explorateur...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&Fichier" + BEGIN + MENUITEM "&Excuter...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Fermer", ID_FILE_EXIT + END + POPUP "&Affichage" + BEGIN + MENUITEM "&Barre d'outils", ID_VIEW_TOOL_BAR + MENUITEM "&Volet latral", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "&Barre d'tat", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "A&ctualiser\tF5", ID_REFRESH + MENUITEM "&Plein cran\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Outils" + BEGIN + MENUITEM "&Options", ID_TOOLS_OPTIONS + END + POPUP "&Aide" + BEGIN + MENUITEM "&FAQ de l'explorateur...", ID_EXPLORER_FAQ + MENUITEM "& propos de l'explorateur...", ID_ABOUT_EXPLORER + MENUITEM " propos de l'&OS...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Excuter" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "&Commande :", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "Comme &Symbole", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "&Annuler", 2, 158, 23, 47, 14 + PUSHBUTTON "&Aide", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Rechercher un programme dans le menu dmarrer" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filtre :", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Rechercher", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Proprits du bureau" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Veuillez slectionner votre algorithme d'alignement des icnes :", IDC_STATIC, 7, 7, 166, 8 + CONTROL "gauche/haut bas", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "gauche/haut droite", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "droite/haut gauche", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "droite/haut bas", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "gauche/bas haut", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "gauche/bas droite", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "droite/bas gauche", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "droite/bas bas", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "haut vers bas", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "bord H/V", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "faire le tour", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Afficher le numro de la &version", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 120, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Proprits de la barre de tches" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Afficher l'&heure", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 70, 10 + CONTROL "&Masquer les icnes inactives", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Notifications...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Proprits du menu dmarrer" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Configurer les Icnes de Notification" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Texte conseil :", IDC_LABEL1, 7, 44, 70, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 79, 42, 122, 14, ES_AUTOHSCROLL + LTEXT "Titre de la &fentre :", IDC_LABEL2, 7, 63, 61, 8 + EDITTEXT IDC_NOTIFY_TITLE, 79, 60, 123, 14, ES_AUTOHSCROLL + LTEXT "&Repertoire du module :", IDC_LABEL3, 7, 81, 71, 8 + EDITTEXT IDC_NOTIFY_MODULE, 79, 78, 123, 14, ES_AUTOHSCROLL + GROUPBOX "&Mode d'affichage", IDC_LABEL4, 7, 96, 174, 28 + CONTROL "&afficher", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 12, 108, 35, 10 + CONTROL "&cacher", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 51, 108, 34, 10 + CONTROL "&cacher automatiquement", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 89, 108, 91, 10 + ICON "", IDC_PICTURE, 183, 101, 21, 20 + LTEXT "&Dernier changement :", IDC_LABEL6, 7, 132, 69, 8 + EDITTEXT IDC_LAST_CHANGE, 77, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "Afficher les cac&hs", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 70, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Annuler", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Veuillez choisir un mode de fentres pour l'explorateur" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Veuillez slectionner l'interface que vous prfrez pour l'explorateur :", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Multiple Document Interface)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (Single Document Interface)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "Ouvrir les sous-dossiers dans des fentres s&pares", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "Ce paramtre sera utilis par dfaut.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Annuler", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION " propos de ReactOS Explorer" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Explorer" + IDS_START "Dmarrer" + IDS_LOGOFF "Se dconnecter..." + IDS_SHUTDOWN "Arrter..." + IDS_RESTART "Redmarrer..." + IDS_LAUNCH "Excuter..." + IDS_START_HELP "Aide" + IDS_SEARCH_FILES "Rechercher..." + IDS_DOCUMENTS "Documents" + IDS_FAVORITES "Favoris" + IDS_PROGRAMS "Programmes" + IDS_SETTINGS "Paramtres" + IDS_EXPLORE "Explorer" + IDS_EMPTY "(Vide)" + IDS_RECENT "Documents rcents" + IDS_ADMIN "Administration" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Menu dmarrer" + IDS_MINIMIZE_ALL "Mimimiser toutes les fentres" + IDS_DESKTOP_NUM "Bureau %d" + IDS_VOLUME "Volume" + IDS_ITEMS_CUR "objets actuels" + IDS_ITEMS_CONFIGURED "configuration" + IDS_ITEMS_VISIBLE "visible" + IDS_ITEMS_HIDDEN "cach" + IDS_NOTIFY_SHOW "afficher" + IDS_NOTIFY_HIDE "cacher" + IDS_NOTIFY_AUTOHIDE "cacher automatiquement" + IDS_SHOW_HIDDEN_ICONS "Afficher les icnes caches" + IDS_HIDE_ICONS "Cacher les icnes" + IDS_TERMINATE "Fermer ROS Explorer" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Rseaux" + IDS_CONNECTIONS "Connections rseau" + IDS_DRIVES "Lecteurs" + IDS_SEARCH_COMPUTER "Rechercher un ordinateur..." + IDS_SETTINGS_MENU "Paramtres du menu" + IDS_CONTROL_PANEL "Panneau de configuration" + IDS_PRINTERS "Imprimantes" + IDS_BROWSE "Parcourir" + IDS_SEARCH_PRG "Rechercher un programme..." + IDS_ALL_USERS "Tous les utilisateurs\\" + IDS_SEARCH "Rechercher" + IDS_ABOUT_EXPLORER "& propos de l'explorateur..." + IDS_LAUNCH_MANY_PROGRAMS "Vous avez slectionn plus d'un programme.\ntes-vous sr de vouloir tous les lancer ?" + IDS_DESKTOPBAR_SETTINGS "Paramtres du bureau" + IDS_DESKTOP "Bureau" + IDS_TASKBAR "Barre de tches" + IDS_NAMECOLUMN "Nom" + IDS_PATHCOLUMN "Chemin" + IDS_MENUCOLUMN "Chemin dans le menu" +END diff --git a/base/shell/explorer-old/explorer-he.rc b/base/shell/explorer-old/explorer-he.rc new file mode 100644 index 00000000000..4843f0cc08d --- /dev/null +++ b/base/shell/explorer-old/explorer-he.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_HEBREW, SUBLANG_DEFAULT + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&קובץ" + BEGIN + MENUITEM "הרצה...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "יציאה", ID_FILE_EXIT + END + POPUP "תצוגה" + BEGIN + MENUITEM "סרגל כלים", ID_VIEW_TOOL_BAR + MENUITEM "סרגל תוספת", ID_VIEW_EXTRA_BAR + MENUITEM "סרגל כונן", ID_VIEW_DRIVE_BAR + MENUITEM "סרגל צד", ID_VIEW_SIDE_BAR + MENUITEM "שורת מצב", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "רענון\tF5", ID_REFRESH + MENUITEM "מסך מלא\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "חלון" + BEGIN + MENUITEM "חלון חדש", ID_WINDOW_NEW + MENUITEM "מדורגים\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "חלונות מוערמים", ID_WINDOW_TILE_HORZ + MENUITEM "חלונות זה לצד זה\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "סדר אוטומטית", ID_WINDOW_AUTOSORT + MENUITEM "סדר סמלים", ID_WINDOW_ARRANGE + END + POPUP "כלים" + BEGIN + MENUITEM "אפשרויות", ID_TOOLS_OPTIONS + END + POPUP "עזרה" + BEGIN + MENUITEM "שאלות ותשובות...", ID_EXPLORER_FAQ + MENUITEM "אודות הסייר...", ID_ABOUT_EXPLORER + MENUITEM "אודות מערכת ההפעלה...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "הגדרות...", ID_DESKTOPBAR_SETTINGS + MENUITEM "מנהל המשימות...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "אודות הסייר...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "פתח בקרת עוצמה", ID_TRAY_VOLUME + MENUITEM "התאם תכונות שמע", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "הראה סמלים מוסתרים", ID_SHOW_HIDDEN_ICONS + MENUITEM "Show Icon &Button", ID_SHOW_ICON_BUTTON + MENUITEM "הגדר התראות...", ID_CONFIG_NOTIFYAREA + MENUITEM "התאמת תאריך/שעה...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "אודות הסייר...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "קובץ" + BEGIN + MENUITEM "הרצה...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "יציאה", ID_FILE_EXIT + END + POPUP "תצוגה" + BEGIN + MENUITEM "סרגל כלים", ID_VIEW_TOOL_BAR + MENUITEM "סרגל צד", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "שורת המצב", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "רענון\tF5", ID_REFRESH + MENUITEM "מסך מלא\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "כלים" + BEGIN + MENUITEM "אפשרויות", ID_TOOLS_OPTIONS + END + POPUP "עזרה" + BEGIN + MENUITEM "שאלות ותשובות...", ID_EXPLORER_FAQ + MENUITEM "אודות הסייר...", ID_ABOUT_EXPLORER + MENUITEM "אודות מערכת ההפעלה...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "הרצה" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "פקודה:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "As &Symbol", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "אישור", 1, 158, 6, 47, 14 + PUSHBUTTON "ביטול", 2, 158, 23, 47, 14 + PUSHBUTTON "עזרה", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "חיפוש תכנית בתפריט התחל" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "מסנן:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "בדוק כניסות", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "מאפייני שולחן העבודה" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Please select your preferred icon alignment algorithm:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "left/top dwn", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "left/top right", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "right/top left", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "rig./top dwn", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "left/bot. up", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "left/bot. right", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "right/bot. left", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "rig./bot. up", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "border down", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "border H/V", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "round about", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Display &Version Number", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "מאפייני שורת המשימות" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "הצג שעון", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "הסתר סמלי התראות לא פעילים", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "התראות...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "מאפייני תפריט התחל" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Configure Notification Icons" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Tooltip Text:", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "W&indow Title:", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "&Module Path:", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "&Display Mode", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "&show", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 33, 10 + CONTROL "&hide", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "a&utohide", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 43, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "&Last Change:", IDC_LABEL6, 7, 132, 43, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "sho&w hidden", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 56, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Cancel", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Choose Explorer window mode" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Please select your preferred Explorer user interface:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Multiple Document Interface)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (Single Document Interface)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "Open Subfolders in s&eparate windows", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "This setting will be used as default for all Explorer windows in the future.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "אישור", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "ביטול", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "אודות סייר ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "סייר ReactOS", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "גרסה 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "אישור", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS סייר" + IDS_START "התחל" + IDS_LOGOFF "התנתקות..." + IDS_SHUTDOWN "כיבוי..." + IDS_RESTART "הפעלה מחדש..." + IDS_LAUNCH "הפעלה..." + IDS_START_HELP "עזרה" + IDS_SEARCH_FILES "חיפוש..." + IDS_DOCUMENTS "המסמכים שלי" + IDS_FAVORITES "מועדפים" + IDS_PROGRAMS "תכניות" + IDS_SETTINGS "הגדרות" + IDS_EXPLORE "סייר" + IDS_EMPTY "(ריק)" + IDS_RECENT "מסמכים אחרונים" + IDS_ADMIN "ניהול" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "תפריט התחל" + IDS_MINIMIZE_ALL "מזער את כל החלונות" + IDS_DESKTOP_NUM "שולחן עבודה %d" + IDS_VOLUME "עוצמה" + IDS_ITEMS_CUR "פריטים נוכחיים" + IDS_ITEMS_CONFIGURED "הגדרה" + IDS_ITEMS_VISIBLE "נראה" + IDS_ITEMS_HIDDEN "מוסתר" + IDS_NOTIFY_SHOW "הראה" + IDS_NOTIFY_HIDE "הסתר" + IDS_NOTIFY_AUTOHIDE "הסתר אוטומטית" + IDS_SHOW_HIDDEN_ICONS "הצג סמלים מוסתרים" + IDS_HIDE_ICONS "הסתר סמלים" + IDS_TERMINATE "סגור את הסייר" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "רשת" + IDS_CONNECTIONS "חיבורי רשת" + IDS_DRIVES "כוננים" + IDS_SEARCH_COMPUTER "חיפוש מחשב..." + IDS_SETTINGS_MENU "תפריט ההגדרות" + IDS_CONTROL_PANEL "לוח הבקרה" + IDS_PRINTERS "מדפסות" + IDS_BROWSE "עייו בקבצים" + IDS_SEARCH_PRG "חיפוש תכנית..." + IDS_ALL_USERS "כל המשתמשים\\" + IDS_SEARCH "חיפוש" + IDS_ABOUT_EXPLORER "אודות הסייר" + IDS_LAUNCH_MANY_PROGRAMS "You have selected more than one program.\nAre you sure you want to launch all of them?" + IDS_DESKTOPBAR_SETTINGS "הגדרות שולחן העבודה" + IDS_DESKTOP "שולחן העבודה" + IDS_TASKBAR "שורת המשימות" + IDS_NAMECOLUMN "שם" + IDS_PATHCOLUMN "נתיב" + IDS_MENUCOLUMN "נתיב התפריט" +END diff --git a/base/shell/explorer-old/explorer-hu.rc b/base/shell/explorer-old/explorer-hu.rc new file mode 100644 index 00000000000..0b8523667f9 --- /dev/null +++ b/base/shell/explorer-old/explorer-hu.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Futtats...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Kilps", ID_FILE_EXIT + END + POPUP "&Nzet" + BEGIN + MENUITEM "&Eszkztr", ID_VIEW_TOOL_BAR + MENUITEM "&Extra Bar", ID_VIEW_EXTRA_BAR + MENUITEM "&Drivebar", ID_VIEW_DRIVE_BAR + MENUITEM "S&ide Bar", ID_VIEW_SIDE_BAR + MENUITEM "&llapot sor", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Frisst\tF5", ID_REFRESH + MENUITEM "T&eljes kperny\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "&Ablak" + BEGIN + MENUITEM "j &Ablak", ID_WINDOW_NEW + MENUITEM "Lpcszetes\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "Tile &Horizontally", ID_WINDOW_TILE_HORZ + MENUITEM "Tile &Vertically\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Arrange Automatically", ID_WINDOW_AUTOSORT + MENUITEM "Arrange &Symbols", ID_WINDOW_ARRANGE + END + POPUP "&Eszkzk" + BEGIN + MENUITEM "&Belltsok", ID_TOOLS_OPTIONS + END + POPUP "&Sg" + BEGIN + MENUITEM "Explorer &GYIK...", ID_EXPLORER_FAQ + MENUITEM "Explorer &nvjegye...", ID_ABOUT_EXPLORER + MENUITEM "Az &OS nvjegye...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Belltsok...", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Feladatkezel...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&Explorer nvjegye...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Hanger belltsok", ID_TRAY_VOLUME + MENUITEM "Hangrendszer tulajdonsgai", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Rejtett ikonok megjelentse", ID_SHOW_HIDDEN_ICONS + MENUITEM "Show Icon &Button", ID_SHOW_ICON_BUTTON + MENUITEM "&Configure Notifications...", ID_CONFIG_NOTIFYAREA + MENUITEM "Dtum s id belltsai...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&Explorer nvjegye...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Futtats...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Bezrs", ID_FILE_EXIT + END + POPUP "&Nzet" + BEGIN + MENUITEM "&Eszkztr", ID_VIEW_TOOL_BAR + MENUITEM "S&ide Bar", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "&llapot sor", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Frissts\tF5", ID_REFRESH + MENUITEM "T&eljes kperny\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Eszkzk" + BEGIN + MENUITEM "&Belltsok", ID_TOOLS_OPTIONS + END + POPUP "&Sg" + BEGIN + MENUITEM "Explorer &GYIK...", ID_EXPLORER_FAQ + MENUITEM "&Az Explorer nvjegye...", ID_ABOUT_EXPLORER + MENUITEM "Az &OS nvjegye...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Futtats" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "&Parancs:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "As &Symbol", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "&Mgse", 2, 158, 23, 47, 14 + PUSHBUTTON "&Sg", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Search Program in Startmenu" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filter:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Check Entries", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Asztal belltsai" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Please select your preferred icon alignment algorithm:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "left/top dwn", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "left/top right", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "right/top left", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "rig./top dwn", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "left/bot. up", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "left/bot. right", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "right/bot. left", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "rig./bot. up", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "border down", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "border H/V", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "round about", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Display &Version Number", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Taskbar Properties" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Show &clock", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "&Hide inactive notification icons", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Notifications...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Start Menu Properties" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Configure Notification Icons" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Tooltip Text:", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "W&indow Title:", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "&Module Path:", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "&Display Mode", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "&show", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 33, 10 + CONTROL "&hide", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "a&utohide", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 43, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "&Last Change:", IDC_LABEL6, 7, 132, 43, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "sho&w hidden", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 56, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Mgse", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Choose Explorer window mode" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Please select your prefered explorer user interface:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Multiple Document Interface)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (Single Document Interface)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "Open Subfolders in s&eparate windows", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "This setting will be used as default for all Explorer windows in the future.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Mgse", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "About ReactOS Explorer" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Explorer" + IDS_START "Start" + IDS_LOGOFF "Kijelentkezs..." + IDS_SHUTDOWN "Kikapcsols..." + IDS_RESTART "Restart..." + IDS_LAUNCH "Futtats..." + IDS_START_HELP "Sg" + IDS_SEARCH_FILES "Keress..." + IDS_DOCUMENTS "Dokumentumok" + IDS_FAVORITES "Kedvencek" + IDS_PROGRAMS "Programok" + IDS_SETTINGS "Belltsok" + IDS_EXPLORE "Bngszs" + IDS_EMPTY "(res)" + IDS_RECENT "Recent Documents" + IDS_ADMIN "Felgyelet" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Start Menu" + IDS_MINIMIZE_ALL "mimimize all windows" + IDS_DESKTOP_NUM "%d. asztal" + IDS_VOLUME "Hanger" + IDS_ITEMS_CUR "Current items" + IDS_ITEMS_CONFIGURED "Configuration" + IDS_ITEMS_VISIBLE "Visible" + IDS_ITEMS_HIDDEN "Rejtett" + IDS_NOTIFY_SHOW "Show" + IDS_NOTIFY_HIDE "Hide" + IDS_NOTIFY_AUTOHIDE "Autohide" + IDS_SHOW_HIDDEN_ICONS "Show hidden icons" + IDS_HIDE_ICONS "Hide icons" + IDS_TERMINATE "Kilps a ROS Explorerbl" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Hlzat" + IDS_CONNECTIONS "Hlzati kapcsolatok" + IDS_DRIVES "Meghajtk" + IDS_SEARCH_COMPUTER "Szmtgp keresse..." + IDS_SETTINGS_MENU "Settings Menu" + IDS_CONTROL_PANEL "Vezrlpult" + IDS_PRINTERS "Nyomtatk" + IDS_BROWSE "llomnyok bngszse" + IDS_SEARCH_PRG "Search Program..." + IDS_ALL_USERS "All Users\\" + IDS_SEARCH "Keress" + IDS_ABOUT_EXPLORER "Az &Explorer nvjegye..." + IDS_LAUNCH_MANY_PROGRAMS "Tbb programot vlasztottl ki.\nBiztosan szeretnd mindegyiket futtatni?" + IDS_DESKTOPBAR_SETTINGS "Asztal belltsai" + IDS_DESKTOP "Asztal" + IDS_TASKBAR "Taskbar" + IDS_NAMECOLUMN "Name" + IDS_PATHCOLUMN "Path" + IDS_MENUCOLUMN "Menu path" +END diff --git a/base/shell/explorer-old/explorer-id.rc b/base/shell/explorer-old/explorer-id.rc new file mode 100644 index 00000000000..f0926cc3206 --- /dev/null +++ b/base/shell/explorer-old/explorer-id.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Jalankan...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Keluar", ID_FILE_EXIT + END + POPUP "&Lihat" + BEGIN + MENUITEM "&Toolbar", ID_VIEW_TOOL_BAR + MENUITEM "Bar &Ekstra", ID_VIEW_EXTRA_BAR + MENUITEM "&Drivebar", ID_VIEW_DRIVE_BAR + MENUITEM "S&ide Bar", ID_VIEW_SIDE_BAR + MENUITEM "Bar &Status", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "Se&garkan\tF5", ID_REFRESH + MENUITEM "Layar Pen&uh\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "&Jendela" + BEGIN + MENUITEM "&Jendela Baru", ID_WINDOW_NEW + MENUITEM "Cascading\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "Tile &Horisontal", ID_WINDOW_TILE_HORZ + MENUITEM "Tile &Vertikal\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Atur Secara Otomatis", ID_WINDOW_AUTOSORT + MENUITEM "Atur &Simbol", ID_WINDOW_ARRANGE + END + POPUP "&Piranti" + BEGIN + MENUITEM "&Opsi", ID_TOOLS_OPTIONS + END + POPUP "&Bantuan" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "&Tentang Explorer...", ID_ABOUT_EXPLORER + MENUITEM "Tentang &OS...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Setelan...", ID_DESKTOPBAR_SETTINGS + MENUITEM "Manajer &Tugas...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "Tentang &Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Buka Kontrol Volume", ID_TRAY_VOLUME + MENUITEM "Sesuaikan Properti Audio", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Tampilkan ikon tersembunyi", ID_SHOW_HIDDEN_ICONS + MENUITEM "Tampilkan Tom&bol Ikon", ID_SHOW_ICON_BUTTON + MENUITEM "&Konfigurasi Pemberitahuan...", ID_CONFIG_NOTIFYAREA + MENUITEM "Sesuaikan Tanggal/&Jam...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "Tent&ang Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Jalankan...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Tutup", ID_FILE_EXIT + END + POPUP "&Lihat" + BEGIN + MENUITEM "&Toolbar", ID_VIEW_TOOL_BAR + MENUITEM "S&ide Bar", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "&Status Bar", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "Se&garkan\tF5", ID_REFRESH + MENUITEM "Layar Pen&uh\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Piranti" + BEGIN + MENUITEM "&Opsi", ID_TOOLS_OPTIONS + END + POPUP "&Bantuan" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "Tent&ang Explorer...", ID_ABOUT_EXPLORER + MENUITEM "Tentang &OS...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Jalankan" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "&Perintah:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "Sebagai &Simbol", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "Bata&l", 2, 158, 23, 47, 14 + PUSHBUTTON "&Bantuan", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Cari Program dalam Startmenu" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filter:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Periksa Entri", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Properti Desktop" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Silahkan pilih algoritma penajajran ikon yang disukai:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "kiri/atas bwh", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "kiri/atas kanan", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "kanan/atas kiri", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "kanan/atas bwh", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "kiri/bwh atas", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "kiri/bwh kanan", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "kanan/bwh kiri", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "kanan/bwh turun", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "batas turun", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "batas H/V", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "berputar", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Tampilkan Nomor &Versi", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Properti Taskbar" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "tampilkan &jam", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "&sembunyikan ikon pemberitahuan tidak aktif", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Pemberitahuan...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Properti Startmenu" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Konfigurasi Ikon Pemberitahuan" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "Teks &Tooltip:", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "Judul &Jendela:", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "Path &Modul:", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "Mode Tampi&lan", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "&tampil", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 33, 10 + CONTROL "&sembunyi", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "a&utohide", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 43, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "Perubahan Terakhir:", IDC_LABEL6, 7, 132, 43, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "tampil tersemunyi", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 56, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Batal", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Pilih mode jendela Explorer" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Silahkan pilih interface pengguna explorer yang disukai:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Multiple Document Interface)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (Single Document Interface)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "Open Subfolder dalam jendela t&erpisah", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "Setelan ini akan digunakan sebagai standar untuk semua jendela explorer nantinya.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Batal", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Tentang ReactOS Explorer" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Explorer" + IDS_START "Mulai" + IDS_LOGOFF "Keluar..." + IDS_SHUTDOWN "Matikan..." + IDS_RESTART "Restart..." + IDS_LAUNCH "Jalankan..." + IDS_START_HELP "Bantuan" + IDS_SEARCH_FILES "Cari..." + IDS_DOCUMENTS "Dokumen Saya" + IDS_FAVORITES "Favorit" + IDS_PROGRAMS "Program" + IDS_SETTINGS "Setelan" + IDS_EXPLORE "Explorasi" + IDS_EMPTY "(Kosong)" + IDS_RECENT "Dokumen Terbaru" + IDS_ADMIN "Administrasi" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Startmenu" + IDS_MINIMIZE_ALL "kecilkan semua jendela" + IDS_DESKTOP_NUM "Desktop %d" + IDS_VOLUME "Volume" + IDS_ITEMS_CUR "item saat ini" + IDS_ITEMS_CONFIGURED "konfigurasi" + IDS_ITEMS_VISIBLE "nampak" + IDS_ITEMS_HIDDEN "sembunyi" + IDS_NOTIFY_SHOW "tampil" + IDS_NOTIFY_HIDE "sembunyi" + IDS_NOTIFY_AUTOHIDE "autohide" + IDS_SHOW_HIDDEN_ICONS "Tampilkan ikon sembunyi" + IDS_HIDE_ICONS "Sembunyikan ikon" + IDS_TERMINATE "Akhiri ROS Explorer" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Jaringan" + IDS_CONNECTIONS "Koneksi Jaringan" + IDS_DRIVES "Drive" + IDS_SEARCH_COMPUTER "Cari Komputer..." + IDS_SETTINGS_MENU "Menu Setelan" + IDS_CONTROL_PANEL "Panel Kontrol" + IDS_PRINTERS "Printer" + IDS_BROWSE "Lihat File" + IDS_SEARCH_PRG "Cari Program..." + IDS_ALL_USERS "Semua Pengguna\\" + IDS_SEARCH "Cari" + IDS_ABOUT_EXPLORER "Tent&ang Explorer..." + IDS_LAUNCH_MANY_PROGRAMS "Anda telah memilih lebih dari satu program.\nAnda yakin ingin menjalankan semuanya?" + IDS_DESKTOPBAR_SETTINGS "Setelan Desktop" + IDS_DESKTOP "Desktop" + IDS_TASKBAR "Taskbar" + IDS_NAMECOLUMN "Name" + IDS_PATHCOLUMN "Path" + IDS_MENUCOLUMN "Menu path" +END diff --git a/base/shell/explorer-old/explorer-it.rc b/base/shell/explorer-old/explorer-it.rc new file mode 100644 index 00000000000..61ac274f880 --- /dev/null +++ b/base/shell/explorer-old/explorer-it.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Esegui...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "E&sci", ID_FILE_EXIT + END + POPUP "&Visualizza" + BEGIN + MENUITEM "Barra degli s&trumenti", ID_VIEW_TOOL_BAR + MENUITEM "&Extra Bar", ID_VIEW_EXTRA_BAR + MENUITEM "&Drivebar", ID_VIEW_DRIVE_BAR + MENUITEM "S&ide Bar", ID_VIEW_SIDE_BAR + MENUITEM "Barra di &stato", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Aggiorna\tF5", ID_REFRESH + MENUITEM "Schermo intero\tCtrl+Maiusc+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "&Finestra" + BEGIN + MENUITEM "Nuova finestra", ID_WINDOW_NEW + MENUITEM "Sovrapponi\tMaiusc+F5", ID_WINDOW_CASCADE + MENUITEM "Affianca &orizzontamente", ID_WINDOW_TILE_HORZ + MENUITEM "Affianca &verticalmente\tMaiusc+F4", ID_WINDOW_TILE_VERT + MENUITEM "Disponi automaticamente", ID_WINDOW_AUTOSORT + MENUITEM "Disponi &Simboli", ID_WINDOW_ARRANGE + END + POPUP "&Strumenti" + BEGIN + MENUITEM "&Opzioni", ID_TOOLS_OPTIONS + END + POPUP "&?" + BEGIN + MENUITEM "&FAQ su Explorer...", ID_EXPLORER_FAQ + MENUITEM "&Informazioni su Explorer...", ID_ABOUT_EXPLORER + MENUITEM "Informazioni su React&OS...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Impostazioni...", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Task Manager...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&Informazioni su Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Apri Controllo volume", ID_TRAY_VOLUME + MENUITEM "Regola Propriet Audio", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Visualizza icone nascoste", ID_SHOW_HIDDEN_ICONS + MENUITEM "Visualizza icone &bottoni", ID_SHOW_ICON_BUTTON + MENUITEM "&Configura notifiche...", ID_CONFIG_NOTIFYAREA + MENUITEM "Regola Data/&Ora...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&Informazioni su Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Esegui...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Chiudi", ID_FILE_EXIT + END + POPUP "&Visualizza" + BEGIN + MENUITEM "Barra degli s&trumenti", ID_VIEW_TOOL_BAR + MENUITEM "S&ide Bar", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "Barra di &stato", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Aggiorna\tF5", ID_REFRESH + MENUITEM "Schermo intero\tCtrl+Maiusc+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Strumenti" + BEGIN + MENUITEM "&Opzioni", ID_TOOLS_OPTIONS + END + POPUP "&?" + BEGIN + MENUITEM "&FAQ su Explorer...", ID_EXPLORER_FAQ + MENUITEM "&Informazioni su Explorer...", ID_ABOUT_EXPLORER + MENUITEM "Informazioni su React&OS...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Esegui" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "&Comando:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "Come &Simbolo", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "&Annulla", 2, 158, 23, 47, 14 + PUSHBUTTON "&Aiuto", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Cerca programmi nel menu avvio" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filtro:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Verifica elementi", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Impostazioni desktop" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Seleziona la modalit di allineamento delle icone che preferisci:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "left/top dwn", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "left/top right", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "right/top left", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "rig./top dwn", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "left/bot. up", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "left/bot. right", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "right/bot. left", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "rig./bot. up", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "border down", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "border H/V", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "round about", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Visualizza versione", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Impostazioni Taskbar" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Visualizza orologio", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 74, 10 + CONTROL "&Nascondi icone inattive", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Notifiche...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Impostazioni Menu di avvio" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Configura icone di notifica" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Testo di aiuto:", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "Titolo finestra:", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "Percorso del modulo:", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "&Modalit di visualizzazione", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "&visualizza", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 33, 10 + CONTROL "&nascondi", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "nascondi &automaticamente", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 43, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "&Ultima modifica:", IDC_LABEL6, 7, 132, 43, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "sho&w hidden", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 56, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Annulla", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Seleziona aspetto di Explorer" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Seleziona la modalit di explorer:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Interfaccia a documenti multipli)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (Interfaccia a documento singolo)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "Apri sottocartelle in finestre separate", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "Queste impostazioni saranno usate come predefinite per tutte le finestre di explorer.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Annulla", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Informazioni su ReactOS Explorer" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Explorer" + IDS_START "Start" + IDS_LOGOFF "Disconnetti..." + IDS_SHUTDOWN "Chiudi sessione..." + IDS_RESTART "Restart..." + IDS_LAUNCH "Esegui..." + IDS_START_HELP "Guida" + IDS_SEARCH_FILES "Cerca..." + IDS_DOCUMENTS "Documenti" + IDS_FAVORITES "Preferiti" + IDS_PROGRAMS "Programmi" + IDS_SETTINGS "Impostazioni" + IDS_EXPLORE "Esplora" + IDS_EMPTY "(Vuoto)" + IDS_RECENT "Documenti recenti" + IDS_ADMIN "Amministrazione" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Menu avvio" + IDS_MINIMIZE_ALL "Minimizza tutte le finestre" + IDS_DESKTOP_NUM "Desktop %d" + IDS_VOLUME "Volume" + IDS_ITEMS_CUR "elementi attuali" + IDS_ITEMS_CONFIGURED "configurazione" + IDS_ITEMS_VISIBLE "visibile" + IDS_ITEMS_HIDDEN "nascosto" + IDS_NOTIFY_SHOW "visualizza" + IDS_NOTIFY_HIDE "nascondi" + IDS_NOTIFY_AUTOHIDE "nascondi automaticamente" + IDS_SHOW_HIDDEN_ICONS "Visualizza icone nascoste" + IDS_HIDE_ICONS "Nascondi icone" + IDS_TERMINATE "Termina ReactOS Explorer" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Rete" + IDS_CONNECTIONS "Connessioni di rete" + IDS_DRIVES "Risorse del computer" + IDS_SEARCH_COMPUTER "Cerca computer..." + IDS_SETTINGS_MENU "Impostazioni" + IDS_CONTROL_PANEL "Pannello di controllo" + IDS_PRINTERS "Stampanti" + IDS_BROWSE "Naviga files" + IDS_SEARCH_PRG "Cerca programma..." + IDS_ALL_USERS "Tutti gli utenti\\" + IDS_SEARCH "Cerca" + IDS_ABOUT_EXPLORER "&Informazioni su Explorer..." + IDS_LAUNCH_MANY_PROGRAMS "Hai selezionato pi di un programma.\nSei sicuro di volerli eseguire tutti?" + IDS_DESKTOPBAR_SETTINGS "Impostazioni del Desktop" + IDS_DESKTOP "Desktop" + IDS_TASKBAR "Taskbar" + IDS_NAMECOLUMN "Name" + IDS_PATHCOLUMN "Path" + IDS_MENUCOLUMN "Menu path" +END diff --git a/base/shell/explorer-old/explorer-ja.rc b/base/shell/explorer-old/explorer-ja.rc new file mode 100644 index 00000000000..b8b433302dd --- /dev/null +++ b/base/shell/explorer-old/explorer-ja.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "t@C(&F)" + BEGIN + MENUITEM "s(&E)...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "I(&X)", ID_FILE_EXIT + END + POPUP "\\(&V)" + BEGIN + MENUITEM "c[ o[(&T)", ID_VIEW_TOOL_BAR + MENUITEM "GLXg o[(&E)", ID_VIEW_EXTRA_BAR + MENUITEM "hCuo[(&D)", ID_VIEW_DRIVE_BAR + MENUITEM "TCh o[(&I)", ID_VIEW_SIDE_BAR + MENUITEM "Xe[^X o[(&S)", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "ŐV̏ɍXV(&R)\tF5", ID_REFRESH + MENUITEM "Sʕ\\(&U)\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "EBhE(&W)" + BEGIN + MENUITEM "VEBhE(&W)", ID_WINDOW_NEW + MENUITEM "d˂ĕ\\\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "ɕׂĕ\\(&H)", ID_WINDOW_TILE_HORZ + MENUITEM "ɕׂĕ\\(&V)\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "", ID_WINDOW_AUTOSORT + MENUITEM "ŏꂽqEBhE𐮗(&S)", ID_WINDOW_ARRANGE + END + POPUP "c[(&T)" + BEGIN + MENUITEM "IvV(&O)", ID_TOOLS_OPTIONS + END + POPUP "wv(&H)" + BEGIN + MENUITEM "Explorer FAQ (&F)...", ID_EXPLORER_FAQ + MENUITEM "Explorer ɂ‚(&A)...", ID_ABOUT_EXPLORER + MENUITEM "OS ɂ‚(&O)...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "ݒ(&S)...", ID_DESKTOPBAR_SETTINGS + MENUITEM "^XN }l[W(&T)...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "Explorer ɂ‚(&A)...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "{[ Rg[J", ID_TRAY_VOLUME + MENUITEM "I[fBI vpeB̒", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "BꂽACR\\(&S)", ID_SHOW_HIDDEN_ICONS + MENUITEM "ACR {^\\(&B)", ID_SHOW_ICON_BUTTON + MENUITEM "ʒm̃JX^}CY(&C)...", ID_CONFIG_NOTIFYAREA + MENUITEM "tƎ̒(&T)...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "Explorer ɂ‚(&A)...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "t@C(&F)" + BEGIN + MENUITEM "s(&E)...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "‚(&C)", ID_FILE_EXIT + END + POPUP "\\(&V)" + BEGIN + MENUITEM "c[ o[(&T)", ID_VIEW_TOOL_BAR + MENUITEM "TCh o[(&I)", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "Xe[^X o[(&S)", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "ŐV̏ɍXV(&R)\tF5", ID_REFRESH + MENUITEM "Sʕ\\(&U)\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "MDI (&M)", ID_VIEW_MDI + END + POPUP "c[(&T)" + BEGIN + MENUITEM "IvV(&O)", ID_TOOLS_OPTIONS + END + POPUP "wv(&H)" + BEGIN + MENUITEM "Explorer FAQ (&F)...", ID_EXPLORER_FAQ + MENUITEM "Explorer ɂ‚(&A)...", ID_ABOUT_EXPLORER + MENUITEM "OS ɂ‚(&O)...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "s" +FONT 9, "MS UI Gothic" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "R}h(&C):", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "ŏԂŎs(&S)", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "OK (&O)", 1, 158, 6, 47, 14 + PUSHBUTTON "LZ(&C)", 2, 158, 23, 47, 14 + PUSHBUTTON "wv(&H)", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "X^[gj[vO" +FONT 9, "MS UI Gothic", 0, 0, 0x1 +BEGIN + LTEXT "tB^(&F):", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "o^`FbN(&C)", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "fXNgbṽvpeB" +FONT 9, "MS UI Gothic" +BEGIN + LTEXT "gpACR̔zuIĂ:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "ォ牺", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "ォE", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "Eォ獶", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "Eォ牺", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "E", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "E獶", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "E牺", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "E", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "ƍE̒[", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "ւɂȂ悤", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "fXNgbvɃo[W\\(&V)", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "^XN o[̃vpeB" +FONT 9, "MS UI Gothic" +BEGIN + CONTROL "v\\(&C)", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "ANeBułȂʒmACRB(&H)", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "ʒmACR(&N)...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "X^[gj[̃vpeB" +FONT 9, "MS UI Gothic" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "ʒmACR̐ݒ" +FONT 9, "MS UI Gothic", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "c[ `bv̓e(&T):", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "EBhẼ^Cg(&I):", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "W[̏ꏊ(&M):", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "\\[h(&D)", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "\\(&S)", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 33, 10 + CONTROL "B(&H)", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "IɉB(&U)", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 43, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "ŏIύX(&L):", IDC_LABEL6, 7, 132, 43, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "BꂽACR\\(&W)", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 56, 10 + DEFPUSHBUTTON "OK (&O)", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "LZ(&C)", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "GNXv[̃EBhE [h̑I" +FONT 9, "MS UI Gothic", 0, 0, 0x1 +BEGIN + LTEXT "gp[U[ C^[tF[XIĂ:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "MDI (Multiple Document Interface)(&M)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "SDI (Single Document Interface)(&S)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "TutH_VEBhEŊJ(&E)", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "肱̐ݒ肪AׂĂ Explorer EBhẼftHgɂȂ܂B", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "OK (&O)", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "LZ(&C)", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ReactOS Explorer ɂ‚" +FONT 9, "MS UI Gothic" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "OK (&O)", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Explorer" + IDS_START "X^[g" + IDS_LOGOFF "OIt..." + IDS_SHUTDOWN "Vbg_E..." + IDS_RESTART "ċN..." + IDS_LAUNCH "t@Cw肵Ďs..." + IDS_START_HELP "wv" + IDS_SEARCH_FILES "t@CtH_..." + IDS_DOCUMENTS "}ChLg" + IDS_FAVORITES "Cɓ" + IDS_PROGRAMS "vO" + IDS_SETTINGS "ݒ" + IDS_EXPLORE "GNXv[" + IDS_EMPTY "(Ȃ)" + IDS_RECENT "ŋߎgt@C" + IDS_ADMIN "Ǘc[" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "X^[gj[" + IDS_MINIMIZE_ALL "SEBhEŏ" + IDS_DESKTOP_NUM "fXNgbv %d" + IDS_VOLUME "" + IDS_ITEMS_CUR "݂̃ACR" + IDS_ITEMS_CONFIGURED "ݒ" + IDS_ITEMS_VISIBLE "\\" + IDS_ITEMS_HIDDEN "\\" + IDS_NOTIFY_SHOW "\\" + IDS_NOTIFY_HIDE "B" + IDS_NOTIFY_AUTOHIDE "IɉB" + IDS_SHOW_HIDDEN_ICONS "BĂACR\\" + IDS_HIDE_ICONS "ACRB" + IDS_TERMINATE "ROS Explorer I" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "lbg[N" + IDS_CONNECTIONS "lbg[Nڑ" + IDS_DRIVES "[JfBXN" + IDS_SEARCH_COMPUTER "Rs[^̌..." + IDS_SETTINGS_MENU "ݒ胁j[" + IDS_CONTROL_PANEL "Rg[ pl" + IDS_PRINTERS "v^" + IDS_BROWSE "t@C̃uEY" + IDS_SEARCH_PRG "vO..." + IDS_ALL_USERS "All Users\\" + IDS_SEARCH "" + IDS_ABOUT_EXPLORER "Explorer ɂ‚(&A)..." + IDS_LAUNCH_MANY_PROGRAMS "ˆȏ̃vOI܂B\nׂẴvOs܂?" + IDS_DESKTOPBAR_SETTINGS "fXNgbv̐ݒ" + IDS_DESKTOP "fXNgbv" + IDS_TASKBAR "^XNo[" + IDS_NAMECOLUMN "O" + IDS_PATHCOLUMN "pX" + IDS_MENUCOLUMN "j[pX" +END diff --git a/base/shell/explorer-old/explorer-ko.rc b/base/shell/explorer-old/explorer-ko.rc new file mode 100644 index 00000000000..fe6f081da32 --- /dev/null +++ b/base/shell/explorer-old/explorer-ko.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_KOREAN, SUBLANG_NEUTRAL + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "(&F)" + BEGIN + MENUITEM "(&E)...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "(&X)", ID_FILE_EXIT + END + POPUP "(&V)" + BEGIN + MENUITEM "(&T)", ID_VIEW_TOOL_BAR + MENUITEM "Ʈ (&E)", ID_VIEW_EXTRA_BAR + MENUITEM "̺ (&D)", ID_VIEW_DRIVE_BAR + MENUITEM "̵ (&I)", ID_VIEW_SIDE_BAR + MENUITEM " (&S)", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM " ħ(&R)\tF5", ID_REFRESH + MENUITEM "ü ȭ(&U)\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "(&W)" + BEGIN + MENUITEM " (&W)", ID_WINDOW_NEW + MENUITEM "ܽ \tShift+F5", ID_WINDOW_CASCADE + MENUITEM " ٵǽ (&H)", ID_WINDOW_TILE_HORZ + MENUITEM " ٵǽ (&V)\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "ڵ ", ID_WINDOW_AUTOSORT + MENUITEM "Arrange &Symbols", ID_WINDOW_ARRANGE + END + POPUP "(&T)" + BEGIN + MENUITEM "ɼ(&O)", ID_TOOLS_OPTIONS + END + POPUP "(&H)" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "Explorer (&A)...", ID_ABOUT_EXPLORER + MENUITEM "&OS ...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "(&S)...", ID_DESKTOPBAR_SETTINGS + MENUITEM "۾ (&T)...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "Explorer (&A)...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM " ", ID_TRAY_VOLUME + MENUITEM " Ӽ ", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM " ̱(&S)", ID_SHOW_HIDDEN_ICONS + MENUITEM " ư ̱(&B)", ID_SHOW_ICON_BUTTON + MENUITEM "˸ (&C)...", ID_CONFIG_NOTIFYAREA + MENUITEM "¥/ð (&T)...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "Explorer (&A)...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "(&F)" + BEGIN + MENUITEM "(&E)...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "ݱ(&C)", ID_FILE_EXIT + END + POPUP "(&V)" + BEGIN + MENUITEM "(&T)", ID_VIEW_TOOL_BAR + MENUITEM "̵ (&I)", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM " (&S)", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM " ħ(&R)\tF5", ID_REFRESH + MENUITEM "ü ȭ(&U)\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "(&T)" + BEGIN + MENUITEM "ɼ(&O)", ID_TOOLS_OPTIONS + END + POPUP "(&H)" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "Explorer (&A)...", ID_ABOUT_EXPLORER + MENUITEM "&OS ...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Execute" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "ɾ(&C):", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "ɺ(&S)", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "Ȯ(&O)", 1, 158, 6, 47, 14 + PUSHBUTTON "(&C)", 2, 158, 23, 47, 14 + PUSHBUTTON "(&H)", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "۸޴ α׷ ã" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "(&F):", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON " üũ(&C)", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "ȭ " +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Please select your preferred icon alignment algorithm:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "/ Ʒ", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "/ ", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "/ ", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "/ Ʒ", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "/. ", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "/ ", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "/Ʒ ", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "/Ʒ ", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "ڸ ", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "ڸ H/V", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL " ǥ(&V)", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "۾ ǥ " +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "ð ǥ(&C)", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL " ʴ (&H)", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "˸(&N)...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION " ޴ " +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "˸ " +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT " ؽƮ(&T):", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "â ŸƲ(&I):", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT " (&M):", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "ǥ (&D)", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "̱(&S)", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 33, 10 + CONTROL "(&H)", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "ڵ(&U)", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 43, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT " (&L):", IDC_LABEL6, 7, 132, 43, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL " ̱(&W)", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 56, 10 + DEFPUSHBUTTON "Ȯ(&O)", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "(&C)", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "ͽ÷η â 带 ϼ" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "ϴ ̽ ּ:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Multiple Document Interface)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (Single Document Interface)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL " ٸ â (&E)", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT " Ŀ â Դϴ.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Cancel", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ReactOS Ž " +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "Ȯ(&O)", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Ž" + IDS_START "" + IDS_LOGOFF "α " + IDS_SHUTDOWN "ý " + IDS_RESTART "ٽ " + IDS_LAUNCH "..." + IDS_START_HELP "" + IDS_SEARCH_FILES "˻" + IDS_DOCUMENTS " " + IDS_FAVORITES "ã" + IDS_PROGRAMS "α׷" + IDS_SETTINGS "" + IDS_EXPLORE "Ž" + IDS_EMPTY "( )" + IDS_RECENT "ֱ " + IDS_ADMIN "" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU " ޴" + IDS_MINIMIZE_ALL " â ּȭ" + IDS_DESKTOP_NUM "ũž %d" + IDS_VOLUME "" + IDS_ITEMS_CUR " ׸" + IDS_ITEMS_CONFIGURED "" + IDS_ITEMS_VISIBLE "" + IDS_ITEMS_HIDDEN "" + IDS_NOTIFY_SHOW "" + IDS_NOTIFY_HIDE "" + IDS_NOTIFY_AUTOHIDE "ڵ" + IDS_SHOW_HIDDEN_ICONS " " + IDS_HIDE_ICONS " " + IDS_TERMINATE "ROS Ž " +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Ʈũ" + IDS_CONNECTIONS "Ʈũ " + IDS_DRIVES "̺" + IDS_SEARCH_COMPUTER "ǻ ˻..." + IDS_SETTINGS_MENU " ޴" + IDS_CONTROL_PANEL "" + IDS_PRINTERS "" + IDS_BROWSE " " + IDS_SEARCH_PRG "α׷ ã" + IDS_ALL_USERS "All Users\\" + IDS_SEARCH "˻" + IDS_ABOUT_EXPLORER "Ž (&A)..." + IDS_LAUNCH_MANY_PROGRAMS "ϳ ̻ α׷ ϼ̽ϴ\n Ͻðڽϱ?" + IDS_DESKTOPBAR_SETTINGS "ȭ " + IDS_DESKTOP "ȭ" + IDS_TASKBAR "۾ ǥ" + IDS_NAMECOLUMN "Name" + IDS_PATHCOLUMN "Path" + IDS_MENUCOLUMN "Menu path" +END diff --git a/base/shell/explorer-old/explorer-nl.rc b/base/shell/explorer-old/explorer-nl.rc new file mode 100644 index 00000000000..568429b3ffc --- /dev/null +++ b/base/shell/explorer-old/explorer-nl.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL // Vertaald door Lionel Lowie + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&Bestand" + BEGIN + MENUITEM "Uitvo&eren...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Sluiten", ID_FILE_EXIT + END + POPUP "Bee&ld" + BEGIN + MENUITEM "&Werkbalk", ID_VIEW_TOOL_BAR + MENUITEM "&Extra Balk", ID_VIEW_EXTRA_BAR + MENUITEM "S&chijfbalk", ID_VIEW_DRIVE_BAR + MENUITEM "&Zijbalk", ID_VIEW_SIDE_BAR + MENUITEM "&Statusbalk", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Vernieuwen\tF5", ID_REFRESH + MENUITEM "V&olledig Scherm\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "&Venster" + BEGIN + MENUITEM "Nieuw &Venster", ID_WINDOW_NEW + MENUITEM "Trapsgewijs Schikken\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "&Horizontaal Schikken", ID_WINDOW_TILE_HORZ + MENUITEM "&Verticaal Schikken\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Automatisch Schikken", ID_WINDOW_AUTOSORT + MENUITEM "&Pictogrammen Schikken", ID_WINDOW_ARRANGE + END + POPUP "&Extra" + BEGIN + MENUITEM "&Opties", ID_TOOLS_OPTIONS + END + POPUP "&Help" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "&Over Explorer...", ID_ABOUT_EXPLORER + MENUITEM "Over het &OS...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Instellingen...", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Taakbeheer...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&Over Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Volumeregeling openen", ID_TRAY_VOLUME + MENUITEM "Eigenschappen van audio aanpassen", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Verborgen Pictogrammen weergeven", ID_SHOW_HIDDEN_ICONS + MENUITEM "Show Icon &Button", ID_SHOW_ICON_BUTTON + MENUITEM "&Meldingen aanpassen...", ID_CONFIG_NOTIFYAREA + MENUITEM "Datum/Tijd aanpassen", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&Over Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&Bestand" + BEGIN + MENUITEM "Uitvo&eren...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Sluiten", ID_FILE_EXIT + END + POPUP "&Beeld" + BEGIN + MENUITEM "&Werkbalk", ID_VIEW_TOOL_BAR + MENUITEM "&Zijbalk", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "&Statusbalk", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Vernieuwen\tF5", ID_REFRESH + MENUITEM "V&olledig Scherm\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Extra" + BEGIN + MENUITEM "&Opties", ID_TOOLS_OPTIONS + END + POPUP "&Help" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "&Over Explorer...", ID_ABOUT_EXPLORER + MENUITEM "Over het &OS...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Uitvoeren" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "&Commando:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "Als &Symbool", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "&Annuleren", 2, 158, 23, 47, 14 + PUSHBUTTON "&Help", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Zoek programma in startmenu" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filter:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Check Entries", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Bureaublad Eigenschappen" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Kies uw gewenste pictogrammenuitlijn-algorithme:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "Links/top dwn", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "Links/top right", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "Rechts/top left", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "rig./top dwn", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "Links/bot. up", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "Links/bot. right", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "Rechts/bot. left", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "rig./bot. dwn", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "border down", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "border H/V", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "Rondom", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "&Versienummer weergeven", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Taakbalk Eigenschappen" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "&Klok Weergeven", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "&Inactieve Meldingspictogrammen Verbergen", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Meldingen...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Startmenu Eigenschappen" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Configure Notification Icons" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Tooltip Text:", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "W&indow Title:", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "&Module Path:", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "&Display Mode", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "&show", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 33, 10 + CONTROL "&hide", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "a&utohide", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 43, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "&Last Change:", IDC_LABEL6, 7, 132, 43, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "sho&w hidden", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 56, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Annuleren", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Choose Explorer window mode" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Kies uw gewenste Explorer gebruikersinterface:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Multiple Document Interface)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (Single Document Interface)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "Submappen openen in afzonderlijke vensters", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "Deze instelling zal in de toekomst als standaard gebruikt worden voor alle Explorer-vensters.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Annuleren", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Over ReactOS Explorer" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Explorer" + IDS_START "Start" + IDS_LOGOFF "Afmelden..." + IDS_SHUTDOWN "Uitschakelen..." + IDS_RESTART "Restart..." + IDS_LAUNCH "Uitvoeren..." + IDS_START_HELP "Help" + IDS_SEARCH_FILES "Zoeken..." + IDS_DOCUMENTS "Mijn Documenten" + IDS_FAVORITES "Favorieten" + IDS_PROGRAMS "Programma's" + IDS_SETTINGS "Instellingen" + IDS_EXPLORE "Verkennen" + IDS_EMPTY "(Leeg)" + IDS_RECENT "Documenten" + IDS_ADMIN "Administratie" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Startmenu" + IDS_MINIMIZE_ALL "Alle vensters minimaliseren" + IDS_DESKTOP_NUM "Desktop %d" + IDS_VOLUME "Volume" + IDS_ITEMS_CUR "Huidige items" + IDS_ITEMS_CONFIGURED "Configuratie" + IDS_ITEMS_VISIBLE "Zichtbaar" + IDS_ITEMS_HIDDEN "Verborgen" + IDS_NOTIFY_SHOW "Weergeven" + IDS_NOTIFY_HIDE "Verbergen" + IDS_NOTIFY_AUTOHIDE "Automatisch Verbergen" + IDS_SHOW_HIDDEN_ICONS "Verborgen Pictogrammen Weergeven" + IDS_HIDE_ICONS "Pictogrammen Verbergen" + IDS_TERMINATE "ROS Explorer Afsluiten" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Netwerk" + IDS_CONNECTIONS "Netwerkverbindingen" + IDS_DRIVES "Schijven" + IDS_SEARCH_COMPUTER "Zoek Computer..." + IDS_SETTINGS_MENU "Instellingen" + IDS_CONTROL_PANEL "Configuratiescherm" + IDS_PRINTERS "Printers" + IDS_BROWSE "Bestanden Verkennen" + IDS_SEARCH_PRG "Zoek Programma..." + IDS_ALL_USERS "Alle Gebruikers\\" + IDS_SEARCH "Zoeken" + IDS_ABOUT_EXPLORER "&Over Explorer..." + IDS_LAUNCH_MANY_PROGRAMS "U heeft meer dan n programma geselecteerd.\nWeet u zeker dat u ze allemaal wilt starten?" + IDS_DESKTOPBAR_SETTINGS "Bureaublad instellingen" + IDS_DESKTOP "Bureaublad" + IDS_TASKBAR "Taakbalk" + IDS_NAMECOLUMN "Name" + IDS_PATHCOLUMN "Path" + IDS_MENUCOLUMN "Menu path" +END diff --git a/base/shell/explorer-old/explorer-no.rc b/base/shell/explorer-old/explorer-no.rc new file mode 100644 index 00000000000..2aa7c2328a9 --- /dev/null +++ b/base/shell/explorer-old/explorer-no.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&Fil" + BEGIN + MENUITEM "&Kjr...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "A&vslutt", ID_FILE_EXIT + END + POPUP "&Vis" + BEGIN + MENUITEM "&Verktylinje", ID_VIEW_TOOL_BAR + MENUITEM "&Ekstra verktylinje", ID_VIEW_EXTRA_BAR + MENUITEM "&Stasjonslinje", ID_VIEW_DRIVE_BAR + MENUITEM "S&idelinje", ID_VIEW_SIDE_BAR + MENUITEM "Status&linje", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Oppdater\tF5", ID_REFRESH + MENUITEM "F&ull Skjerm\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "Bruk EDG grensesnitt", ID_VIEW_SDI + END + POPUP "&Vindu" + BEGIN + MENUITEM "Nytt &vindu", ID_WINDOW_NEW + MENUITEM "Som liste\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "Sorter &horisontalt", ID_WINDOW_TILE_HORZ + MENUITEM "Sorter &vertikalt\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Ordne Automatisk", ID_WINDOW_AUTOSORT + MENUITEM "Ordne &Symboler", ID_WINDOW_ARRANGE + END + POPUP "&Verkty" + BEGIN + MENUITEM "&Innstillinger", ID_TOOLS_OPTIONS + END + POPUP "&Hjelp" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "&Om utforsker...", ID_ABOUT_EXPLORER + MENUITEM "Om &OS...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Innstillinger...", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Oppgavebehandling...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&Om Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "pne volumkontroll", ID_TRAY_VOLUME + MENUITEM "Still lyd innstillinger", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Vis skjulte ikoner", ID_SHOW_HIDDEN_ICONS + MENUITEM "Vis ikon &knapp", ID_SHOW_ICON_BUTTON + MENUITEM "&Konfigurere notifikasjoner...", ID_CONFIG_NOTIFYAREA + MENUITEM "Still Dato/&tid...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&Om Utforsker...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&Fil" + BEGIN + MENUITEM "&Kjr...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Avslutt", ID_FILE_EXIT + END + POPUP "&Vis" + BEGIN + MENUITEM "&Verktylinje", ID_VIEW_TOOL_BAR + MENUITEM "&Sidelinje", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "S&tatuslinje", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Oppdater\tF5", ID_REFRESH + MENUITEM "F&ull Skjerm\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&Bruk FDG grensesnitt", ID_VIEW_MDI + END + POPUP "&Verkty" + BEGIN + MENUITEM "&Innstillinger", ID_TOOLS_OPTIONS + END + POPUP "&Hjelp" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "&Om Explorer...", ID_ABOUT_EXPLORER + MENUITEM "Om &OS...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Kjr" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "&Kommando:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "Som &Symbol", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "&Avbryt", 2, 158, 23, 47, 14 + PUSHBUTTON "&Hjelp", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Sk etter programmer i startmeny" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filter:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Sk", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Skrivebordsinnstillinger" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Velg hvordan ikon skal arrangeres p skrivebordet:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "V/topp ned", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "V/topp hyre", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "H/topp venstre", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "H/topp ned", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "V/bunn opp", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "V/bunn hyre", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "H/bunn venstre", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "H/bunn opp", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "Kanter ned", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "Kanter vinkel", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "Rundt", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Vis &versjonsnummer", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Egenskaper for Oppgavelinje" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Vis &klokken", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "&Skjul inaktive notifikasjoner", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Notifikasjoner...", ID_CONFIG_NOTIFYAREA, 153, 173, 58, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Egenskaper for Startmeny" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Konfigurer justering av ikoner" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Verktylinje Tekst:", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "V&indu tittel:", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "&Modul Mappe:", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "&Skjerm modus", IDC_LABEL4, 7, 96, 194, 28 + CONTROL "&Vis", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 33, 10 + CONTROL "&Skjul", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "Skjul a&utomatisk", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 69, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "&Sist endret:", IDC_LABEL6, 7, 132, 43, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "V&is skjulte", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 56, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Avbryt", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Velg Explorer vindumodus" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Vennligst velg din foretrukne grensesnitt:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&FDG (Flerdokumentsgrensesnitt)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&EDG (Ettdokumentsgrensesnitt)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "pne undermapper i s&eparate vinduer", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "Denne innstillingen vil bli brukt som standard for alle explorer-vinduer i fremtiden.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Avbryt", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Om ReactOS Explorer" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Utforsker" + IDS_START "Start" + IDS_LOGOFF "Logg av..." + IDS_SHUTDOWN "Sl av..." + IDS_RESTART "Start p nytt..." + IDS_LAUNCH "Kjr..." + IDS_START_HELP "Hjelp" + IDS_SEARCH_FILES "Sk..." + IDS_DOCUMENTS "Mine dokumenter" + IDS_FAVORITES "Favoritter" + IDS_PROGRAMS "Programmer" + IDS_SETTINGS "Innstillinger" + IDS_EXPLORE "Utforsker" + IDS_EMPTY "(Tom)" + IDS_RECENT "Siste dokumenter" + IDS_ADMIN "Administrasjon" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Start meny" + IDS_MINIMIZE_ALL "Minimalisere alle vinduer" + IDS_DESKTOP_NUM "Skrivebord %d" + IDS_VOLUME "Volum" + IDS_ITEMS_CUR "Gjeldende element" + IDS_ITEMS_CONFIGURED "Konfigurasjon" + IDS_ITEMS_VISIBLE "Synlig" + IDS_ITEMS_HIDDEN "Skjult" + IDS_NOTIFY_SHOW "Vise" + IDS_NOTIFY_HIDE "skjule" + IDS_NOTIFY_AUTOHIDE "Skjul automatisk" + IDS_SHOW_HIDDEN_ICONS "Vis skjulte ikoner" + IDS_HIDE_ICONS "Skjul ikoner" + IDS_TERMINATE "Avslutte ROS Explorer" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Nettverk" + IDS_CONNECTIONS "Nettverk tilkoblinger" + IDS_DRIVES "Drivere" + IDS_SEARCH_COMPUTER "Sk etter datamaskiner..." + IDS_SETTINGS_MENU "Kontrollpanel meny" + IDS_CONTROL_PANEL "Kontrollpanel" + IDS_PRINTERS "Skrivere" + IDS_BROWSE "Bla gjennom filer" + IDS_SEARCH_PRG "Sk etter Programmer..." + IDS_ALL_USERS "Alle brukere\\" + IDS_SEARCH "Sk" + IDS_ABOUT_EXPLORER "&Om Explorer..." + IDS_LAUNCH_MANY_PROGRAMS "Du har valgt mer enn et program.\nEr du sikker p at du vil kjre alle p en gang?" + IDS_DESKTOPBAR_SETTINGS "Skrivebord innstillinger" + IDS_DESKTOP "Skrivebord" + IDS_TASKBAR "Oppgavelinje" + IDS_NAMECOLUMN "Navn" + IDS_PATHCOLUMN "Mappe" + IDS_MENUCOLUMN "Meny mappe" +END diff --git a/base/shell/explorer-old/explorer-pl.rc b/base/shell/explorer-old/explorer-pl.rc new file mode 100644 index 00000000000..8e3bcae7fe0 --- /dev/null +++ b/base/shell/explorer-old/explorer-pl.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_POLISH, SUBLANG_DEFAULT + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&Plik" + BEGIN + MENUITEM "Urucho&m...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "Za&kończ", ID_FILE_EXIT + END + POPUP "&Widok" + BEGIN + MENUITEM "Przyciski &standardowe", ID_VIEW_TOOL_BAR + MENUITEM "P&rzyciski dodatkowe", ID_VIEW_EXTRA_BAR + MENUITEM "Pasek &dysków", ID_VIEW_DRIVE_BAR + MENUITEM "Pasek &boczny", ID_VIEW_SIDE_BAR + MENUITEM "Pasek sta&nu", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Odśwież\tF5", ID_REFRESH + MENUITEM "P&ełny ekran\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "&Okna" + BEGIN + MENUITEM "Nowe &okno", ID_WINDOW_NEW + MENUITEM "&Kaskadowo\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "&Sąsiadująco poziomo", ID_WINDOW_TILE_HORZ + MENUITEM "Sąsiadująco &pionowo\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "&Autorozmieszczanie", ID_WINDOW_AUTOSORT + MENUITEM "Rozmieść według &nazwy", ID_WINDOW_ARRANGE + END + POPUP "&Narzędzia" + BEGIN + MENUITEM "&Opcje", ID_TOOLS_OPTIONS + END + POPUP "Pomo&c" + BEGIN + MENUITEM "Explorer &FAQ", ID_EXPLORER_FAQ + MENUITEM "ReactOS Explorer - &informacje", ID_ABOUT_EXPLORER + MENUITEM "ReactOS - i&nformacje", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Właściwości", ID_DESKTOPBAR_SETTINGS + MENUITEM "Menedżer &zadań", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "ReactOS Explorer - &informacje", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Otwórz regulację głośności", ID_TRAY_VOLUME + MENUITEM "&Ustaw właściwości audio", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Pokaż ukryte ikony", ID_SHOW_HIDDEN_ICONS + MENUITEM "&Ukrywaj nieużywane ikony", ID_SHOW_ICON_BUTTON + MENUITEM "&Konfiguruj powiadomienia", ID_CONFIG_NOTIFYAREA + MENUITEM "Ustaw &datę/godzinę", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "ReactOS Explorer - &informacje", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&Plik" + BEGIN + MENUITEM "Urucho&m...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "Za&kończ", ID_FILE_EXIT + END + POPUP "&Widok" + BEGIN + MENUITEM "Przyciski &standardowe", ID_VIEW_TOOL_BAR + MENUITEM "Pasek &boczny", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "Pasek sta&nu", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Odśwież\tF5", ID_REFRESH + MENUITEM "P&ełny ekran\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Narzędzia" + BEGIN + MENUITEM "&Opcje", ID_TOOLS_OPTIONS + END + POPUP "Pomo&c" + BEGIN + MENUITEM "Explorer &FAQ", ID_EXPLORER_FAQ + MENUITEM "ReactOS Explorer - &informacje", ID_ABOUT_EXPLORER + MENUITEM "ReactOS - i&nformacje", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Uruchom" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "&Polecenie:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "Jako &symbol", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "&Anuluj", 2, 158, 23, 47, 14 + PUSHBUTTON "Pomo&c", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Szukaj programu w Menu Start" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filtry:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Szukaj nazwy", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Właściwości pulpitu" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Wybierz sposób układania ikon:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "lewy/gór w dół", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "lewy/gór w prw", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "prwy/gór w lewo", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "prwy/gór w dół", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "lewy/dol.w gór", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "lewy/dol.w praw", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "prwy/dol.w lewo", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "prwy/dol.w gór", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "obustr. w dół", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "na brzegach", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "dookoła", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Wyświetlaj &numer wersji", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Właściwości paska zadań" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Pokaż &zegar", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "&Ukrywaj nieaktywne ikony", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Dostosuj", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Właściwości Menu Start" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Konfiguracja ikon powiadomień" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Podpowiedź:", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "&Tytuł okna:", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "Ścieżka:", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "&Sposób wyświetlania", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "&widoczny", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 33, 10 + CONTROL "&ukryty", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "&autoukrywanie", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 43, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "&Zmodyfikowany:", IDC_LABEL6, 7, 132, 43, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "Po&każ wszystkie", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 56, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Anuluj", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Tryb wyświetlania okien" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Wybierz tryb wyświetlania okien:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Otwieraj w jednym oknie)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (Otwieraj we własnym oknie)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "&Otwieraj podkatalogi w nowych oknach", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "Te opcje będą stosowane w przyszłości do wszystkich okien.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Anuluj", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ReactOS Explorer - &informacje" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Explorer" + IDS_START "Start" + IDS_LOGOFF "Wyloguj..." + IDS_SHUTDOWN "Zamknij system..." + IDS_RESTART "Uruchom ponownie..." + IDS_LAUNCH "Uruchom..." + IDS_START_HELP "Pomoc" + IDS_SEARCH_FILES "Szukaj..." + IDS_DOCUMENTS "Dokumenty" + IDS_FAVORITES "Ulubione" + IDS_PROGRAMS "Programy" + IDS_SETTINGS "Ustawienia" + IDS_EXPLORE "Eksploruj" + IDS_EMPTY "(pusty)" + IDS_RECENT "Ostatnio otwarte" + IDS_ADMIN "Administracja" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Menu Start" + IDS_MINIMIZE_ALL "Minimalizuj wszystko" + IDS_DESKTOP_NUM "Pulpit %d" + IDS_VOLUME "Głośność" + IDS_ITEMS_CUR "Aktualne pozycje" + IDS_ITEMS_CONFIGURED "ustawienia" + IDS_ITEMS_VISIBLE "widoczne" + IDS_ITEMS_HIDDEN "ukryte" + IDS_NOTIFY_SHOW "pokaż" + IDS_NOTIFY_HIDE "ukryj" + IDS_NOTIFY_AUTOHIDE "autoukrywanie" + IDS_SHOW_HIDDEN_ICONS "Pokaż ukryte ikony" + IDS_HIDE_ICONS "Ukryj ikony" + IDS_TERMINATE "Zakończ działanie ReactOS Explorer" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Sieć" + IDS_CONNECTIONS "Połączenia sieciowe" + IDS_DRIVES "Dysk" + IDS_SEARCH_COMPUTER "Znajdź komputer..." + IDS_SETTINGS_MENU "Menu ustawień" + IDS_CONTROL_PANEL "Panel sterowania" + IDS_PRINTERS "Drukarki" + IDS_BROWSE "Przeglądaj" + IDS_SEARCH_PRG "Znajdź program..." + IDS_ALL_USERS "Wszyscy\\" + IDS_SEARCH "Szukaj" + IDS_ABOUT_EXPLORER "ReactOS Explorer - &informacje" + IDS_LAUNCH_MANY_PROGRAMS "Zaznaczyłeś więcej niż jeden program.\nCzy chcesz uruchomić je jednocześnie?" + IDS_DESKTOPBAR_SETTINGS "Właściwości pulpitu" + IDS_DESKTOP "Pulpit" + IDS_TASKBAR "Pasek zadań" + IDS_NAMECOLUMN "Nazwa" + IDS_PATHCOLUMN "Ścieżka" + IDS_MENUCOLUMN "Ścieżka menu" +END diff --git a/base/shell/explorer-old/explorer-pt.rc b/base/shell/explorer-old/explorer-pt.rc new file mode 100644 index 00000000000..1c70a08e7e7 --- /dev/null +++ b/base/shell/explorer-old/explorer-pt.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Execute...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "E&xit", ID_FILE_EXIT + END + POPUP "&View" + BEGIN + MENUITEM "&Toolbar", ID_VIEW_TOOL_BAR + MENUITEM "&Extra Bar", ID_VIEW_EXTRA_BAR + MENUITEM "&Drivebar", ID_VIEW_DRIVE_BAR + MENUITEM "S&ide Bar", ID_VIEW_SIDE_BAR + MENUITEM "&Status Bar", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Refresh\tF5", ID_REFRESH + MENUITEM "F&ull Screen\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "&Window" + BEGIN + MENUITEM "New &Window", ID_WINDOW_NEW + MENUITEM "Cascading\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "Tile &Horizontally", ID_WINDOW_TILE_HORZ + MENUITEM "Tile &Vertically\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Arrange Automatically", ID_WINDOW_AUTOSORT + MENUITEM "Arrange &Symbols", ID_WINDOW_ARRANGE + END + POPUP "&Tools" + BEGIN + MENUITEM "&Options", ID_TOOLS_OPTIONS + END + POPUP "&Help" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "&About Explorer...", ID_ABOUT_EXPLORER + MENUITEM "About &OS...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Settings...", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Task Manager...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&About Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Open Volume Control", ID_TRAY_VOLUME + MENUITEM "Adjust Audio Properties", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Show Hidden Icons", ID_SHOW_HIDDEN_ICONS + MENUITEM "Show Icon &Button", ID_SHOW_ICON_BUTTON + MENUITEM "&Configure Notifications...", ID_CONFIG_NOTIFYAREA + MENUITEM "Adjust Date/&Time...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&About Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Execute...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Close", ID_FILE_EXIT + END + POPUP "&View" + BEGIN + MENUITEM "&Toolbar", ID_VIEW_TOOL_BAR + MENUITEM "S&ide Bar", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "&Status Bar", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Refresh\tF5", ID_REFRESH + MENUITEM "F&ull Screen\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Tools" + BEGIN + MENUITEM "&Options", ID_TOOLS_OPTIONS + END + POPUP "&Help" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "&About Explorer...", ID_ABOUT_EXPLORER + MENUITEM "About &OS...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Executar" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "Co&mando:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "Como &Smbolo", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "&Cancelar", 2, 158, 23, 47, 14 + PUSHBUTTON "&Ajuda", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Search Program in Startmenu" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filter:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Check Entries", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Desktop Properties" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Please select your preferred icon alignment algorithm:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "left/top dwn", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "left/top right", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "right/top left", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "rig./top dwn", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "left/bot. up", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "left/bot. right", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "right/bot. left", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "rig./bot. up", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "border down", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "border H/V", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "round about", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Display &Version Number", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Taskbar Properties" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Show &clock", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "&Hide inactive notification icons", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Notifications...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Start Menu Properties" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Configure Notification Icons" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Tooltip Text:", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "W&indow Title:", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "&Module Path:", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "&Display Mode", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "&show", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 33, 10 + CONTROL "&hide", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "a&utohide", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 43, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "&Last Change:", IDC_LABEL6, 7, 132, 43, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "sho&w hidden", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 56, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Cancel", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Choose Explorer window mode" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Please select your preferred Explorer user interface:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Multiple Document Interface)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (Single Document Interface)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "Open Subfolders in s&eparate windows", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "This setting will be used as default for all Explorer windows in the future.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Cancel", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "About ReactOS Explorer" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "Explorador do ReactOS" + IDS_START "Iniciar" + IDS_LOGOFF "Terminar sesso..." + IDS_SHUTDOWN "Desligar..." + IDS_RESTART "Restart..." + IDS_LAUNCH "Executar..." + IDS_START_HELP "Ajuda" + IDS_SEARCH_FILES "Procurar..." + IDS_DOCUMENTS "Documentos" + IDS_FAVORITES "Favoritos" + IDS_PROGRAMS "Programas" + IDS_SETTINGS "Definies" + IDS_EXPLORE "Explorar" + IDS_EMPTY "(Vazio)" + IDS_RECENT "Documentos recentes" + IDS_ADMIN "Administrar" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Start Menu" + IDS_MINIMIZE_ALL "Minimize all windows" + IDS_DESKTOP_NUM "Desktop %d" + IDS_VOLUME "Volume" + IDS_ITEMS_CUR "Current items" + IDS_ITEMS_CONFIGURED "Configuration" + IDS_ITEMS_VISIBLE "Visible" + IDS_ITEMS_HIDDEN "Hidden" + IDS_NOTIFY_SHOW "Show" + IDS_NOTIFY_HIDE "Hide" + IDS_NOTIFY_AUTOHIDE "Autohide" + IDS_SHOW_HIDDEN_ICONS "Show hidden icons" + IDS_HIDE_ICONS "Hide icons" + IDS_TERMINATE "Terminar ROS Explorador" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Rede" + IDS_CONNECTIONS "Coneces da rede" + IDS_DRIVES "Drives" + IDS_SEARCH_COMPUTER "Procurar computador..." + IDS_SETTINGS_MENU "Menu das definies" + IDS_CONTROL_PANEL "Painel de controle" + IDS_PRINTERS "Impressora" + IDS_BROWSE "Vasculhar Ficheiros" + IDS_SEARCH_PRG "Procurar programa..." + IDS_ALL_USERS "Todos utilizadores\\" + IDS_SEARCH "Procurar" + IDS_ABOUT_EXPLORER "Sobre o Explorador..." + IDS_LAUNCH_MANY_PROGRAMS "You have selected more than one program.\nAre you sure you want to launch all of them?" + IDS_DESKTOPBAR_SETTINGS "Desktop Settings" + IDS_DESKTOP "Desktop" + IDS_TASKBAR "Taskbar" + IDS_NAMECOLUMN "Name" + IDS_PATHCOLUMN "Path" + IDS_MENUCOLUMN "Menu path" +END diff --git a/base/shell/explorer-old/explorer-ro.rc b/base/shell/explorer-old/explorer-ro.rc new file mode 100644 index 00000000000..f2ef1371661 --- /dev/null +++ b/base/shell/explorer-old/explorer-ro.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&Fișier" + BEGIN + MENUITEM "E&xecutare…", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "I&eșire", ID_FILE_EXIT + END + POPUP "&Afișare" + BEGIN + MENUITEM "&Butoane standard", ID_VIEW_TOOL_BAR + MENUITEM "But&oane suplimentare", ID_VIEW_EXTRA_BAR + MENUITEM "Butoane &unități-stocare", ID_VIEW_DRIVE_BAR + MENUITEM "Panou &lateral", ID_VIEW_SIDE_BAR + MENUITEM "B&ară de stare", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "Împ&rospătează\tF5", ID_REFRESH + MENUITEM "Pe &tot ecranul\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&SDI", ID_VIEW_SDI + END + POPUP "F&ereastră" + BEGIN + MENUITEM "Fereastră &Nouă", ID_WINDOW_NEW + MENUITEM "Aranjare în &cascadă\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "Aranjări &orizontale", ID_WINDOW_TILE_HORZ + MENUITEM "Aranjări &verticale\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Aranjare &automată", ID_WINDOW_AUTOSORT + MENUITEM "Aranjare s&imboluri", ID_WINDOW_ARRANGE + END + POPUP "I&nstrumente" + BEGIN + MENUITEM "&Opțiuni", ID_TOOLS_OPTIONS + END + POPUP "&?" + BEGIN + MENUITEM "Întrebări &frecvente…", ID_EXPLORER_FAQ + MENUITEM "&Despre Explorator…", ID_ABOUT_EXPLORER + MENUITEM "Despre &SO…", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Preferințe…", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Gestionar de activități…", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&Despre Explorator…", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Deschide ®laj de volum", ID_TRAY_VOLUME + MENUITEM "&Configurare sunet și dispozitive audio", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Arată pictogramele ascunse", ID_SHOW_HIDDEN_ICONS + MENUITEM "Arată &butonul pictogramă", ID_SHOW_ICON_BUTTON + MENUITEM "&Configurare notificări…", ID_CONFIG_NOTIFYAREA + MENUITEM "Ajustare &Dată/Oră…", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&Despre Explorator…", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&Fișier" + BEGIN + MENUITEM "E&xecutare…", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "I&eșire", ID_FILE_EXIT + END + POPUP "&Afișare" + BEGIN + MENUITEM "&Butoane standard", ID_VIEW_TOOL_BAR + MENUITEM "&Panou &lateral", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "B&ară de stare", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "Împ&rospătează\tF5", ID_REFRESH + MENUITEM "Pe &tot ecranul\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "I&nstrumente" + BEGIN + MENUITEM "&Opțiuni", ID_TOOLS_OPTIONS + END + POPUP "&?" + BEGIN + MENUITEM "Întrebări &frecvente…", ID_EXPLORER_FAQ + MENUITEM "&Despre Explorator…", ID_ABOUT_EXPLORER + MENUITEM "Despre &SO…", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Executare" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 162, 10 + CONTROL "&Comanda:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "Ca sim&bol", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "Con&firmă", 1, 158, 6, 47, 14 + PUSHBUTTON "A&nulează", 2, 158, 23, 47, 14 + PUSHBUTTON "&Manual…", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Cautare program în meniul Pornire" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filtru:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Caută", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Ordinea pe birou" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Alegeți modul de ordonare a pictogramelor:", IDC_STATIC, 7, 7, 196, 8 + CONTROL "c. stâng-sus", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "r. stâng-sus", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "r. drept-sus", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "c. drept-sus", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "c. stâng-jos", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "r. stâng-jos", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "r. drept-jos", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "c. drept-jos", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "c. laterale", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "colțare sus", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "împrejur", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Display &Version Number", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Bara de activități" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Arată &ceas", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "&Ascunde notificatoarele inactive", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Notificări…", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Meniul Pornire" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Preferințe pentru pictograme de notificare" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Text indiciu:", IDC_LABEL1, 7, 44, 45, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "T&itlu fereastră:", IDC_LABEL2, 7, 63, 47, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "Cale &modul:", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "Mod &de afișare", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "&expus", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 33, 10 + CONTROL "&ascuns", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 40, 10 + CONTROL "a&utomat", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 43, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "M&odificat acum:", IDC_LABEL6, 7, 132, 51, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "E&xpune pictogramele ascunse", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 80, 10 + DEFPUSHBUTTON "Con&firmă", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "A&nulează", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 214, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Opțiuni Explorator" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Specificați tipul interfeței pentru Explorator:", IDC_STATIC, 7, 7, 190, 8 + CONTROL "&MDI (Interfață de Documente Multiple)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 180, 10 + CONTROL "&SDI (Interfață de Document Solitar)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 180, 10 + CONTROL 190, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 190, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "&Deschide subdosarele în ferestre separate", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 180, 10 + LTEXT "Aceste opțiuni vor fi mai departe utilizate ca implicite pentru toate ferestrele Exploratorului.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "Con&firmă", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "A&nulează", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Despre Explorator ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "Î&nchide", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "Explorator ReactOS" + IDS_START "Pornire" + IDS_LOGOFF "Deautentificare…" + IDS_SHUTDOWN "Închidere calculator…" + IDS_RESTART "Repornire calculator…" + IDS_LAUNCH "Executare…" + IDS_START_HELP "Manuale de utilizare" + IDS_SEARCH_FILES "Fișier…" + IDS_DOCUMENTS "Documentele mele" + IDS_FAVORITES "Favorite" + IDS_PROGRAMS "Programe" + IDS_SETTINGS "Configurare" + IDS_EXPLORE "Explorator" + IDS_EMPTY "(gol)" + IDS_RECENT "Documente recente" + IDS_ADMIN "Administrare" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Meniul Pornire" + IDS_MINIMIZE_ALL "Minimizarea tuturor ferestrelor" + IDS_DESKTOP_NUM "Spațiu de lucru %d" + IDS_VOLUME "Volum" + IDS_ITEMS_CUR "Elemente curente" + IDS_ITEMS_CONFIGURED "Configurare" + IDS_ITEMS_VISIBLE "Vizibile" + IDS_ITEMS_HIDDEN "Ascuns" + IDS_NOTIFY_SHOW "Arată" + IDS_NOTIFY_HIDE "Ascunde" + IDS_NOTIFY_AUTOHIDE "Autoascunde" + IDS_SHOW_HIDDEN_ICONS "Expune pictogramele ascunse" + IDS_HIDE_ICONS "Ascunde pictogramele" + IDS_TERMINATE "Închide Explorator ROS" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Rețea" + IDS_CONNECTIONS "Conexuni în rețea" + IDS_DRIVES "Unități" + IDS_SEARCH_COMPUTER "Calculator…" + IDS_SETTINGS_MENU "Meniu configurare" + IDS_CONTROL_PANEL "Panoul de control" + IDS_PRINTERS "Imprimante" + IDS_BROWSE "Răsfoire prin fișiere" + IDS_SEARCH_PRG "Program…" + IDS_ALL_USERS "Toți utilizatorii\\" + IDS_SEARCH "Căutare" + IDS_ABOUT_EXPLORER "&Despre Explorator…" + IDS_LAUNCH_MANY_PROGRAMS "Ați ales mai mult de un program.\nSigur doriți să le porniți pe toate?" + IDS_DESKTOPBAR_SETTINGS "Configurare birou" + IDS_DESKTOP "Birou" + IDS_TASKBAR "Bară de activități" + IDS_NAMECOLUMN "Nume" + IDS_PATHCOLUMN "Cale" + IDS_MENUCOLUMN "Cale meniu" +END diff --git a/base/shell/explorer-old/explorer-ru.rc b/base/shell/explorer-old/explorer-ru.rc new file mode 100644 index 00000000000..0f8c8a0bfad --- /dev/null +++ b/base/shell/explorer-old/explorer-ru.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&Файл" + BEGIN + MENUITEM "&Выполнить...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "В&ыход", ID_FILE_EXIT + END + POPUP "&Вид" + BEGIN + MENUITEM "&Панель инструментов", ID_VIEW_TOOL_BAR + MENUITEM "&Дополнительная панель", ID_VIEW_EXTRA_BAR + MENUITEM "&Диски", ID_VIEW_DRIVE_BAR + MENUITEM "И&збранное", ID_VIEW_SIDE_BAR + MENUITEM "&Строка состояния", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Обновить\tF5", ID_REFRESH + MENUITEM "По&лный экран\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "О&кна" + BEGIN + MENUITEM "Новое о&кно", ID_WINDOW_NEW + MENUITEM "Расположить каскадом\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "&Горизонтально", ID_WINDOW_TILE_HORZ + MENUITEM "&Вертикально\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Упорядочить автоматически", ID_WINDOW_AUTOSORT + MENUITEM "Упорядочить &значки", ID_WINDOW_ARRANGE + END + POPUP "&Инструменты" + BEGIN + MENUITEM "&Параметры", ID_TOOLS_OPTIONS + END + POPUP "По&мощь" + BEGIN + MENUITEM "&Частые вопросы по Проводнику...", ID_EXPLORER_FAQ + MENUITEM "О &программе...", ID_ABOUT_EXPLORER + MENUITEM "О &ReactOS...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Параметры...", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Диспетчер задач", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&О программе...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Громкость", ID_TRAY_VOLUME + MENUITEM "Свойства звука", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Показывать скрытые значки", ID_SHOW_HIDDEN_ICONS + MENUITEM "Показывать значки на &кнопках", ID_SHOW_ICON_BUTTON + MENUITEM "&Настройка уведомлений...", ID_CONFIG_NOTIFYAREA + MENUITEM "Настройка даты/&времени", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&О программе...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&Файл" + BEGIN + MENUITEM "&Запустить...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "В&ыход", ID_FILE_EXIT + END + POPUP "&Вид" + BEGIN + MENUITEM "&Панель инструментов", ID_VIEW_TOOL_BAR + MENUITEM "И&збранное", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "&Строка состояния", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Обновить\tF5", ID_REFRESH + MENUITEM "По&лный экран\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Инструменты" + BEGIN + MENUITEM "&Параметры", ID_TOOLS_OPTIONS + END + POPUP "&Справка" + BEGIN + MENUITEM "&Частые вопросы по Проводнику...", ID_EXPLORER_FAQ + MENUITEM "О &Проводнике...", ID_ABOUT_EXPLORER + MENUITEM "О &ReactOS...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Выполнить" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "&Команда:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "Как &ссылку", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "&Отмена", 2, 158, 24, 47, 14 + PUSHBUTTON "&Справка", 254, 158, 42, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Поиск программ в меню Пуcк" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Фильтр:", IDC_STATIC, 7, 9, 30, 8 + EDITTEXT IDC_FILTER, 40, 7, 94, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Проверить", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Свойства: Рабочий стол" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Выберите, наиболее предпочтительный для вас, \nспособ выравнивания значков", IDC_STATIC, 7, 7, 195, 18 + CONTROL "left/top dwn", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "left/top right", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "right/top left", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "rig./top dwn", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "left/bot. up", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "left/bot. right", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "right/bot. left", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "rig./bot. up", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "border down", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "border H/V", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "round about", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Показывать номер &версии", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 109, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Свойства панели задач" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Отображать &часы", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 142, 100, 10 + CONTROL "&Скрывать неиспользуемые значки", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 157, 133, 10 + PUSHBUTTON "&Уведомления...", ID_CONFIG_NOTIFYAREA, 133, 173, 70, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Свойства меню Пуск" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Конфигурация значков" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Текст подсказки:", IDC_LABEL1, 7, 44, 62, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 76, 42, 125, 14, ES_AUTOHSCROLL + LTEXT "Заголовок о&кна:", IDC_LABEL2, 7, 63, 58, 8 + EDITTEXT IDC_NOTIFY_TITLE, 76, 60, 125, 14, ES_AUTOHSCROLL + LTEXT "&Путь к модулю:", IDC_LABEL3, 7, 81, 54, 8 + EDITTEXT IDC_NOTIFY_MODULE, 76, 78, 125, 14, ES_AUTOHSCROLL + GROUPBOX "&Режим отображения", IDC_LABEL4, 7, 96, 169, 28 + CONTROL "&показать", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 47, 10 + CONTROL "&Скрыть", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 41, 10 + CONTROL "А&втоскрытие", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 60, 10 + ICON "", IDC_PICTURE, 181, 101, 20, 20 + LTEXT "&Последние\nизменения", IDC_LABEL6, 7, 129, 40, 19 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "Пока&зать скрытое", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 78, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Отмена", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Выберите режим MDI / SDI" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Выберите наиболее предпочтительный для вас\nвид проводника:", IDC_STATIC, 7, 7, 171, 17 + CONTROL "&MDI (многодокументный интерфейс)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 137, 10 + CONTROL "&SDI (однодокументный интерфейс)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 134, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "Открывать подпапки в о&тдельных окнах", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 155, 10 + LTEXT "Эти настройки будут использованны, как значение по умолчанию для всех окон проводника в дальнейшем.", IDC_STATIC, 7, 107, 185, 26 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Отмена", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "О Проводнике ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Проводник ReactOS", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "Проводник ReactOS" + IDS_START "Пуск" + IDS_LOGOFF "Выход из системы..." + IDS_SHUTDOWN "Выключение..." + IDS_RESTART "Перезагрузка..." + IDS_LAUNCH "Выполнить..." + IDS_START_HELP "Справка" + IDS_SEARCH_FILES "Поиск..." + IDS_DOCUMENTS "Документы" + IDS_FAVORITES "Избранное" + IDS_PROGRAMS "Программы" + IDS_SETTINGS "Настройка" + IDS_EXPLORE "Обзор" + IDS_EMPTY "(пусто)" + IDS_RECENT "Недавние документы" + IDS_ADMIN "Администрирование" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Меню Пуск" + IDS_MINIMIZE_ALL "Cвернуть все окна" + IDS_DESKTOP_NUM "Рабочий cтол %d" + IDS_VOLUME "Объём" + IDS_ITEMS_CUR "Текущей элемент" + IDS_ITEMS_CONFIGURED "Конфигурация" + IDS_ITEMS_VISIBLE "Видимый" + IDS_ITEMS_HIDDEN "Скрытый" + IDS_NOTIFY_SHOW "Показать" + IDS_NOTIFY_HIDE "Скрыть" + IDS_NOTIFY_AUTOHIDE "Автоскрытие" + IDS_SHOW_HIDDEN_ICONS "Показать скрытые значки" + IDS_HIDE_ICONS "Скрыть значки" + IDS_TERMINATE "Завершить работу Проводника" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Сеть" + IDS_CONNECTIONS "Сетевые подключения" + IDS_DRIVES "Диски" + IDS_SEARCH_COMPUTER "Найти компьютер..." + IDS_SETTINGS_MENU "Меню настройки" + IDS_CONTROL_PANEL "Панель управления" + IDS_PRINTERS "Принтеры" + IDS_BROWSE "Обзор файлов" + IDS_SEARCH_PRG "Найти программу..." + IDS_ALL_USERS "Все пользователи\\" + IDS_SEARCH "Поиск" + IDS_ABOUT_EXPLORER "&О Проводнике" + IDS_LAUNCH_MANY_PROGRAMS "Вы выбрали более одной программы.\nВы уверены, что хотите выполнить их все?" + IDS_DESKTOPBAR_SETTINGS "Настройки рабочего стола" + IDS_DESKTOP "Рабочий стол" + IDS_TASKBAR "Панель задач" + IDS_NAMECOLUMN "Имя" + IDS_PATHCOLUMN "Путь" + IDS_MENUCOLUMN "Путь в меню" +END diff --git a/base/shell/explorer-old/explorer-sk.rc b/base/shell/explorer-old/explorer-sk.rc new file mode 100644 index 00000000000..24f95ffad5e --- /dev/null +++ b/base/shell/explorer-old/explorer-sk.rc @@ -0,0 +1,300 @@ +/* +* FILE : base/shell/explorer/explorer-sk.rc +* PURPOSE : Slovak Language File for explorer +* TRANSLATOR : Kario (kario@szm.sk) +* DATE OF TR.: 08-08-2007 +* LAST CHANGE: 30-05-2008 +*/ + +LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&Sbor" + BEGIN + MENUITEM "&Spusti...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Ukoni", ID_FILE_EXIT + END + POPUP "&Zobrazenie" + BEGIN + MENUITEM "&Panel nstrojov", ID_VIEW_TOOL_BAR + MENUITEM "&Extra panel", ID_VIEW_EXTRA_BAR + MENUITEM "&Lita diskov", ID_VIEW_DRIVE_BAR + MENUITEM "&Bon panel", ID_VIEW_SIDE_BAR + MENUITEM "&Stavov riadok", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Obnovi\tF5", ID_REFRESH + MENUITEM "&Cel obrazovka\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "&Okno" + BEGIN + MENUITEM "&Nov okno", ID_WINDOW_NEW + MENUITEM "&Kaskda\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "&Pod seba", ID_WINDOW_TILE_HORZ + MENUITEM "&Veda seba\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Usporiada &automaticky", ID_WINDOW_AUTOSORT + MENUITEM "Usporiada &symboly", ID_WINDOW_ARRANGE + END + POPUP "&Nstroje" + BEGIN + MENUITEM "&Monosti", ID_TOOLS_OPTIONS + END + POPUP "&Pomocnk" + BEGIN + MENUITEM "&FAQ ku Prieskumnkovi...", ID_EXPLORER_FAQ + MENUITEM "&o je Prieskumnk...", ID_ABOUT_EXPLORER + MENUITEM "&o je operan systm...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Nastavenia...", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Sprvca loh...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&o je Prieskumnk...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "O&tvori ovldanie hlasitosti", ID_TRAY_VOLUME + MENUITEM "&Upravi vlastnosti zvuku", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Zobrazi skryt ikony", ID_SHOW_HIDDEN_ICONS + MENUITEM "Zo&brazi ikonu skrvania", ID_SHOW_ICON_BUTTON + MENUITEM "&Prispsobi oznamovanie...", ID_CONFIG_NOTIFYAREA + MENUITEM "Upr&avi dtum a as", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&o je Prieskumnk...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&Sbor" + BEGIN + MENUITEM "&Spusti...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Ukoni", ID_FILE_EXIT + END + POPUP "&Zobrazenie" + BEGIN + MENUITEM "&Panel nstrojov", ID_VIEW_TOOL_BAR + MENUITEM "&Bon panel", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "&Stavov riadok", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Obnovi\tF5", ID_REFRESH + MENUITEM "&Cel obrazovka\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Nstroje" + BEGIN + MENUITEM "&Monosti", ID_TOOLS_OPTIONS + END + POPUP "&Pomocnk" + BEGIN + MENUITEM "&FAQ ku Prieskumnkovi...", ID_EXPLORER_FAQ + MENUITEM "&o je Prieskumnk...", ID_ABOUT_EXPLORER + MENUITEM "&o je operan systm...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Spusti" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "&Prkaz:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "Ako &symbol", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "&Zrui", 2, 158, 23, 47, 14 + PUSHBUTTON "&Pomocnk", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Hada program v ponuke tart" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filter:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Vyhada", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Vlastnosti plochy" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Vyberte si uprednostovan spsob zarovnania ikn:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "zava zhora dole", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "zava zhora vpravo", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "zprava zhora vavo", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "zprava zhora dole", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "zava zdola hore", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "zava zdola vpravo", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "zprava zdola vavo", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "zprava zdola hore", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "po okrajoch dole", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "po okrajoch H/V", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "dookola", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Zobrazi slo &verzie", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Vlastnosti panela loh" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Zobrazi &hodiny", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 65, 10 + CONTROL "&Skry neaktvne ikony", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Prispsobi...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Vlastnosti ponuky tart" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Prispsobenie oznamovacch ikn" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Text popisu:", IDC_LABEL1, 7, 44, 44, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "&Nzov okna:", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "&Cesta:", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "&Zobrazenie", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "z&obrazi", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 40, 10 + CONTROL "&skry", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "a&utomaticky", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 105, 108, 55, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "&Posledn zmena:", IDC_LABEL6, 7, 128, 40, 18 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "zo&brazi skryt", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 64, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Zrui", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Vybra spsob zobrazovania okien" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Vyberte si uprednostovan pouvatesk rozhranie:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Mnoho dokumentov rozhranie)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 130, 10 + CONTROL "&SDI (Jedno dokumentov rozhranie)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 130, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "Otvra prieinky v samostatnch &oknch", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 138, 10 + LTEXT "Toto nastavenie sa v budcnosti pouije ako predvolen pre vetke okn Prieskumnka.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Zrui", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "o je Prieskumnk systmu ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Prieskumnk systmu ReactOS", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "Verzia 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "Prieskumnk systmu ReactOS" + IDS_START "tart" + IDS_LOGOFF "Odhlsi..." + IDS_SHUTDOWN "Vypn..." + IDS_RESTART "Retart..." + IDS_LAUNCH "Spusti..." + IDS_START_HELP "Pomocnk" + IDS_SEARCH_FILES "Hada..." + IDS_DOCUMENTS "Moje dokumenty" + IDS_FAVORITES "Obben poloky" + IDS_PROGRAMS "Programy" + IDS_SETTINGS "Nastavenia" + IDS_EXPLORE "Preskma" + IDS_EMPTY "(Przdne)" + IDS_RECENT "Nedvne dokumenty" + IDS_ADMIN "Administrcia" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Ponuka tart" + IDS_MINIMIZE_ALL "Minimalizova vetke okn" + IDS_DESKTOP_NUM "Pracovn plocha %d" + IDS_VOLUME "Hlasitos" + IDS_ITEMS_CUR "sasn poloky" + IDS_ITEMS_CONFIGURED "konfigurcia" + IDS_ITEMS_VISIBLE "viditen" + IDS_ITEMS_HIDDEN "skryt" + IDS_NOTIFY_SHOW "zobrazi" + IDS_NOTIFY_HIDE "skry" + IDS_NOTIFY_AUTOHIDE "skry automaticky" + IDS_SHOW_HIDDEN_ICONS "Zobrazi skryt ikony" + IDS_HIDE_ICONS "Skry ikony" + IDS_TERMINATE "Ukoni Prieskumnka systmu ReactOS" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Sie" + IDS_CONNECTIONS "Sieov pripojenia" + IDS_DRIVES "Disky" + IDS_SEARCH_COMPUTER "Hada pota..." + IDS_SETTINGS_MENU "Nastavenie" + IDS_CONTROL_PANEL "Ovldac panel" + IDS_PRINTERS "Tlaiarne" + IDS_BROWSE "Prechdza sbory" + IDS_SEARCH_PRG "Hada program..." + IDS_ALL_USERS "All Users\\" + IDS_SEARCH "Hada" + IDS_ABOUT_EXPLORER "&o je Prieskumnk..." + IDS_LAUNCH_MANY_PROGRAMS "Vybrali Ste viac programov.\nPrajete si ich vetky spusti?" + IDS_DESKTOPBAR_SETTINGS "Nastavenia plochy" + IDS_DESKTOP "Pracovn plocha" + IDS_TASKBAR "Panel loh" + IDS_NAMECOLUMN "Name" + IDS_PATHCOLUMN "Path" + IDS_MENUCOLUMN "Menu path" +END diff --git a/base/shell/explorer-old/explorer-sq.rc b/base/shell/explorer-old/explorer-sq.rc new file mode 100644 index 00000000000..c0b7df1e095 --- /dev/null +++ b/base/shell/explorer-old/explorer-sq.rc @@ -0,0 +1,296 @@ +/* TRANSLATOR : Ardit Dani (Ard1t) (ardit.dani@gmail.com) + * DATE OF TR: 29-11-2013 +*/ + +LANGUAGE LANG_ALBANIAN, SUBLANG_NEUTRAL + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Ekzekuto...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "D&il", ID_FILE_EXIT + END + POPUP "&Shfaq" + BEGIN + MENUITEM "&Toolbar", ID_VIEW_TOOL_BAR + MENUITEM "&Extra Bar", ID_VIEW_EXTRA_BAR + MENUITEM "&Drivebar", ID_VIEW_DRIVE_BAR + MENUITEM "S&ide Bar", ID_VIEW_SIDE_BAR + MENUITEM "&Statusi Bar", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Rifresko\tF5", ID_REFRESH + MENUITEM "Ekran i plote\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "&Dritare" + BEGIN + MENUITEM "Dritare e re", ID_WINDOW_NEW + MENUITEM "Ujevare\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "Afro &Horizontalisht", ID_WINDOW_TILE_HORZ + MENUITEM "Afro &Vertikalisht\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Organizoni Automatikisht", ID_WINDOW_AUTOSORT + MENUITEM "Organizoni Simbolet", ID_WINDOW_ARRANGE + END + POPUP "&Vegla" + BEGIN + MENUITEM "&Opsione", ID_TOOLS_OPTIONS + END + POPUP "&Ndihmë" + BEGIN + MENUITEM "Exploro &FAQ...", ID_EXPLORER_FAQ + MENUITEM "&Rreth Ekslorerit...", ID_ABOUT_EXPLORER + MENUITEM "Rreth &OS...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Konfigurimet...", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Menaxheri i detyrave...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&Rreth Ekslorerit...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Hap kontrollin e volumit", ID_TRAY_VOLUME + MENUITEM "Rrugullo rekuizitën e volumit", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Shfaq ikonat e fshehura", ID_SHOW_HIDDEN_ICONS + MENUITEM "Shfaq ikonat &Butonat", ID_SHOW_ICON_BUTTON + MENUITEM "&Konfiguro notifikacionet...", ID_CONFIG_NOTIFYAREA + MENUITEM "Rrugullo Data/&Ora...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&Rreth Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Ekzekuto...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Mbyll", ID_FILE_EXIT + END + POPUP "&Vëzhgo" + BEGIN + MENUITEM "&Toolbari", ID_VIEW_TOOL_BAR + MENUITEM "S&ide Bar", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "&Status Bar", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Rifresko\tF5", ID_REFRESH + MENUITEM "Ekran i Plote\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Vegla" + BEGIN + MENUITEM "&Opsione", ID_TOOLS_OPTIONS + END + POPUP "&Ndihmë" + BEGIN + MENUITEM "Ekslorerues &FAQ...", ID_EXPLORER_FAQ + MENUITEM "&Rreth Exploruesit...", ID_ABOUT_EXPLORER + MENUITEM "Rreth &OS...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Ekzekuto" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "&Comanda:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "Si &Simbol", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "&Anulo", 2, 158, 23, 47, 14 + PUSHBUTTON "&Ndihmë", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Kerko Programin në Startmenu" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filter:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Kontrollo Elementet", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Tiparet e Desktop" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Ju lutem zgjidhni preferencen e algorithmit per ikona tuaja:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "left/top dwn", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "left/top right", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "right/top left", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "rig./top dwn", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "left/bot. up", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "left/bot. right", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "right/bot. left", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "rig./bot. up", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "border down", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "border H/V", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "round about", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Display &Version Number", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Tiparet e Taskbar" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Shfaq orën", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "&Fshih ikonat jo aktive", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Njoftime...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Tiparet e Start Menu" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Konfigurimi i ikonave" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Teksti i ndihmes Text:", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "Titulli i dritares:", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "Rruga e moduleve:", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "Modaliteti i Hapjes", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "&shfaq", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 33, 10 + CONTROL "&Fsheh", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "fshih a&tomatikisht", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 43, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "&Ndryshimi i fundit:", IDC_LABEL6, 7, 132, 43, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "Shfaq te fshehurat", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 56, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Anulo", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Zgjidh modelin e Eksplorerit" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Ju lutem zgjidhni ndërfaqen e përdoruesit te preferuar për Explorer:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Ndërfaqja e dokumenteve te shumte)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (Ndërfaqja e dokumenteve tek)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "Hap nën-skedat ne një dritare të re", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "Kjo vendosje do të përdoret si parazgjedhje për të gjitha dritaret Explorer në të ardhmen.", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Anulo", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Rreth ReactOS Explorer" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Explorer" + IDS_START "Fillo" + IDS_LOGOFF "Dil..." + IDS_SHUTDOWN "Fik..." + IDS_RESTART "Rifillo..." + IDS_LAUNCH "Fillo..." + IDS_START_HELP "Ndihmë" + IDS_SEARCH_FILES "Kërko..." + IDS_DOCUMENTS "Dokumentat e Mi" + IDS_FAVORITES "Preferuarat" + IDS_PROGRAMS "Programet" + IDS_SETTINGS "Konfigurimet" + IDS_EXPLORE "Eksploro" + IDS_EMPTY "(Bosh)" + IDS_RECENT "Dokumentet e Fundit" + IDS_ADMIN "Administrimi" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Menu Fillimi" + IDS_MINIMIZE_ALL "Minimizo te gjitha dritaret" + IDS_DESKTOP_NUM "Desktopi %d" + IDS_VOLUME "Volumi" + IDS_ITEMS_CUR "Artikuj Aktual" + IDS_ITEMS_CONFIGURED "Konfigurimi" + IDS_ITEMS_VISIBLE "I dukshëm" + IDS_ITEMS_HIDDEN "Fshehur" + IDS_NOTIFY_SHOW "Shfaq" + IDS_NOTIFY_HIDE "Fsheh" + IDS_NOTIFY_AUTOHIDE "Fshih Automatikisht" + IDS_SHOW_HIDDEN_ICONS "Shfaq ikonat e fshehura" + IDS_HIDE_ICONS "Fshih ikonat" + IDS_TERMINATE "Përfundo ROS Explorer" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Networku" + IDS_CONNECTIONS "Lidhja e Networkut" + IDS_DRIVES "Driverat" + IDS_SEARCH_COMPUTER "Kërko ne kompjuter..." + IDS_SETTINGS_MENU "Konfigurim Menu" + IDS_CONTROL_PANEL "Paneli i Kontrollit" + IDS_PRINTERS "Printerat" + IDS_BROWSE "Kërko Dokumenta" + IDS_SEARCH_PRG "Kërko Programin..." + IDS_ALL_USERS "Të gjith Përdoruesit\\" + IDS_SEARCH "Kërko" + IDS_ABOUT_EXPLORER "&Rreth Explorerit..." + IDS_LAUNCH_MANY_PROGRAMS "Ju keni zgjedhur më shumë se një program.\nAJeni i sigurt që ju dëshironi për të nisur të gjithë ata?" + IDS_DESKTOPBAR_SETTINGS "Konfigurimet e Desktopit" + IDS_DESKTOP "Desktopi" + IDS_TASKBAR "Taskbari" + IDS_NAMECOLUMN "Emri" + IDS_PATHCOLUMN "Rruga" + IDS_MENUCOLUMN "Rruga Menu" +END diff --git a/base/shell/explorer-old/explorer-sv.rc b/base/shell/explorer-old/explorer-sv.rc new file mode 100644 index 00000000000..745ef9c7c0e --- /dev/null +++ b/base/shell/explorer-old/explorer-sv.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&Arkiv" + BEGIN + MENUITEM "&Kr...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Avsluta", ID_FILE_EXIT + END + POPUP "&Visa" + BEGIN + MENUITEM "&Verktygsflt", ID_VIEW_TOOL_BAR + MENUITEM "&Extraflt", ID_VIEW_EXTRA_BAR + MENUITEM "E&nhetsflt", ID_VIEW_DRIVE_BAR + MENUITEM "S&idflt", ID_VIEW_SIDE_BAR + MENUITEM "&Statusflt", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Uppdatera\tF5", ID_REFRESH + MENUITEM "F&ullskrm\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "&Fnster" + BEGIN + MENUITEM "Nytt &fnster", ID_WINDOW_NEW + MENUITEM "verlappande\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "Ordna &horizontellt", ID_WINDOW_TILE_HORZ + MENUITEM "Ordna &vertikalt\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Ordna automatiskt", ID_WINDOW_AUTOSORT + MENUITEM "Ordna &symboler", ID_WINDOW_ARRANGE + END + POPUP "&Verktyg" + BEGIN + MENUITEM "&Alternativ", ID_TOOLS_OPTIONS + END + POPUP "&Hjlp" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "Om &Explorer...", ID_ABOUT_EXPLORER + MENUITEM "Om &OS...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Instllningar...", ID_DESKTOPBAR_SETTINGS + MENUITEM "&Aktivitetshanteraren...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&Om Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "ppna volymkontroll", ID_TRAY_VOLUME + MENUITEM "Justera ljudinstllningar", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Visa dolda ikoner", ID_SHOW_HIDDEN_ICONS + MENUITEM "Visa &ikonknapp", ID_SHOW_ICON_BUTTON + MENUITEM "&Konfigurera meddelanden...", ID_CONFIG_NOTIFYAREA + MENUITEM "Justera &datum och &tid...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&Om Explorer...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&Arkiv" + BEGIN + MENUITEM "&Kr...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "&Avsluta", ID_FILE_EXIT + END + POPUP "&Visa" + BEGIN + MENUITEM "&Verktygsflt", ID_VIEW_TOOL_BAR + MENUITEM "&Sidflt", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "&Statusflt", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Uppdatera\tF5", ID_REFRESH + MENUITEM "&Fullskrm\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Verktyg" + BEGIN + MENUITEM "&Alternativ", ID_TOOLS_OPTIONS + END + POPUP "&Hjlp" + BEGIN + MENUITEM "Explorer &FAQ...", ID_EXPLORER_FAQ + MENUITEM "&Om Explorer...", ID_ABOUT_EXPLORER + MENUITEM "Om &operativsystemet...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Kr" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 162, 10 + CONTROL "&Kommando:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "&Som symbol", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "&Avbryt", 2, 158, 23, 47, 14 + PUSHBUTTON "&Hjlp", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Sk program p startmenyn" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Filter:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Kontrollera poster", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Skrivbordsinstllningar" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Vlj frn vilket hrn och t vilket hll du fredrar att rada upp ikonerna:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "v. och nert", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "vre t h.", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "vre t v.", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "h. och nert", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "v. och uppt", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "nedre t h.", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "nedre t v.", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "h. och uppt", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "sidor och ner", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "kanter", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "runt om", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Visa &versionsnummer", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Aktivitetsfltsinstllningar" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "visa &klockan", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "&Gm inaktiva meddelandeikoner", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "&Meddelanden...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Startmenyinstllningar" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Instllningar fr meddelandeikoner" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Hjlptext:", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 58, 42, 143, 14, ES_AUTOHSCROLL + LTEXT "&Fnstertitel:", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 58, 60, 143, 14, ES_AUTOHSCROLL + LTEXT "&Modulskvg:", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 58, 78, 143, 14, ES_AUTOHSCROLL + GROUPBOX "&Visningslge", IDC_LABEL4, 7, 96, 157, 28 + CONTROL "v&isa", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 33, 10 + CONTROL "&dlj", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 29, 10 + CONTROL "dlj a&utomatiskt", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 43, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "&Senast ndrad:", IDC_LABEL6, 7, 132, 43, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "visa d&olda", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 56, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Avbryt", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Vlj MDI / SDI Lge" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Vlj det grnssnitt du fredrar:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (Multiple Document Interface)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (Single Document Interface)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "Open Subfolders in s&eparate windows", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "Den hr instllningen kommer att glla som standard i alla nya explorer-fnster.", IDC_STATIC, 7, 107, 174, 22 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Avbryt", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "About ReactOS Explorer" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Explorer", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS Explorer" + IDS_START "Start" + IDS_LOGOFF "Logga ut..." + IDS_SHUTDOWN "Stng av..." + IDS_RESTART "Restart..." + IDS_LAUNCH "Kr..." + IDS_START_HELP "Hjlp" + IDS_SEARCH_FILES "Sk..." + IDS_DOCUMENTS "Dokument" + IDS_FAVORITES "Favoriter" + IDS_PROGRAMS "Program" + IDS_SETTINGS "Instllningar" + IDS_EXPLORE "Utforska" + IDS_EMPTY "(tom)" + IDS_RECENT "Senaste dokumenten" + IDS_ADMIN "Administration" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Startmeny" + IDS_MINIMIZE_ALL "minimera alla fnster" + IDS_DESKTOP_NUM "Skrivbord %d" + IDS_VOLUME "Volym" + IDS_ITEMS_CUR "aktuella meddelanden" + IDS_ITEMS_CONFIGURED "konfiguration" + IDS_ITEMS_VISIBLE "synlig" + IDS_ITEMS_HIDDEN "dold" + IDS_NOTIFY_SHOW "visa" + IDS_NOTIFY_HIDE "dlj" + IDS_NOTIFY_AUTOHIDE "dlj automatiskt" + IDS_SHOW_HIDDEN_ICONS "Visa dolda ikoner" + IDS_HIDE_ICONS "Dlj ikoner" + IDS_TERMINATE "Avsluta Explorer" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Ntverk" + IDS_CONNECTIONS "Ntverksanslutningar" + IDS_DRIVES "Enheter" + IDS_SEARCH_COMPUTER "Sk dator..." + IDS_SETTINGS_MENU "Instllningsmeny" + IDS_CONTROL_PANEL "Kontrollpanelen" + IDS_PRINTERS "Skrivare" + IDS_BROWSE "Utforska filer" + IDS_SEARCH_PRG "Sk program..." + IDS_ALL_USERS "Alla anvndare\\" + IDS_SEARCH "Sk" + IDS_ABOUT_EXPLORER "&Om Explorer..." + IDS_LAUNCH_MANY_PROGRAMS "Du har valt fler n ett program.\nr du sker p att du vill ppna dem alla?" + IDS_DESKTOPBAR_SETTINGS "Skrivbordsinstllningar" + IDS_DESKTOP "Skrivbord" + IDS_TASKBAR "Aktivitetsflt" + IDS_NAMECOLUMN "Name" + IDS_PATHCOLUMN "Path" + IDS_MENUCOLUMN "Menu path" +END diff --git a/base/shell/explorer-old/explorer-uk.rc b/base/shell/explorer-old/explorer-uk.rc new file mode 100644 index 00000000000..971b5e91c19 --- /dev/null +++ b/base/shell/explorer-old/explorer-uk.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "&Файл" + BEGIN + MENUITEM "&Виконати...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "В&ихід", ID_FILE_EXIT + END + POPUP "&Вигляд" + BEGIN + MENUITEM "&Панель інструментів", ID_VIEW_TOOL_BAR + MENUITEM "&Додаткова панель", ID_VIEW_EXTRA_BAR + MENUITEM "Д&иски", ID_VIEW_DRIVE_BAR + MENUITEM "&Обране", ID_VIEW_SIDE_BAR + MENUITEM "&Рядок стану", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Оновити\tF5", ID_REFRESH + MENUITEM "Повний &екран\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "SDI", ID_VIEW_SDI + END + POPUP "В&ікна" + BEGIN + MENUITEM "&Нове вікно", ID_WINDOW_NEW + MENUITEM "&Каскадом\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "&Горизонтально", ID_WINDOW_TILE_HORZ + MENUITEM "&Вертикально\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "Упорядкувати автоматично", ID_WINDOW_AUTOSORT + MENUITEM "Упорядкувати &значки", ID_WINDOW_ARRANGE + END + POPUP "&Інструменти" + BEGIN + MENUITEM "&Опції", ID_TOOLS_OPTIONS + END + POPUP "&Довідка" + BEGIN + MENUITEM "&FAQ(ЧаПи) по Провіднику...", ID_EXPLORER_FAQ + MENUITEM "Про &Провідник...", ID_ABOUT_EXPLORER + MENUITEM "Про &ОС...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Налаштування...", ID_DESKTOPBAR_SETTINGS + MENUITEM "Д&испетчер завдань...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "&Про Провідник...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "Гучність", ID_TRAY_VOLUME + MENUITEM "&Властивості звуку", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "&Відображати приховані значки", ID_SHOW_HIDDEN_ICONS + MENUITEM "Відображати значки на &кнопках", ID_SHOW_ICON_BUTTON + MENUITEM "&Н&астройка сповіщень...", ID_CONFIG_NOTIFYAREA + MENUITEM "&Настройка дати й часу...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "&Про Провідник...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "&Файл" + BEGIN + MENUITEM "&Виконати...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "В&ихід", ID_FILE_EXIT + END + POPUP "&Вигляд" + BEGIN + MENUITEM "&Панель інструментів", ID_VIEW_TOOL_BAR + MENUITEM "&Обране", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "&Рядок стану", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "&Оновити\tF5", ID_REFRESH + MENUITEM "Повний &екран\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "&MDI", ID_VIEW_MDI + END + POPUP "&Інструменти" + BEGIN + MENUITEM "&Опції", ID_TOOLS_OPTIONS + END + POPUP "&Довідка" + BEGIN + MENUITEM "&FAQ(ЧаПи) по Провіднику...", ID_EXPLORER_FAQ + MENUITEM "Про &Провідник...", ID_ABOUT_EXPLORER + MENUITEM "Про &ОС...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Виконати" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 150, 10 + CONTROL "&Команда:", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "&Як Символ", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "&OK", 1, 158, 6, 47, 14 + PUSHBUTTON "&Скасувати", 2, 158, 23, 47, 14 + PUSHBUTTON "&Довідка", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Пошук програми в меню Пуск" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "&Фільтр:", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 186, 33 + PUSHBUTTON "&Перевірити", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Властивості робочого столу" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Оберіть найбільш зручний для вас алгоритм вирівнювання значків:", IDC_STATIC, 7, 7, 166, 16 + CONTROL "лів/верх низ", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "лів/верх прв", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "прв/верх лів", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "прв/верх низ", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "лів/низ верх", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "лів/низ прав", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "прав/низ лів", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "прв/низ верх", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "по краях", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "верхні кути", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "навколо", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "Відображати Номер &Версії", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Властивості панелі завдань" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Відобра&жати годинник", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 2, 152, 102, 10 + CONTROL "При&ховувати невикористовувані значки", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 2, 174, 151, 10 + PUSHBUTTON "&Сповіщення...", ID_CONFIG_NOTIFYAREA, 153, 173, 52, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Властивості меню Пуск" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 208, 174 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "Конфігурація значків сповіщень" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 194, 31 + LTEXT "&Текст Підказки:", IDC_LABEL1, 7, 44, 60, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 66, 42, 135, 14, ES_AUTOHSCROLL + LTEXT "Заголовок В&ікна:", IDC_LABEL2, 7, 63, 64, 8 + EDITTEXT IDC_NOTIFY_TITLE, 66, 60, 135, 14, ES_AUTOHSCROLL + LTEXT "&Шлях до Модуля:", IDC_LABEL3, 7, 81, 63, 8 + EDITTEXT IDC_NOTIFY_MODULE, 66, 78, 135, 14, ES_AUTOHSCROLL + GROUPBOX "&Режим Відображення", IDC_LABEL4, 7, 96, 177, 28 + CONTROL "&показати", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 108, 44, 10 + CONTROL "&сховати", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 108, 40, 10 + CONTROL "а&втоприховання", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 108, 69, 10 + ICON "", IDC_PICTURE, 173, 101, 21, 20 + LTEXT "&Остання зміна:", IDC_LABEL6, 7, 132, 65, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "пока&зати приховане", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 154, 86, 10 + DEFPUSHBUTTON "&OK", IDOK, 91, 153, 50, 14, WS_GROUP + PUSHBUTTON "&Скасувати", IDCANCEL, 151, 153, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Оберіть режим вікон Провідника" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "Оберіть найбільш зручний для вас інтерфейс провідника:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (багатодокументний)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (однодокументний)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "Відкривати підтеки в о&кремих вікнах", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "Ці параметри будуть використані як значення за замовчуванням для всіх вікон провідника в майбутньому.", IDC_STATIC, 7, 109, 174, 24 + DEFPUSHBUTTON "&OK", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "&Скасувати", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Про Провідник ReactOS" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Провідник ReactOS", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "&OK", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "Провідник ReactOS" + IDS_START "Пуск" + IDS_LOGOFF "Завершення сеансу..." + IDS_SHUTDOWN "Вимкнення..." + IDS_RESTART "Перезавантаження..." + IDS_LAUNCH "Виконати..." + IDS_START_HELP "Довідка" + IDS_SEARCH_FILES "Пошук..." + IDS_DOCUMENTS "Документи" + IDS_FAVORITES "Обране" + IDS_PROGRAMS "Програми" + IDS_SETTINGS "Налаштування" + IDS_EXPLORE "Огляд" + IDS_EMPTY "(Порожньо)" + IDS_RECENT "Недавні документи" + IDS_ADMIN "Адміністрування" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "Меню Пуск" + IDS_MINIMIZE_ALL "згорнути всі вікна" + IDS_DESKTOP_NUM "Робочий Стіл %d" + IDS_VOLUME "Гучність" + IDS_ITEMS_CUR "поточні елементи" + IDS_ITEMS_CONFIGURED "конфігурація" + IDS_ITEMS_VISIBLE "видимий" + IDS_ITEMS_HIDDEN "прихований" + IDS_NOTIFY_SHOW "показати" + IDS_NOTIFY_HIDE "сховати" + IDS_NOTIFY_AUTOHIDE "автоприховання" + IDS_SHOW_HIDDEN_ICONS "Показати приховані значки" + IDS_HIDE_ICONS "Сховати значки" + IDS_TERMINATE "Завершити роботу Провідника" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "Мережа" + IDS_CONNECTIONS "Мережні підключення" + IDS_DRIVES "Диски" + IDS_SEARCH_COMPUTER "Пошук комп’ютера..." + IDS_SETTINGS_MENU "Меню Налаштувань" + IDS_CONTROL_PANEL "Панель керування" + IDS_PRINTERS "Принтери" + IDS_BROWSE "Огляд файлів" + IDS_SEARCH_PRG "Пошук програми..." + IDS_ALL_USERS "Всі користувачі\\" + IDS_SEARCH "Пошук" + IDS_ABOUT_EXPLORER "&Про Провідник..." + IDS_LAUNCH_MANY_PROGRAMS "Ви обрали більше однієї програми.\nВи впевнені, що хочете запустити їх всі?" + IDS_DESKTOPBAR_SETTINGS "Налаштування робочого стола" + IDS_DESKTOP "Робочий Стіл" + IDS_TASKBAR "Панель завдань" + IDS_NAMECOLUMN "Ім'я" + IDS_PATHCOLUMN "Шлях" + IDS_MENUCOLUMN "Шлях в меню" +END diff --git a/base/shell/explorer-old/explorer-zh.rc b/base/shell/explorer-old/explorer-zh.rc new file mode 100644 index 00000000000..086e3e33c39 --- /dev/null +++ b/base/shell/explorer-old/explorer-zh.rc @@ -0,0 +1,292 @@ +LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED + +/* Menus */ + +IDM_MDIFRAME MENU +BEGIN + POPUP "文件(&F)" + BEGIN + MENUITEM "运行(&E)...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "退出(&X)", ID_FILE_EXIT + END + POPUP "查看(&V)" + BEGIN + MENUITEM "工具栏(&T)", ID_VIEW_TOOL_BAR + MENUITEM "附加栏(&E)", ID_VIEW_EXTRA_BAR + MENUITEM "驱动器栏(&D)", ID_VIEW_DRIVE_BAR + MENUITEM "侧边栏(&S)", ID_VIEW_SIDE_BAR + MENUITEM "状态栏(&S)", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "刷新(&R)\tF5", ID_REFRESH + MENUITEM "全屏(&U)\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "单文档界面(&S)", ID_VIEW_SDI + END + POPUP "窗口(&W)" + BEGIN + MENUITEM "新窗口(&W)", ID_WINDOW_NEW + MENUITEM "层叠排列(&C)\tShift+F5", ID_WINDOW_CASCADE + MENUITEM "横向平铺(&H)", ID_WINDOW_TILE_HORZ + MENUITEM "纵向平铺(&V)\tShift+F4", ID_WINDOW_TILE_VERT + MENUITEM "自动排列(&A)", ID_WINDOW_AUTOSORT + MENUITEM "全部最小化(&S)", ID_WINDOW_ARRANGE + END + POPUP "工具(&T)" + BEGIN + MENUITEM "选项(&O)", ID_TOOLS_OPTIONS + END + POPUP "帮助(&H)" + BEGIN + MENUITEM "浏览器帮助文档(&F)...", ID_EXPLORER_FAQ + MENUITEM "关于浏览器(&A)...", ID_ABOUT_EXPLORER + MENUITEM "关于操作系统(&O)...", ID_ABOUT_WINDOWS + END +END + +IDM_DESKTOPBAR MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "设置(&S)...", ID_DESKTOPBAR_SETTINGS + MENUITEM "任务管理器(&T)...", ID_TASKMGR + MENUITEM SEPARATOR + MENUITEM "关于浏览器(&A)...", ID_ABOUT_EXPLORER + END +END + +IDM_VOLUME MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "打开音量控制(&O)", ID_TRAY_VOLUME + MENUITEM "调整音频属性(&A)", ID_VOLUME_PROPERTIES + END +END + +IDM_NOTIFYAREA MENU +BEGIN + POPUP "" + BEGIN + MENUITEM "显示隐藏图标(&S)", ID_SHOW_HIDDEN_ICONS + MENUITEM "显示图标按钮(&B)", ID_SHOW_ICON_BUTTON + MENUITEM "配置任务栏通知区(&C)...", ID_CONFIG_NOTIFYAREA + MENUITEM "设置日期/时间(&T)...", ID_CONFIG_TIME + MENUITEM SEPARATOR + MENUITEM "关于浏览器(&A)...", ID_ABOUT_EXPLORER + END +END + +IDM_SDIFRAME MENU +BEGIN + POPUP "文件(&F)" + BEGIN + MENUITEM "运行(&E)...", ID_EXECUTE + MENUITEM SEPARATOR + MENUITEM "退出(&X)", ID_FILE_EXIT + END + POPUP "查看(&V)" + BEGIN + MENUITEM "工具栏(&T)", ID_VIEW_TOOL_BAR + MENUITEM "侧边栏(&S)", ID_VIEW_SIDE_BAR, GRAYED + MENUITEM "状态栏(&S)", ID_VIEW_STATUSBAR + MENUITEM SEPARATOR + MENUITEM "刷新(&R)\tF5", ID_REFRESH + MENUITEM "全屏(&U)\tCtrl+Shift+S", ID_VIEW_FULLSCREEN + MENUITEM "多文档界面(&M)", ID_VIEW_MDI + END + POPUP "工具(&T)" + BEGIN + MENUITEM "选项(&O)", ID_TOOLS_OPTIONS + END + POPUP "帮助(&H)" + BEGIN + MENUITEM "浏览器帮助文档(&F)...", ID_EXPLORER_FAQ + MENUITEM "关于浏览器(&A)...", ID_ABOUT_EXPLORER + MENUITEM "关于操作系统(&O)...", ID_ABOUT_WINDOWS + END +END + +/* Dialogs */ + +IDD_EXECUTE DIALOGEX 15, 13, 210, 63 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "运行" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "", 101, "Static", SS_SIMPLE | SS_NOPREFIX, 3, 6, 162, 10 + CONTROL "命令(&C):", -1, "Static", SS_LEFTNOWORDWRAP | WS_GROUP, 3, 18, 60, 10 + EDITTEXT 201, 3, 29, 134, 12, ES_AUTOHSCROLL + CONTROL "符号链接(&S)", 214, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 3, 45, 71, 12 + DEFPUSHBUTTON "确定(&O)", 1, 158, 6, 47, 14 + PUSHBUTTON "取消(&C)", 2, 158, 23, 47, 14 + PUSHBUTTON "帮助(&H)", 254, 158, 43, 47, 14 +END + +IDD_SEARCH_PROGRAM DIALOGEX 0, 0, 200, 65 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "在开始菜单搜索程序" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "过滤(&F):", IDC_STATIC, 7, 9, 18, 8 + EDITTEXT IDC_FILTER, 34, 7, 100, 14, ES_AUTOHSCROLL + CONTROL "List1", IDC_PROGRAMS_FOUND, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | + LVS_SORTASCENDING | WS_BORDER | WS_TABSTOP, 7, 25, 185, 33 + PUSHBUTTON "选取输入项(&C)", IDC_CHECK_ENTRIES, 143, 7, 50, 14 +END + +IDD_DESKBAR_DESKTOP DIALOGEX 0, 0, 212, 172 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "桌面属性" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "请选择桌面图标排列方式:", IDC_STATIC, 7, 7, 166, 8 + CONTROL "左上向下", IDC_ICON_ALIGN_0, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 25, 46, 44 + CONTROL "左上向右", IDC_ICON_ALIGN_1, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 25, 46, 44 + CONTROL "右上向左", IDC_ICON_ALIGN_2, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 25, 46, 44 + CONTROL "右上向下", IDC_ICON_ALIGN_3, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 25, 46, 44 + CONTROL "左下向上", IDC_ICON_ALIGN_4, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 73, 46, 44 + CONTROL "左下向右", IDC_ICON_ALIGN_5, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 73, 46, 44 + CONTROL "右下向左", IDC_ICON_ALIGN_6, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 73, 46, 44 + CONTROL "右下向上", IDC_ICON_ALIGN_7, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 73, 46, 44 + CONTROL "边界向下", IDC_ICON_ALIGN_8, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 7, 121, 46, 44 + CONTROL "边界横纵", IDC_ICON_ALIGN_9, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 57, 121, 46, 44 + CONTROL "桌面环绕", IDC_ICON_ALIGN_10, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 110, 121, 46, 44 + CONTROL "", IDC_ICON_ALIGN_11, "Button", BS_OWNERDRAW | BS_BOTTOM | WS_TABSTOP, 159, 121, 46, 44 +// CONTROL "显示版本号(&V)", ID_DESKTOP_VERSION, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 177, 91, 10 +END + +IDD_DESKBAR_TASKBAR DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "任务栏属性" +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "显示时钟(&C)", ID_SHOW_CLOCK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 152, 52, 10 + CONTROL "隐藏不活动的通知区图标(&H)", ID_HIDE_INACTIVE_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 174, 111, 10 + PUSHBUTTON "任务栏通知区(&N)...", ID_CONFIG_NOTIFYAREA, 153, 173, 50, 14 +END + +IDD_DESKBAR_STARTMENU DIALOGEX 0, 0, 210, 194 +STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "开始菜单属性" +FONT 8, "MS Shell Dlg" +BEGIN +END + +IDD_NOTIFYAREA DIALOGEX 0, 0, 207, 150 +STYLE DS_SHELLFONT | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW +CAPTION "配置通知区图标" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + CONTROL "Tree1", IDC_NOTIFY_ICONS, "SysTreeView32", TVS_HASLINES | TVS_SHOWSELALWAYS | WS_BORDER | WS_TABSTOP, 7, 7, 193, 31 + LTEXT "提示文字(&T):", IDC_LABEL1, 7, 44, 40, 8 + EDITTEXT IDC_NOTIFY_TOOLTIP, 55, 42, 145, 14, ES_AUTOHSCROLL + LTEXT "窗口标题(&I):", IDC_LABEL2, 7, 63, 44, 8 + EDITTEXT IDC_NOTIFY_TITLE, 55, 60, 145, 14, ES_AUTOHSCROLL + LTEXT "模块路径(&M):", IDC_LABEL3, 7, 81, 43, 8 + EDITTEXT IDC_NOTIFY_MODULE, 55, 78, 145, 14, ES_AUTOHSCROLL + GROUPBOX "显示模式(&D)", IDC_LABEL4, 7, 95, 157, 28 + CONTROL "显示(&S)", IDC_NOTIFY_SHOW, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 15, 107, 33, 10 + CONTROL "隐藏(&H)", IDC_NOTIFY_HIDE, "Button", BS_AUTORADIOBUTTON, 66, 107, 29, 10 + CONTROL "自动隐藏(&U)", IDC_NOTIFY_AUTOHIDE, "Button", BS_AUTORADIOBUTTON, 112, 107, 43, 10 + ICON "", IDC_PICTURE, 173, 100, 20, 20 + LTEXT "最后更改(&L):", IDC_LABEL6, 7, 132, 43, 8 + EDITTEXT IDC_LAST_CHANGE, 59, 129, 105, 14, ES_AUTOHSCROLL | ES_READONLY + CONTROL "显示被隐藏的(&W)", ID_SHOW_HIDDEN_ICONS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 131, 56, 10 + DEFPUSHBUTTON "确定(&O)", IDOK, 91, 129, 50, 14, WS_GROUP + PUSHBUTTON "取消(&C)", IDCANCEL, 150, 129, 50, 14 +END + +IDD_MDI_SDI DIALOGEX 0, 0, 194, 157 +STYLE DS_SHELLFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "选择浏览器窗口模式" +FONT 8, "MS Shell Dlg", 0, 0, 0x1 +BEGIN + LTEXT "请选择浏览器用户界面:", IDC_STATIC, 7, 7, 160, 8 + CONTROL "&MDI (多文档界面)", IDC_MDI, "Button", BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP, 7, 31, 124, 10 + CONTROL "&SDI (单文档界面)", IDC_SDI, "Button", BS_AUTORADIOBUTTON, 7, 62, 118, 10 + CONTROL 170, IDC_STATIC, "Static", SS_BITMAP, 145, 23, 15, 13 + CONTROL 171, IDC_STATIC, "Static", SS_BITMAP, 145, 57, 15, 13 + CONTROL "在另一窗口打来子文件夹(&E)", IDC_SEPARATE_SUBFOLDERS, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 7, 90, 135, 10 + LTEXT "以后资源管理器窗口将使用这些作为缺省设置", IDC_STATIC, 7, 111, 174, 22 + DEFPUSHBUTTON "确定(&O)", IDOK, 29, 136, 50, 14, WS_GROUP + PUSHBUTTON "取消(&C)", IDCANCEL, 106, 136, 50, 14 +END + +IDD_ABOUT_EXPLORER DIALOGEX 0, 0, 199, 106 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "关于 ReactOS 浏览器" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS 浏览器", IDC_ROS_EXPLORER, 91, 13, 104, 11 + LTEXT "V 0.9", IDC_VERSION_TXT, 91, 27, 104, 8 + LTEXT "(c) 2003-2005 Martin Fuchs", IDC_STATIC, 91, 42, 104, 8 + LTEXT "", IDC_WIN_VERSION, 91, 58, 98, 22 + LTEXT "http://www.sky.franken.de/explorer/", IDC_WWW, 17, 84, 129, 8 + CONTROL "确定(&O)", IDOK, "Button", BS_OWNERDRAW | BS_FLAT | WS_GROUP, 154, 90, 38, 12 +END + +/* String Tables */ + +STRINGTABLE +BEGIN + IDS_TITLE "ReactOS 浏览器" + IDS_START "开始" + IDS_LOGOFF "注销..." + IDS_SHUTDOWN "关闭..." + IDS_RESTART "重新启动..." + IDS_LAUNCH "运行..." + IDS_START_HELP "帮助" + IDS_SEARCH_FILES "搜索..." + IDS_DOCUMENTS "我的文档" + IDS_FAVORITES "收藏夹" + IDS_PROGRAMS "程序" + IDS_SETTINGS "设置" + IDS_EXPLORE "浏览器" + IDS_EMPTY "(空)" + IDS_RECENT "最近的文档" + IDS_ADMIN "管理工具" +END + +STRINGTABLE +BEGIN + IDS_STARTMENU "开始菜单" + IDS_MINIMIZE_ALL "最小化所有窗口" + IDS_DESKTOP_NUM "桌面 %d" + IDS_VOLUME "音量" + IDS_ITEMS_CUR "当前项目" + IDS_ITEMS_CONFIGURED "配置" + IDS_ITEMS_VISIBLE "可见" + IDS_ITEMS_HIDDEN "隐藏" + IDS_NOTIFY_SHOW "显示" + IDS_NOTIFY_HIDE "隐藏" + IDS_NOTIFY_AUTOHIDE "自动隐藏" + IDS_SHOW_HIDDEN_ICONS "显示隐藏的图标" + IDS_HIDE_ICONS "隐藏图标" + IDS_TERMINATE "终止 ROS 浏览器" +END + +STRINGTABLE +BEGIN + IDS_NETWORK "网络" + IDS_CONNECTIONS "网络连接" + IDS_DRIVES "驱动器" + IDS_SEARCH_COMPUTER "搜索计算机..." + IDS_SETTINGS_MENU "设置菜单" + IDS_CONTROL_PANEL "控制面板" + IDS_PRINTERS "打印机" + IDS_BROWSE "浏览文件" + IDS_SEARCH_PRG "搜索程序..." + IDS_ALL_USERS "All Users\\" + IDS_SEARCH "搜索" + IDS_ABOUT_EXPLORER "关于浏览器(&A)..." + IDS_LAUNCH_MANY_PROGRAMS "请选择一个以上的应用程序。\n确定要运行这些程序么?" + IDS_DESKTOPBAR_SETTINGS "桌面设置" + IDS_DESKTOP "桌面" + IDS_TASKBAR "任务栏" + IDS_NAMECOLUMN "Name" + IDS_PATHCOLUMN "Path" + IDS_MENUCOLUMN "Menu path" +END diff --git a/base/shell/explorer-old/explorer.cpp b/base/shell/explorer-old/explorer.cpp new file mode 100644 index 00000000000..ffe9d23fe2a --- /dev/null +++ b/base/shell/explorer-old/explorer.cpp @@ -0,0 +1,1250 @@ +/* + * Copyright 2003, 2004, 2005, 2006 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // explorer.cpp + // + // Martin Fuchs, 23.07.2003 + // + // Credits: Thanks to Leon Finker for his explorer cabinet window example + // + + +#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__ +#include // for dup2() +#include // for _O_RDONLY +#endif + +//#include "dialogs/settings.h" // for MdiSdiDlg + +#include "services/shellservices.h" + + +extern "C" int initialize_gdb_stub(); // start up GDB stub + + +DynamicLoadLibFct g_SHDOCVW_ShellDDEInit(TEXT("SHDOCVW"), 118); + + +ExplorerGlobals g_Globals; +boolean SelectOpt=FALSE; + + +ExplorerGlobals::ExplorerGlobals() +{ + _hInstance = 0; + _cfStrFName = 0; + +#ifndef ROSSHELL + _hframeClass = 0; + _hMainWnd = 0; + _desktop_mode = false; + _prescan_nodes = false; +#endif + + _log = NULL; + _SHRestricted = 0; + _hwndDesktopBar = 0; + _hwndShellView = 0; + _hwndDesktop = 0; +} + + +void ExplorerGlobals::init(HINSTANCE hInstance) +{ + _hInstance = hInstance; + _SHRestricted = (DWORD(STDAPICALLTYPE*)(RESTRICTIONS)) GetProcAddress(GetModuleHandle(TEXT("SHELL32")), "SHRestricted"); + _icon_cache.init(); +} + + +void ExplorerGlobals::read_persistent() +{ + // read configuration file + _cfg_dir.printf(TEXT("%s\\ReactOS"), (LPCTSTR)SpecialFolderFSPath(CSIDL_APPDATA,0)); + _cfg_path.printf(TEXT("%s\\ros-explorer-cfg.xml"), _cfg_dir.c_str()); + + if (!_cfg.read_file(_cfg_path)) { + if (!_cfg._errors.empty()) { + MessageBox(_hwndDesktop, + _cfg._errors.str(), + TEXT("ROS Explorer - reading user settings"), + MB_OK); + } + _cfg.read_file(TEXT("explorer-cfg-template.xml")); + } + + // read bookmarks + _favorites_path.printf(TEXT("%s\\ros-explorer-bookmarks.xml"), _cfg_dir.c_str()); + + if (!_favorites.read(_favorites_path)) { + _favorites.import_IE_favorites(0); + _favorites.write(_favorites_path); + } +} + +void ExplorerGlobals::write_persistent() +{ + // write configuration file + RecursiveCreateDirectory(_cfg_dir); + + _cfg.write_file(_cfg_path); + _favorites.write(_favorites_path); +} + + +XMLPos ExplorerGlobals::get_cfg() +{ + XMLPos cfg_pos(&_cfg); + + cfg_pos.smart_create("explorer-cfg"); + + return cfg_pos; +} + +XMLPos ExplorerGlobals::get_cfg(const char* path) +{ + XMLPos cfg_pos(&_cfg); + + cfg_pos.smart_create("explorer-cfg"); + cfg_pos.create_relative(path); + + return cfg_pos; +} + + +void _log_(LPCTSTR txt) +{ + FmtString msg(TEXT("%s\n"), txt); + + if (g_Globals._log) + _fputts(msg, g_Globals._log); + + OutputDebugString(msg); +} + + +bool FileTypeManager::is_exe_file(LPCTSTR ext) +{ + static const LPCTSTR s_executable_extensions[] = { + TEXT("COM"), + TEXT("EXE"), + TEXT("BAT"), + TEXT("CMD"), + TEXT("CMM"), + TEXT("BTM"), + TEXT("AWK"), + 0 + }; + + TCHAR ext_buffer[_MAX_EXT]; + const LPCTSTR* p; + LPCTSTR s; + LPTSTR d; + + for(s=ext+1,d=ext_buffer; (*d=toupper(*s)); s++) + ++d; + + for(p=s_executable_extensions; *p; p++) + if (!lstrcmp(ext_buffer, *p)) + return true; + + return false; +} + + +const FileTypeInfo& FileTypeManager::operator[](String ext) +{ + ext.toLower(); + + iterator found = find(ext); + if (found != end()) + return found->second; + + FileTypeInfo& ftype = super::operator[](ext); + + ftype._neverShowExt = false; + + HKEY hkey; + TCHAR value[MAX_PATH], display_name[MAX_PATH]; + LONG valuelen = sizeof(value); + + if (!RegQueryValue(HKEY_CLASSES_ROOT, ext, value, &valuelen)) { + ftype._classname = value; + + valuelen = sizeof(display_name); + if (!RegQueryValue(HKEY_CLASSES_ROOT, ftype._classname, display_name, &valuelen)) + ftype._displayname = display_name; + + if (!RegOpenKey(HKEY_CLASSES_ROOT, ftype._classname, &hkey)) { + if (!RegQueryValueEx(hkey, TEXT("NeverShowExt"), 0, NULL, NULL, NULL)) + ftype._neverShowExt = true; + + RegCloseKey(hkey); + } + } + + return ftype; +} + +LPCTSTR FileTypeManager::set_type(Entry* entry, bool dont_hide_ext) +{ + LPCTSTR ext = _tcsrchr(entry->_data.cFileName, TEXT('.')); + + if (ext) { + const FileTypeInfo& type = (*this)[ext]; + + if (!type._displayname.empty()) + entry->_type_name = _tcsdup(type._displayname); + + // hide some file extensions + if (type._neverShowExt && !dont_hide_ext) { + int len = ext - entry->_data.cFileName; + + if (entry->_display_name != entry->_data.cFileName) + free(entry->_display_name); + + entry->_display_name = (LPTSTR) malloc((len+1)*sizeof(TCHAR)); + lstrcpyn(entry->_display_name, entry->_data.cFileName, len + 1); + } + + if (is_exe_file(ext)) + entry->_data.dwFileAttributes |= ATTRIBUTE_EXECUTABLE; + } + + return ext; +} + + +Icon::Icon() + : _id(ICID_UNKNOWN), + _itype(IT_STATIC), + _hicon(0) +{ +} + +Icon::Icon(ICON_ID id, UINT nid) //, int cx, int cy + : _id(id), + _itype(IT_STATIC), + _hicon(ResIcon(nid)) // ResIconEx(nid, cx, cy) +{ +} + +Icon::Icon(ICON_ID id, UINT nid, int icon_size) + : _id(id), + _itype(IT_STATIC), + _hicon(ResIconEx(nid, icon_size, icon_size)) +{ +} + +Icon::Icon(ICON_TYPE itype, int id, HICON hIcon) + : _id((ICON_ID)id), + _itype(itype), + _hicon(hIcon) +{ +} + +Icon::Icon(ICON_TYPE itype, int id, int sys_idx) + : _id((ICON_ID)id), + _itype(itype), + _sys_idx(sys_idx) +{ +} + +void Icon::draw(HDC hdc, int x, int y, int cx, int cy, COLORREF bk_color, HBRUSH bk_brush) const +{ + if (_itype == IT_SYSCACHE) + ImageList_DrawEx(g_Globals._icon_cache.get_sys_imagelist(), _sys_idx, hdc, x, y, cx, cy, bk_color, CLR_DEFAULT, ILD_NORMAL); + else + DrawIconEx(hdc, x, y, _hicon, cx, cy, 0, bk_brush, DI_NORMAL); +} + +HBITMAP Icon::create_bitmap(COLORREF bk_color, HBRUSH hbrBkgnd, HDC hdc_wnd) const +{ + if (_itype == IT_SYSCACHE) { + HIMAGELIST himl = g_Globals._icon_cache.get_sys_imagelist(); + + int cx, cy; + ImageList_GetIconSize(himl, &cx, &cy); + + HBITMAP hbmp = CreateCompatibleBitmap(hdc_wnd, cx, cy); + HDC hdc = CreateCompatibleDC(hdc_wnd); + HBITMAP hbmp_old = SelectBitmap(hdc, hbmp); + ImageList_DrawEx(himl, _sys_idx, hdc, 0, 0, cx, cy, bk_color, CLR_DEFAULT, ILD_NORMAL); + SelectBitmap(hdc, hbmp_old); + DeleteDC(hdc); + + return hbmp; + } else + return create_bitmap_from_icon(_hicon, hbrBkgnd, hdc_wnd); +} + + +int Icon::add_to_imagelist(HIMAGELIST himl, HDC hdc_wnd, COLORREF bk_color, HBRUSH bk_brush) const +{ + int ret; + + if (_itype == IT_SYSCACHE) { + HIMAGELIST himl = g_Globals._icon_cache.get_sys_imagelist(); + + int cx, cy; + ImageList_GetIconSize(himl, &cx, &cy); + + HBITMAP hbmp = CreateCompatibleBitmap(hdc_wnd, cx, cy); + HDC hdc = CreateCompatibleDC(hdc_wnd); + HBITMAP hbmp_old = SelectBitmap(hdc, hbmp); + ImageList_DrawEx(himl, _sys_idx, hdc, 0, 0, cx, cy, bk_color, CLR_DEFAULT, ILD_NORMAL); + SelectBitmap(hdc, hbmp_old); + DeleteDC(hdc); + + ret = ImageList_Add(himl, hbmp, 0); + + DeleteObject(hbmp); + } else + ret = ImageList_AddAlphaIcon(himl, _hicon, bk_brush, hdc_wnd); + + return ret; +} + +HBITMAP create_bitmap_from_icon(HICON hIcon, HBRUSH hbrush_bkgnd, HDC hdc_wnd/*, int icon_size*/) +{ + int cx = ICON_SIZE_SMALL; + int cy = ICON_SIZE_SMALL; + HBITMAP hbmp = CreateCompatibleBitmap(hdc_wnd, cx, cy); + + MemCanvas canvas; + BitmapSelection sel(canvas, hbmp); + + RECT rect = {0, 0, cx, cy}; + FillRect(canvas, &rect, hbrush_bkgnd); + + DrawIconEx(canvas, 0, 0, hIcon, cx, cy, 0, hbrush_bkgnd, DI_NORMAL); + + return hbmp; +} + +HBITMAP create_small_bitmap_from_icon(HICON hIcon, HBRUSH hbrush_bkgnd, HDC hdc_wnd) +{ + int cx = GetSystemMetrics(SM_CXSMICON); + int cy = GetSystemMetrics(SM_CYSMICON); + HBITMAP hbmp = CreateCompatibleBitmap(hdc_wnd, cx, cy); + + MemCanvas canvas; + BitmapSelection sel(canvas, hbmp); + + RECT rect = {0, 0, cx, cy}; + FillRect(canvas, &rect, hbrush_bkgnd); + + DrawIconEx(canvas, 0, 0, hIcon, cx, cy, 0, hbrush_bkgnd, DI_NORMAL); + + return hbmp; +} + +int ImageList_AddAlphaIcon(HIMAGELIST himl, HICON hIcon, HBRUSH hbrush_bkgnd, HDC hdc_wnd) +{ + HBITMAP hbmp = create_bitmap_from_icon(hIcon, hbrush_bkgnd, hdc_wnd); + + int ret = ImageList_Add(himl, hbmp, 0); + + DeleteObject(hbmp); + + return ret; +} + + +int IconCache::s_next_id = ICID_DYNAMIC; + + +void IconCache::init() +{ + int icon_size = STARTMENUROOT_ICON_SIZE; + + _icons[ICID_NONE] = Icon(IT_STATIC, ICID_NONE, (HICON)0); + + _icons[ICID_FOLDER] = Icon(ICID_FOLDER, IDI_FOLDER); + //_icons[ICID_DOCUMENT] = Icon(ICID_DOCUMENT, IDI_DOCUMENT); + _icons[ICID_EXPLORER] = Icon(ICID_EXPLORER, IDI_EXPLORER); + //_icons[ICID_APP] = Icon(ICID_APP, IDI_APPICON); + + _icons[ICID_CONFIG] = Icon(ICID_CONFIG, IDI_CONFIG, icon_size); + _icons[ICID_DOCUMENTS] = Icon(ICID_DOCUMENTS, IDI_DOCUMENTS, icon_size); + _icons[ICID_FAVORITES] = Icon(ICID_FAVORITES, IDI_FAVORITES, icon_size); + _icons[ICID_INFO] = Icon(ICID_INFO, IDI_INFO, icon_size); + _icons[ICID_APPS] = Icon(ICID_APPS, IDI_APPS, icon_size); + _icons[ICID_SEARCH] = Icon(ICID_SEARCH, IDI_SEARCH, icon_size); + _icons[ICID_ACTION] = Icon(ICID_ACTION, IDI_ACTION, icon_size); + _icons[ICID_SEARCH_DOC] = Icon(ICID_SEARCH_DOC, IDI_SEARCH_DOC, icon_size); + _icons[ICID_PRINTER] = Icon(ICID_PRINTER, IDI_PRINTER, icon_size); + _icons[ICID_NETWORK] = Icon(ICID_NETWORK, IDI_NETWORK, icon_size); + _icons[ICID_COMPUTER] = Icon(ICID_COMPUTER, IDI_COMPUTER, icon_size); + _icons[ICID_LOGOFF] = Icon(ICID_LOGOFF, IDI_LOGOFF, icon_size); + _icons[ICID_SHUTDOWN] = Icon(ICID_SHUTDOWN, IDI_SHUTDOWN, icon_size); + _icons[ICID_RESTART] = Icon(ICID_RESTART, IDI_RESTART, icon_size); + _icons[ICID_BOOKMARK] = Icon(ICID_BOOKMARK, IDI_DOT_TRANS, icon_size); + _icons[ICID_MINIMIZE] = Icon(ICID_MINIMIZE, IDI_MINIMIZE, icon_size); + _icons[ICID_CONTROLPAN] = Icon(ICID_CONTROLPAN, IDI_CONTROLPAN, icon_size); + _icons[ICID_DESKSETTING]= Icon(ICID_DESKSETTING,IDI_DESKSETTING,icon_size); + _icons[ICID_NETCONNS] = Icon(ICID_NETCONNS, IDI_NETCONNS, icon_size); + _icons[ICID_ADMIN] = Icon(ICID_ADMIN, IDI_ADMIN, icon_size); + _icons[ICID_RECENT] = Icon(ICID_RECENT, IDI_RECENT, icon_size); +} + + +const Icon& IconCache::extract(LPCTSTR path, ICONCACHE_FLAGS flags) +{ + // search for matching icon with unchanged flags in the cache + CacheKey mapkey(path, flags); + PathCacheMap::iterator found = _pathCache.find(mapkey); + + if (found != _pathCache.end()) + return _icons[found->second]; + + // search for matching icon with handle + CacheKey mapkey_hicon(path, flags|ICF_HICON); + if (flags != mapkey_hicon.second) { + found = _pathCache.find(mapkey_hicon); + + if (found != _pathCache.end()) + return _icons[found->second]; + } + + // search for matching icon in the system image list cache + CacheKey mapkey_syscache(path, flags|ICF_SYSCACHE); + if (flags != mapkey_syscache.second) { + found = _pathCache.find(mapkey_syscache); + + if (found != _pathCache.end()) + return _icons[found->second]; + } + + SHFILEINFO sfi; + + int shgfi_flags = 0; + + if (flags & ICF_OPEN) + shgfi_flags |= SHGFI_OPENICON; + + if ((flags&(ICF_LARGE|ICF_MIDDLE|ICF_OVERLAYS|ICF_HICON)) && !(flags&ICF_SYSCACHE)) { + shgfi_flags |= SHGFI_ICON; + + if (!(flags & (ICF_LARGE|ICF_MIDDLE))) + shgfi_flags |= SHGFI_SMALLICON; + + if (flags & ICF_OVERLAYS) + shgfi_flags |= SHGFI_ADDOVERLAYS; + + // get small/big icons with/without overlays + if (SHGetFileInfo(path, 0, &sfi, sizeof(sfi), shgfi_flags)) { + const Icon& icon = add(sfi.hIcon, IT_CACHED); + + ///@todo limit cache size + _pathCache[mapkey_hicon] = icon; + + return icon; + } + } else { + assert(!(flags&ICF_OVERLAYS)); + + shgfi_flags |= SHGFI_SYSICONINDEX|SHGFI_SMALLICON; + + // use system image list - the "search program dialog" needs it + HIMAGELIST himlSys_small = (HIMAGELIST) SHGetFileInfo(path, 0, &sfi, sizeof(sfi), shgfi_flags); + + if (himlSys_small) { + _himlSys_small = himlSys_small; + + const Icon& icon = add(sfi.iIcon/*, IT_SYSCACHE*/); + + ///@todo limit cache size + _pathCache[mapkey_syscache] = icon; + + return icon; + } + } + + return _icons[ICID_NONE]; +} + +const Icon& IconCache::extract(LPCTSTR path, int icon_idx, ICONCACHE_FLAGS flags) +{ + IdxCacheKey key(path, make_pair(icon_idx, (flags|ICF_HICON)&~ICF_SYSCACHE)); + + key.first.toLower(); + + IdxCacheMap::iterator found = _idxCache.find(key); + + if (found != _idxCache.end()) + return _icons[found->second]; + + HICON hIcon; + + if ((int)ExtractIconEx(path, icon_idx, NULL, &hIcon, 1) > 0) { + const Icon& icon = add(hIcon, IT_CACHED); + + _idxCache[key] = icon; + + return icon; + } else { + + ///@todo retreive "http://.../favicon.ico" format icons + + return _icons[ICID_NONE]; + } +} + +const Icon& IconCache::extract(IExtractIcon* pExtract, LPCTSTR path, int icon_idx, ICONCACHE_FLAGS flags) +{ + HICON hIconLarge = 0; + HICON hIcon; + + int icon_size = ICON_SIZE_FROM_ICF(flags); + HRESULT hr = pExtract->Extract(path, icon_idx, &hIconLarge, &hIcon, MAKELONG(GetSystemMetrics(SM_CXICON), icon_size)); + + if (hr == NOERROR) { //@@ oder SUCCEEDED(hr) ? + if (icon_size > ICON_SIZE_SMALL) { //@@ OK? + if (hIcon) + DestroyIcon(hIcon); + + hIcon = hIconLarge; + } else { + if (hIconLarge) + DestroyIcon(hIconLarge); + } + + if (hIcon) + return add(hIcon); //@@ When do we want not to free this icons? + } + + return _icons[ICID_NONE]; +} + +const Icon& IconCache::extract(LPCITEMIDLIST pidl, ICONCACHE_FLAGS flags) +{ + // search for matching icon with unchanged flags in the cache + PidlCacheKey mapkey(pidl, flags); + PidlCacheMap::iterator found = _pidlcache.find(mapkey); + + if (found != _pidlcache.end()) + return _icons[found->second]; + + // search for matching icon with handle + PidlCacheKey mapkey_hicon(pidl, flags|ICF_HICON); + if (flags != mapkey_hicon.second) { + found = _pidlcache.find(mapkey_hicon); + + if (found != _pidlcache.end()) + return _icons[found->second]; + } + + // search for matching icon in the system image list cache + PidlCacheKey mapkey_syscache(pidl, flags|ICF_SYSCACHE); + if (flags != mapkey_syscache.second) { + found = _pidlcache.find(mapkey_syscache); + + if (found != _pidlcache.end()) + return _icons[found->second]; + } + + SHFILEINFO sfi; + + int shgfi_flags = SHGFI_PIDL; + + if (!(flags & (ICF_LARGE|ICF_MIDDLE))) + shgfi_flags |= SHGFI_SMALLICON; + + if (flags & ICF_OPEN) + shgfi_flags |= SHGFI_OPENICON; + + if (flags & ICF_SYSCACHE) { + assert(!(flags&ICF_OVERLAYS)); + + HIMAGELIST himlSys = (HIMAGELIST) SHGetFileInfo((LPCTSTR)pidl, 0, &sfi, sizeof(sfi), SHGFI_SYSICONINDEX|shgfi_flags); + if (himlSys) { + const Icon& icon = add(sfi.iIcon/*, IT_SYSCACHE*/); + + ///@todo limit cache size + _pidlcache[mapkey_syscache] = icon; + + return icon; + } + } else { + if (flags & ICF_OVERLAYS) + shgfi_flags |= SHGFI_ADDOVERLAYS; + + if (SHGetFileInfo((LPCTSTR)pidl, 0, &sfi, sizeof(sfi), SHGFI_ICON|shgfi_flags)) { + const Icon& icon = add(sfi.hIcon, IT_CACHED); + + ///@todo limit cache size + _pidlcache[mapkey_hicon] = icon; + + return icon; + } + } + + return _icons[ICID_NONE]; +} + + +const Icon& IconCache::add(HICON hIcon, ICON_TYPE type) +{ + int id = ++s_next_id; + + return _icons[id] = Icon(type, id, hIcon); +} + +const Icon& IconCache::add(int sys_idx/*, ICON_TYPE type=IT_SYSCACHE*/) +{ + int id = ++s_next_id; + + return _icons[id] = SysCacheIcon(id, sys_idx); +} + +const Icon& IconCache::get_icon(int id) +{ + return _icons[id]; +} + +IconCache::~IconCache() +{ +/* We don't need to free cached resources - they are automatically freed at process termination + for (int index = s_next_id; index >= 0; index--) { + IconMap::iterator found = _icons.find(index); + + if (found != _icons.end()) { + Icon& icon = found->second; + + if ((icon.get_icontype() == IT_DYNAMIC) || + (icon.get_icontype() == IT_CACHED)) + { + DestroyIcon(icon.get_hicon()); + _icons.erase(found); + } + } + } +*/ +} + +void IconCache::free_icon(int icon_id) +{ + IconMap::iterator found = _icons.find(icon_id); + + if (found != _icons.end()) { + Icon& icon = found->second; + + if (icon.destroy()) + _icons.erase(found); + } +} + + +ResString::ResString(UINT nid) +{ + TCHAR buffer[BUFFER_LEN]; + + int len = LoadString(g_Globals._hInstance, nid, buffer, sizeof(buffer)/sizeof(TCHAR)); + + super::assign(buffer, len); +} + + +ResIcon::ResIcon(UINT nid) +{ + _hicon = LoadIcon(g_Globals._hInstance, MAKEINTRESOURCE(nid)); +} + +SmallIcon::SmallIcon(UINT nid) +{ + _hicon = (HICON)LoadImage(g_Globals._hInstance, MAKEINTRESOURCE(nid), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_SHARED); +} + +ResIconEx::ResIconEx(UINT nid, int w, int h) +{ + _hicon = (HICON)LoadImage(g_Globals._hInstance, MAKEINTRESOURCE(nid), IMAGE_ICON, w, h, LR_SHARED); +} + + +void SetWindowIcon(HWND hwnd, UINT nid) +{ + HICON hIcon = ResIcon(nid); + (void)Window_SetIcon(hwnd, ICON_BIG, hIcon); + + HICON hIconSmall = SmallIcon(nid); + (void)Window_SetIcon(hwnd, ICON_SMALL, hIconSmall); +} + + +ResBitmap::ResBitmap(UINT nid) +{ + _hBmp = LoadBitmap(g_Globals._hInstance, MAKEINTRESOURCE(nid)); +} + + +#ifndef ROSSHELL + +void explorer_show_frame(int cmdShow, LPTSTR lpCmdLine) +{ + ExplorerCmd cmd; + + if (g_Globals._hMainWnd) { + if (IsIconic(g_Globals._hMainWnd)) + ShowWindow(g_Globals._hMainWnd, SW_RESTORE); + else + SetForegroundWindow(g_Globals._hMainWnd); + + return; + } + + g_Globals._prescan_nodes = false; + + cmd._mdi = true; + cmd._cmdShow = cmdShow; + + // parse command line options, which may overwrite the MDI flag + if (lpCmdLine) + cmd.ParseCmdLine(lpCmdLine); + + // create main window + MainFrameBase::Create(cmd); +} + +bool ExplorerCmd::ParseCmdLine(LPCTSTR lpCmdLine) +{ + bool ok = true; + + LPCTSTR b = lpCmdLine; + LPCTSTR p = b; + + while(*b) { + // remove leading space + while(_istspace((unsigned)*b)) + ++b; + + p = b; + + bool quote = false; + + // options are separated by ',' + for(; *p; ++p) { + if (*p == '"') // Quote characters may appear at any position in the command line. + quote = !quote; + else if (*p==',' && !quote) + break; + } + + if (p > b) { + int l = p - b; + + // remove trailing space + while(l>0 && _istspace((unsigned)b[l-1])) + --l; + + if (!EvaluateOption(String(b, l))) + ok = false; + + if (*p) + ++p; + + b = p; + } + } + + return ok; +} + +bool ExplorerCmd::EvaluateOption(LPCTSTR option) +{ + String opt_str; + + // Remove quote characters, as they are evaluated at this point. + for(; *option; ++option) + if (*option != '"') + opt_str += *option; + + option = opt_str; + + if (option[0] == '/') { + ++option; + + // option /e for windows in explorer mode + if (!_tcsicmp(option, TEXT("e"))) + _flags |= OWM_EXPLORE; + // option /root for rooted explorer windows + else if (!_tcsicmp(option, TEXT("root"))) + _flags |= OWM_ROOTED; + // non-standard options: /mdi, /sdi + else if (!_tcsicmp(option, TEXT("mdi"))) + _mdi = true; + else if (!_tcsicmp(option, TEXT("sdi"))) + _mdi = false; + else if (!_tcsicmp(option, TEXT("n"))) + { + // Do nothing + } + else if (!_tcsicmp(option, TEXT("select"))) + { + SelectOpt = TRUE; + } + else + return false; + + } else { + if (!_path.empty()) + return false; + + if((SelectOpt == TRUE) && (PathFileExists(option))) + { + WCHAR szDir[MAX_PATH]; + + _wsplitpath(option, szPath, szDir, NULL, NULL); + wcscat(szPath, szDir); + PathRemoveBackslash(szPath); + _path = szPath; + SelectOpt = FALSE; + } + else + _path = opt_str; + } + + return true; +} + +bool ExplorerCmd::IsValidPath() const +{ + if (!_path.empty()) { + DWORD attribs = GetFileAttributes(_path); + + if (attribs!=INVALID_FILE_ATTRIBUTES && (attribs&FILE_ATTRIBUTE_DIRECTORY)) + return true; // file system path + else if (*_path==':' && _path.at(1)==':') + return true; // text encoded IDL + } + + return false; +} + +#else + +void explorer_show_frame(int cmdShow, LPTSTR lpCmdLine) +{ + if (!lpCmdLine) + lpCmdLine = TEXT("explorer.exe"); + + launch_file(GetDesktopWindow(), lpCmdLine, cmdShow); +} + +#endif + + +PopupMenu::PopupMenu(UINT nid) +{ + HMENU hMenu = LoadMenu(g_Globals._hInstance, MAKEINTRESOURCE(nid)); + _hmenu = GetSubMenu(hMenu, 0); + RemoveMenu(hMenu, 0, MF_BYPOSITION); + DestroyMenu(hMenu); +} + + + /// "About Explorer" Dialog +struct ExplorerAboutDlg : public + CtlColorParent< + OwnerDrawParent + > +{ + typedef CtlColorParent< + OwnerDrawParent + > super; + + ExplorerAboutDlg(HWND hwnd) + : super(hwnd) + { + SetWindowIcon(hwnd, IDI_REACTOS); + + new FlatButton(hwnd, IDOK); + + _hfont = CreateFont(20, 0, 0, 0, FW_BOLD, TRUE, 0, 0, 0, 0, 0, 0, 0, TEXT("Sans Serif")); + new ColorStatic(hwnd, IDC_ROS_EXPLORER, RGB(32,32,128), 0, _hfont); + + new HyperlinkCtrl(hwnd, IDC_WWW); + + FmtString ver_txt(ResString(IDS_EXPLORER_VERSION_STR), (LPCTSTR)ResString(IDS_VERSION_STR)); + SetWindowText(GetDlgItem(hwnd, IDC_VERSION_TXT), ver_txt); + + HWND hwnd_winver = GetDlgItem(hwnd, IDC_WIN_VERSION); + SetWindowText(hwnd_winver, get_windows_version_str()); + SetWindowFont(hwnd_winver, GetStockFont(DEFAULT_GUI_FONT), FALSE); + + CenterWindow(hwnd); + } + + ~ExplorerAboutDlg() + { + DeleteObject(_hfont); + } + + LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam) + { + switch(nmsg) { + case WM_PAINT: + Paint(); + break; + + default: + return super::WndProc(nmsg, wparam, lparam); + } + + return 0; + } + + void Paint() + { + PaintCanvas canvas(_hwnd); + + HICON hicon = (HICON) LoadImage(g_Globals._hInstance, MAKEINTRESOURCE(IDI_REACTOS_BIG), IMAGE_ICON, 0, 0, LR_SHARED); + + DrawIconEx(canvas, 20, 10, hicon, 0, 0, 0, 0, DI_NORMAL); + } + +protected: + HFONT _hfont; +}; + +void explorer_about(HWND hwndParent) +{ + Dialog::DoModal(IDD_ABOUT_EXPLORER, WINDOW_CREATOR(ExplorerAboutDlg), hwndParent); +} + + +static void InitInstance(HINSTANCE hInstance) +{ + CONTEXT("InitInstance"); + + setlocale(LC_COLLATE, ""); // set collating rules to local settings for compareName + +#ifndef ROSSHELL + // register frame window class + g_Globals._hframeClass = IconWindowClass(CLASSNAME_FRAME,IDI_EXPLORER); + + // register child window class + WindowClass(CLASSNAME_CHILDWND, CS_CLASSDC|CS_DBLCLKS).Register(); + + // register tree window class + WindowClass(CLASSNAME_WINEFILETREE, CS_CLASSDC|CS_DBLCLKS).Register(); +#endif + + g_Globals._cfStrFName = RegisterClipboardFormat(CFSTR_FILENAME); +} + + +int explorer_main(HINSTANCE hInstance, LPTSTR lpCmdLine, int cmdShow) +{ + CONTEXT("explorer_main"); + + // initialize Common Controls library + CommonControlInit usingCmnCtrl; + + try { + InitInstance(hInstance); + } catch(COMException& e) { + HandleException(e, GetDesktopWindow()); + return -1; + } + +#ifndef ROSSHELL + if (cmdShow != SW_HIDE) { +/* // don't maximize if being called from the ROS desktop + if (cmdShow == SW_SHOWNORMAL) + ///@todo read window placement from registry + cmdShow = SW_MAXIMIZE; +*/ + + explorer_show_frame(cmdShow, lpCmdLine); + } +#endif + + Window::MessageLoop(); + + return 1; +} + + +static bool SetShellReadyEvent(LPCTSTR evtName) +{ + HANDLE hEvent = OpenEvent(EVENT_MODIFY_STATE, FALSE, evtName); + if (!hEvent) + return false; + + SetEvent(hEvent); + CloseHandle(hEvent); + + return true; +} + + +int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd) +{ + CONTEXT("WinMain()"); + + BOOL any_desktop_running = IsAnyDesktopRunning(); + + BOOL startup_desktop; + + // strip extended options from the front of the command line + String ext_options; + + while(*lpCmdLine == '-') { + while(*lpCmdLine && !_istspace((unsigned)*lpCmdLine)) + ext_options += *lpCmdLine++; + + while(_istspace((unsigned)*lpCmdLine)) + ++lpCmdLine; + } + + // command line option "-install" to replace previous shell application with ROS Explorer + if (_tcsstr(ext_options,TEXT("-install"))) { + // install ROS Explorer into the registry + TCHAR path[MAX_PATH]; + + int l = GetModuleFileName(0, path, COUNTOF(path)); + if (l) { + HKEY hkey; + + if (!RegOpenKey(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon"), &hkey)) { + + ///@todo save previous shell application in config file + + RegSetValueEx(hkey, TEXT("Shell"), 0, REG_SZ, (LPBYTE)path, l*sizeof(TCHAR)); + RegCloseKey(hkey); + } + + if (!RegOpenKey(HKEY_CURRENT_USER, TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon"), &hkey)) { + + ///@todo save previous shell application in config file + + RegSetValueEx(hkey, TEXT("Shell"), 0, REG_SZ, (LPBYTE)TEXT(""), l*sizeof(TCHAR)); + RegCloseKey(hkey); + } + } + + HWND shellWindow = GetShellWindow(); + + if (shellWindow) { + DWORD pid; + + // terminate shell process for NT like systems + GetWindowThreadProcessId(shellWindow, &pid); + HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid); + + // On Win 9x it's sufficient to destroy the shell window. + DestroyWindow(shellWindow); + + if (TerminateProcess(hProcess, 0)) + WaitForSingleObject(hProcess, INFINITE); + + CloseHandle(hProcess); + } + + startup_desktop = TRUE; + } else { + // create desktop window and task bar only, if there is no other shell and we are + // the first explorer instance + // MS Explorer looks additionally into the registry entry HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\shell, + // to decide wether it is currently configured as shell application. + startup_desktop = !any_desktop_running; + } + + + bool autostart = !any_desktop_running; + + // disable autostart if the SHIFT key is pressed + if (GetAsyncKeyState(VK_SHIFT) < 0) + autostart = false; + +#ifdef _DEBUG //MF: disabled for debugging + autostart = false; +#endif + + // If there is given the command line option "-desktop", create desktop window anyways + if (_tcsstr(ext_options,TEXT("-desktop"))) + startup_desktop = TRUE; +#ifndef ROSSHELL + else if (_tcsstr(ext_options,TEXT("-nodesktop"))) + startup_desktop = FALSE; + + // Don't display cabinet window in desktop mode + if (startup_desktop && !_tcsstr(ext_options,TEXT("-explorer"))) + nShowCmd = SW_HIDE; +#endif + + if (_tcsstr(ext_options,TEXT("-noautostart"))) + autostart = false; + else if (_tcsstr(ext_options,TEXT("-autostart"))) + autostart = true; + +#ifndef __WINE__ + if (_tcsstr(ext_options,TEXT("-console"))) { + AllocConsole(); + + _dup2(_open_osfhandle((long)GetStdHandle(STD_INPUT_HANDLE), _O_RDONLY), 0); + _dup2(_open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), 0), 1); + _dup2(_open_osfhandle((long)GetStdHandle(STD_ERROR_HANDLE), 0), 2); + + g_Globals._log = _fdopen(1, "w"); + setvbuf(g_Globals._log, 0, _IONBF, 0); + + LOG(TEXT("starting explorer debug log\n")); + } +#endif + + + if (startup_desktop) { + // hide the XP login screen (Credit to Nicolas Escuder) + // another undocumented event: "Global\\msgina: ReturnToWelcome" + if (!SetShellReadyEvent(TEXT("msgina: ShellReadyEvent"))) + SetShellReadyEvent(TEXT("Global\\msgina: ShellReadyEvent")); + } +#ifdef ROSSHELL + else + return 0; // no shell to launch, so exit immediatelly +#endif + + + if (!any_desktop_running) { + // launch the shell DDE server + if (g_SHDOCVW_ShellDDEInit) + (*g_SHDOCVW_ShellDDEInit)(TRUE); + } + + + bool use_gdb_stub = false; // !IsDebuggerPresent(); + + if (_tcsstr(ext_options,TEXT("-debug"))) + use_gdb_stub = true; + + if (_tcsstr(ext_options,TEXT("-break"))) { + LOG(TEXT("debugger breakpoint")); + __debugbreak(); + } + +#ifdef _M_IX86 + // activate GDB remote debugging stub if no other debugger is running + if (use_gdb_stub) { + LOG(TEXT("waiting for debugger connection...\n")); + + initialize_gdb_stub(); + } +#endif + + g_Globals.init(hInstance); + + // initialize COM and OLE before creating the desktop window + OleInit usingCOM; + + // init common controls library + CommonControlInit usingCmnCtrl; + + g_Globals.read_persistent(); + + if (startup_desktop) { + WaitCursor wait; + + g_Globals._desktops.init(); + + g_Globals._hwndDesktop = DesktopWindow::Create(); +#ifdef _USE_HDESK + g_Globals._desktops.get_current_Desktop()->_hwndDesktop = g_Globals._hwndDesktop; +#endif + } + + if (_tcsstr(ext_options,TEXT("-?"))) { + MessageBoxA(g_Globals._hwndDesktop, + "/e open cabinet window in explorer mode\r\n" + "/root open cabinet window in rooted mode\r\n" + "/mdi open cabinet window in MDI mode\r\n" + "/sdi open cabinet window in SDI mode\r\n" + "\r\n" + "-? display command line options\r\n" + "\r\n" + "-desktop start in desktop mode regardless of an already running shell\r\n" + "-nodesktop disable desktop mode\r\n" + "-explorer display cabinet window regardless of enabled desktop mode\r\n" + "\r\n" + "-install replace previous shell application with ROS Explorer\r\n" + "\r\n" + "-noautostart disable autostarts\r\n" + "-autostart enable autostarts regardless of debug build\r\n" + "\r\n" + "-console open debug console\r\n" + "\r\n" + "-debug activate GDB remote debugging stub\r\n" + "-break activate debugger breakpoint\r\n", + "ROS Explorer - command line options", MB_OK); + } + + /* + * Set our shutdown parameters: we want to shutdown the very last, + * but before any TaskMgr instance (which has a shutdown level of 1). + */ + SetProcessShutdownParameters(2, 0); + + Thread* pSSOThread = NULL; + + if (startup_desktop) { + // launch SSO thread to allow message processing independent from the explorer main thread + pSSOThread = new SSOThread; + pSSOThread->Start(); + } + + /**TODO launching autostart programs can be moved into a background thread. */ + if (autostart) { + const char* argv[] = {"", "s"}; // call startup routine in SESSION_START mode + startup(2, argv); + } + +#ifndef ROSSHELL + if (g_Globals._hwndDesktop) + g_Globals._desktop_mode = true; +#endif + + + int ret = explorer_main(hInstance, lpCmdLine, nShowCmd); + + + // write configuration file + g_Globals.write_persistent(); + + if (pSSOThread) { + pSSOThread->Stop(); + delete pSSOThread; + } + + if (!any_desktop_running) { + // shutdown the shell DDE server + if (g_SHDOCVW_ShellDDEInit) + (*g_SHDOCVW_ShellDDEInit)(FALSE); + } + + return ret; +} diff --git a/base/shell/explorer-old/explorer.dsp b/base/shell/explorer-old/explorer.dsp new file mode 100644 index 00000000000..16fbb1e7cec --- /dev/null +++ b/base/shell/explorer-old/explorer.dsp @@ -0,0 +1,940 @@ +# Microsoft Developer Studio Project File - Name="explorer" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=explorer - Win32 WineDll +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "explorer.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "explorer.mak" CFG="explorer - Win32 WineDll" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "explorer - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "explorer - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "explorer - Win32 Debug Release" (based on "Win32 (x86) Console Application") +!MESSAGE "explorer - Win32 Unicode Release" (based on "Win32 (x86) Console Application") +!MESSAGE "explorer - Win32 Unicode Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "explorer - Win32" (based on "Win32 (x86) Console Application") +!MESSAGE "explorer - Win32 WineRelease" (based on "Win32 (x86) Console Application") +!MESSAGE "explorer - Win32 WineDll" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "explorer - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GR /GX /O1 /D "NDEBUG" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /Yu"precomp.h" /FD /c +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /machine:I386 /libpath:"Release" /delayload:oleaut32.dll /delayload:wsock32.dll +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "explorer - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /FR /Yu"precomp.h" /FD /GZ /c +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /libpath:"Debug" /delayload:oleaut32.dll /delayload:wsock32.dll +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "explorer - Win32 Debug Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "DRelease" +# PROP BASE Intermediate_Dir "DRelease" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "DRelease" +# PROP Intermediate_Dir "DRelease" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_ROS_" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /D "NDEBUG" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /FR /Yu"precomp.h" /FD /c +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib comctl32.lib shell32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /debug /machine:I386 /delayload:oleaut32.dll /delayload:wsock32.dll +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "explorer - Win32 Unicode Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "URelease" +# PROP BASE Intermediate_Dir "URelease" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "URelease" +# PROP Intermediate_Dir "URelease" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "UNICODE" /D "_ROS_" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GR /GX /O2 /D "NDEBUG" /D "UNICODE" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /Yu"precomp.h" /FD /c +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" /d "UNICODE" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib comctl32.lib shell32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /machine:I386 /libpath:"Release" /delayload:oleaut32.dll /delayload:wsock32.dll +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "explorer - Win32 Unicode Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "UDebug" +# PROP BASE Intermediate_Dir "UDebug" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "UDebug" +# PROP Intermediate_Dir "UDebug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "UNICODE" /D "_ROS_" /FR /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /D "_DEBUG" /D "UNICODE" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /FR /Yu"precomp.h" /FD /GZ /c +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" /d "UNICODE" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib comctl32.lib shell32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /libpath:"Debug" /delayload:oleaut32.dll /delayload:wsock32.dll +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "explorer - Win32" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Win32" +# PROP BASE Intermediate_Dir "Win32" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Win32" +# PROP Intermediate_Dir "Win32" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_ROS_" /D _WIN32_IE=0x0501 /D _WIN32_WINNT=0x0501 /FR /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /D "_DEBUG" /D "UNICODE" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /FR /Yu"precomp.h" /FD /GZ /c +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib comctl32.lib ole32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /debug /machine:I386 /out:"Win32/wexplorer.exe" /pdbtype:sept /delayload:oleaut32.dll +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "explorer - Win32 WineRelease" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "explorer___Win32_WineRelease" +# PROP BASE Intermediate_Dir "explorer___Win32_WineRelease" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "WineRelease" +# PROP Intermediate_Dir "WineRelease" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /D "_DEBUG" /D "UNICODE" /D "WIN32" /D "_ROS_" /D _WIN32_IE=0x0501 /D _WIN32_WINNT=0x0501 /FR /YX /FD /GZ /c +# ADD CPP /nologo /MT /W3 /GR /GX /O2 /D "NDEBUG" /D "UNICODE" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /Yu"precomp.h" /FD /c +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib ole32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept +# SUBTRACT BASE LINK32 /pdb:none +# ADD LINK32 gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /incremental:no /machine:I386 /out:"WineRelease/wexplorer.exe" /pdbtype:sept /delayload:oleaut32.dll /delayload:wsock32.dll /delayload:wsock32.dll +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "explorer - Win32 WineDll" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "explorer___Win32_WineDll" +# PROP BASE Intermediate_Dir "explorer___Win32_WineDll" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "WineDll" +# PROP Intermediate_Dir "WineDll" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GR /GX /O2 /D "NDEBUG" /D "UNICODE" /D "WIN32" /D "_ROS_" /D _WIN32_IE=0x0501 /D _WIN32_WINNT=0x0501 /FD /c +# ADD CPP /nologo /MD /W3 /GR /GX /O2 /D "NDEBUG" /D "UNICODE" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /Yu"precomp.h" /FD /c +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib ole32.lib /nologo /subsystem:windows /machine:I386 /pdbtype:sept +# SUBTRACT BASE LINK32 /pdb:none /debug +# ADD LINK32 gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /machine:I386 /out:"WineDll/wexplorer.exe" /pdbtype:sept /delayload:oleaut32.dll /delayload:wsock32.dll +# SUBTRACT LINK32 /pdb:none + +!ENDIF + +# Begin Target + +# Name "explorer - Win32 Release" +# Name "explorer - Win32 Debug" +# Name "explorer - Win32 Debug Release" +# Name "explorer - Win32 Unicode Release" +# Name "explorer - Win32 Unicode Debug" +# Name "explorer - Win32" +# Name "explorer - Win32 WineRelease" +# Name "explorer - Win32 WineDll" +# Begin Group "utility" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\utility\dragdropimpl.cpp +# End Source File +# Begin Source File + +SOURCE=.\utility\dragdropimpl.h +# End Source File +# Begin Source File + +SOURCE=.\utility\shellbrowserimpl.cpp +# End Source File +# Begin Source File + +SOURCE=.\utility\shellbrowserimpl.h +# End Source File +# Begin Source File + +SOURCE=.\utility\shellclasses.cpp +# End Source File +# Begin Source File + +SOURCE=.\utility\shellclasses.h +# End Source File +# Begin Source File + +SOURCE=.\utility\treedroptarget.h +# End Source File +# Begin Source File + +SOURCE=.\utility\utility.cpp +# End Source File +# Begin Source File + +SOURCE=.\utility\utility.h +# End Source File +# Begin Source File + +SOURCE=.\utility\window.cpp +# End Source File +# Begin Source File + +SOURCE=.\utility\window.h +# End Source File +# Begin Source File + +SOURCE=.\utility\xmlstorage.cpp +# End Source File +# Begin Source File + +SOURCE=.\utility\xmlstorage.h +# End Source File +# Begin Source File + +SOURCE=".\utility\xs-native.cpp" +# End Source File +# End Group +# Begin Group "resources" + +# PROP Default_Filter "bmp,ico" +# Begin Source File + +SOURCE=.\res\action.ico +# End Source File +# Begin Source File + +SOURCE=.\res\administration.ico +# End Source File +# Begin Source File + +SOURCE=.\res\appicon.ico +# End Source File +# Begin Source File + +SOURCE=.\res\apps.ico +# End Source File +# Begin Source File + +SOURCE=.\res\arrow.ico +# End Source File +# Begin Source File + +SOURCE=.\res\arrow_dwn.ico +# End Source File +# Begin Source File + +SOURCE=.\res\arrow_up.ico +# End Source File +# Begin Source File + +SOURCE=.\res\arrowsel.ico +# End Source File +# Begin Source File + +SOURCE=.\res\computer.ico +# End Source File +# Begin Source File + +SOURCE=.\res\config.ico +# End Source File +# Begin Source File + +SOURCE=".\res\control-panel.ico" +# End Source File +# Begin Source File + +SOURCE=".\res\desktop-settings.ico" +# End Source File +# Begin Source File + +SOURCE=.\res\documents.ico +# End Source File +# Begin Source File + +SOURCE=.\res\dot.ico +# End Source File +# Begin Source File + +SOURCE=.\res\dot_red.ico +# End Source File +# Begin Source File + +SOURCE=.\res\dot_trans.ico +# End Source File +# Begin Source File + +SOURCE=.\res\drivebar.bmp +# End Source File +# Begin Source File + +SOURCE=".\explorer-bg.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-bn.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-cn-msvc.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-cn.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-cz.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-de.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-en.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-es.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-fr.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-gr.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-hu.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-id.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-it.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-jp.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-ko.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-nl.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-no.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-pl.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-pt.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-ro.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-ru.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-sk.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-sv.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=".\explorer-uk.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=.\explorer.exe.manifest +# End Source File +# Begin Source File + +SOURCE=.\res\explorer.ico +# End Source File +# Begin Source File + +SOURCE=.\explorer.rc +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=.\explorer_intres.rc +# End Source File +# Begin Source File + +SOURCE=.\res\favorites.ico +# End Source File +# Begin Source File + +SOURCE=.\res\floating.ico +# End Source File +# Begin Source File + +SOURCE=.\res\folder.ico +# End Source File +# Begin Source File + +SOURCE=.\res\icoali10.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig0.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig1.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig2.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig3.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig4.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig5.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig6.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig7.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig8.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig9.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\images.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\info.ico +# End Source File +# Begin Source File + +SOURCE=.\res\logoff.ico +# End Source File +# Begin Source File + +SOURCE=.\res\logov.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\logov16.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\logov256.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\mdi.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\minimize.ico +# End Source File +# Begin Source File + +SOURCE=".\res\network-conns.ico" +# End Source File +# Begin Source File + +SOURCE=.\res\network.ico +# End Source File +# Begin Source File + +SOURCE=.\res\notify_l.ico +# End Source File +# Begin Source File + +SOURCE=.\res\notify_r.ico +# End Source File +# Begin Source File + +SOURCE=.\res\printer.ico +# End Source File +# Begin Source File + +SOURCE=.\res\reactos.ico +# End Source File +# Begin Source File + +SOURCE=".\res\recent-documents.ico" +# End Source File +# Begin Source File + +SOURCE=.\resource.h +# End Source File +# Begin Source File + +SOURCE=.\res\restart.ico +# End Source File +# Begin Source File + +SOURCE=".\res\ros-big.ico" +# End Source File +# Begin Source File + +SOURCE=.\res\sdi.bmp +# End Source File +# Begin Source File + +SOURCE=".\res\search-doc.ico" +# End Source File +# Begin Source File + +SOURCE=.\res\search.ico +# End Source File +# Begin Source File + +SOURCE=.\res\shutdown.ico +# End Source File +# Begin Source File + +SOURCE=.\res\speaker.ico +# End Source File +# Begin Source File + +SOURCE=.\res\startmenu.ico +# End Source File +# Begin Source File + +SOURCE=.\res\toolbar.bmp +# End Source File +# End Group +# Begin Group "taskbar" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\taskbar\desktopbar.cpp +# End Source File +# Begin Source File + +SOURCE=.\taskbar\desktopbar.h +# End Source File +# Begin Source File + +SOURCE=.\taskbar\favorites.cpp +# End Source File +# Begin Source File + +SOURCE=.\taskbar\favorites.h +# End Source File +# Begin Source File + +SOURCE=.\notifyhook\notifyhook.h +# End Source File +# Begin Source File + +SOURCE=.\taskbar\quicklaunch.cpp +# End Source File +# Begin Source File + +SOURCE=.\taskbar\quicklaunch.h +# End Source File +# Begin Source File + +SOURCE=.\taskbar\startmenu.cpp +# End Source File +# Begin Source File + +SOURCE=.\taskbar\startmenu.h +# End Source File +# Begin Source File + +SOURCE=.\taskbar\taskbar.cpp +# End Source File +# Begin Source File + +SOURCE=.\taskbar\taskbar.h +# End Source File +# Begin Source File + +SOURCE=.\taskbar\traynotify.cpp +# End Source File +# Begin Source File + +SOURCE=.\taskbar\traynotify.h +# End Source File +# End Group +# Begin Group "desktop" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\desktop\desktop.cpp +# End Source File +# Begin Source File + +SOURCE=.\desktop\desktop.h +# End Source File +# End Group +# Begin Group "doc" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\doc\changes.txt +# End Source File +# Begin Source File + +SOURCE=.\doc\readme.txt +# End Source File +# Begin Source File + +SOURCE=.\doc\TODO.txt +# End Source File +# End Group +# Begin Group "shell" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\shell\entries.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\entries.h +# End Source File +# Begin Source File + +SOURCE=.\shell\fatfs.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\fatfs.h +# End Source File +# Begin Source File + +SOURCE=.\shell\filechild.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\filechild.h +# End Source File +# Begin Source File + +SOURCE=.\shell\mainframe.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\mainframe.h +# End Source File +# Begin Source File + +SOURCE=.\shell\ntobjfs.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\ntobjfs.h +# End Source File +# Begin Source File + +SOURCE=.\shell\pane.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\pane.h +# End Source File +# Begin Source File + +SOURCE=.\shell\regfs.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\regfs.h +# End Source File +# Begin Source File + +SOURCE=.\shell\shellbrowser.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\shellbrowser.h +# End Source File +# Begin Source File + +SOURCE=.\shell\shellfs.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\shellfs.h +# End Source File +# Begin Source File + +SOURCE=.\shell\unixfs.cpp +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=.\shell\unixfs.h +# End Source File +# Begin Source File + +SOURCE=.\shell\webchild.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\webchild.h +# End Source File +# Begin Source File + +SOURCE=.\shell\winfs.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\winfs.h +# End Source File +# End Group +# Begin Group "dialogs" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\dialogs\searchprogram.cpp +# End Source File +# Begin Source File + +SOURCE=.\dialogs\searchprogram.h +# End Source File +# Begin Source File + +SOURCE=.\dialogs\settings.cpp +# End Source File +# Begin Source File + +SOURCE=.\dialogs\settings.h +# End Source File +# End Group +# Begin Group "main" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\explorer.cpp +# End Source File +# Begin Source File + +SOURCE=.\explorer.h +# End Source File +# Begin Source File + +SOURCE=.\externals.h +# End Source File +# Begin Source File + +SOURCE=.\globals.h +# End Source File +# Begin Source File + +SOURCE=".\i386-stub-win32.c" +# SUBTRACT CPP /YX /Yc /Yu +# End Source File +# Begin Source File + +SOURCE=.\precomp.cpp +# ADD CPP /Yc"precomp.h" +# End Source File +# Begin Source File + +SOURCE=.\precomp.h +# End Source File +# End Group +# Begin Group "services" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\services\shellservices.cpp +# End Source File +# Begin Source File + +SOURCE=.\services\shellservices.h +# End Source File +# Begin Source File + +SOURCE=.\services\startup.c +# SUBTRACT CPP /YX /Yc /Yu +# End Source File +# End Group +# End Target +# End Project diff --git a/base/shell/explorer-old/explorer.dsw b/base/shell/explorer-old/explorer.dsw new file mode 100644 index 00000000000..d212f1818ff --- /dev/null +++ b/base/shell/explorer-old/explorer.dsw @@ -0,0 +1,56 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "explorer"=.\explorer.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name notifyhook + End Project Dependency +}}} + +############################################################################### + +Project: "make_explorer"=.\make_explorer.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "notifyhook"=.\notifyhook\notifyhook.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/base/shell/explorer-new/explorer.exe.manifest b/base/shell/explorer-old/explorer.exe.manifest similarity index 90% rename from base/shell/explorer-new/explorer.exe.manifest rename to base/shell/explorer-old/explorer.exe.manifest index babfe905a5b..1035bef08b2 100644 --- a/base/shell/explorer-new/explorer.exe.manifest +++ b/base/shell/explorer-old/explorer.exe.manifest @@ -6,7 +6,7 @@ name="ReactOS.Explorer" type="win32" /> -This is ReactOS Explorer +ROS Explorer - \ No newline at end of file + diff --git a/base/shell/explorer-old/explorer.h b/base/shell/explorer-old/explorer.h new file mode 100644 index 00000000000..839eeaec64b --- /dev/null +++ b/base/shell/explorer-old/explorer.h @@ -0,0 +1,122 @@ +/* + * Copyright 2003, 2004 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // explorer.h + // + // Martin Fuchs, 23.07.2003 + // + + +#define _LIGHT_STARTMENU +#define _LAZY_ICONEXTRACT +#define _SINGLE_ICONEXTRACT +//#define _NO_WIN_FS + + +#include "utility/shellclasses.h" + +#include "shell/entries.h" + +#ifndef _NO_WIN_FS +#include "shell/winfs.h" +#endif + +#include "shell/shellfs.h" + +#ifndef ROSSHELL +#include "shell/unixfs.h" +#endif + +#include "utility/window.h" + + +#define IDW_STATUSBAR 0x100 +#define IDW_TOOLBAR 0x101 +#define IDW_EXTRABAR 0x102 +#define IDW_DRIVEBAR 0x103 +#define IDW_ADDRESSBAR 0x104 +#define IDW_SIDEBAR 0x106 +#define IDW_FIRST_CHILD 0xC000 /*0x200*/ + + +#define PM_GET_FILEWND_PTR (WM_APP+0x05) +#define PM_GET_SHELLBROWSER_PTR (WM_APP+0x06) + +#define PM_GET_CONTROLWINDOW (WM_APP+0x16) + +#define PM_RESIZE_CHILDREN (WM_APP+0x17) +#define PM_GET_WIDTH (WM_APP+0x18) + +#define PM_REFRESH (WM_APP+0x1B) +#define PM_REFRESH_CONFIG (WM_APP+0x1C) + + +#define CLASSNAME_FRAME TEXT("CabinetWClass") // same class name for frame window as in MS Explorer + +#define CLASSNAME_CHILDWND TEXT("WFS_Child") +#define CLASSNAME_WINEFILETREE TEXT("WFS_Tree") + + +#include "shell/pane.h" +#include "shell/filechild.h" +#include "shell/shellbrowser.h" + + +#ifndef ROSSHELL + + /// Explorer command line parser + // for commands like "/e,/root,c:\" + // or "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}" (launch of control panel) +struct ExplorerCmd +{ + ExplorerCmd() + : _flags(0), + _cmdShow(SW_SHOWNORMAL), + _mdi(false), + _valid_path(false) + { + } + + ExplorerCmd(LPCTSTR url, bool mdi) + : _path(url), + _flags(0), + _cmdShow(SW_SHOWNORMAL), + _mdi(mdi), + _valid_path(true) //@@ + { + } + + bool ParseCmdLine(LPCTSTR lpCmdLine); + bool EvaluateOption(LPCTSTR option); + bool IsValidPath() const; + + String _path; + WCHAR szPath[MAX_PATH]; + int _flags; // OPEN_WINDOW_MODE + int _cmdShow; + bool _mdi; + bool _valid_path; +}; + +#include "shell/mainframe.h" + +#endif diff --git a/base/shell/explorer-old/explorer.rc b/base/shell/explorer-old/explorer.rc new file mode 100644 index 00000000000..13882b18369 --- /dev/null +++ b/base/shell/explorer-old/explorer.rc @@ -0,0 +1,205 @@ +#include +#include +#include + +#include "resource.h" + +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL + +/* Bitmaps */ +IDB_DRIVEBAR BITMAP "res/drivebar.bmp" +IDB_LOGOV BITMAP "res/logov.bmp" +IDB_LOGOV256 BITMAP "res/logov256.bmp" +IDB_LOGOV16 BITMAP "res/logov16.bmp" +IDB_ICON_ALIGN_0 BITMAP "res/icoalig0.bmp" +IDB_ICON_ALIGN_1 BITMAP "res/icoalig1.bmp" +IDB_ICON_ALIGN_2 BITMAP "res/icoalig2.bmp" +IDB_ICON_ALIGN_3 BITMAP "res/icoalig3.bmp" +IDB_ICON_ALIGN_4 BITMAP "res/icoalig4.bmp" +IDB_ICON_ALIGN_5 BITMAP "res/icoalig5.bmp" +IDB_ICON_ALIGN_6 BITMAP "res/icoalig6.bmp" +IDB_ICON_ALIGN_7 BITMAP "res/icoalig7.bmp" +IDB_ICON_ALIGN_8 BITMAP "res/icoalig8.bmp" +IDB_ICON_ALIGN_9 BITMAP "res/icoalig9.bmp" +IDB_ICON_ALIGN_10 BITMAP "res/icoali10.bmp" +IDB_MDI BITMAP "res/mdi.bmp" +IDB_SDI BITMAP "res/sdi.bmp" + +/* Accelerators */ + +IDA_EXPLORER ACCELERATORS +BEGIN + "S", ID_VIEW_FULLSCREEN, VIRTKEY, SHIFT, CONTROL, NOINVERT + VK_F5, ID_REFRESH, VIRTKEY, NOINVERT + "X", ID_FILE_EXIT, VIRTKEY, ALT, NOINVERT +END + +IDA_SEARCH_PROGRAM ACCELERATORS +BEGIN + VK_F5, ID_REFRESH, VIRTKEY, NOINVERT +END + +IDA_TRAYNOTIFY ACCELERATORS +BEGIN + VK_F5, ID_REFRESH, VIRTKEY, NOINVERT +END + +/* Icons */ + +/* Icon with lowest ID value placed first to ensure application icon + * remains consistent on all systems. */ +IDI_COMPUTER ICON "res/computer.ico" +IDI_EXPLORER ICON "res/explorer.ico" +IDI_STARTMENU ICON "res/startmenu.ico" +IDI_LOGOFF ICON "res/logoff.ico" +IDI_SHUTDOWN ICON "res/shutdown.ico" +IDI_RESTART ICON "res/restart.ico" +IDI_ARROW ICON "res/arrow.ico" +IDI_ARROW_SELECTED ICON "res/arrowsel.ico" +IDI_APPICON ICON "res/appicon.ico" +IDI_FLOATING ICON "res/floating.ico" +IDI_REACTOS_BIG ICON "res/ros-big.ico" +IDI_CONFIG ICON "res/config.ico" +IDI_DOCUMENTS ICON "res/documents.ico" +IDI_FAVORITES ICON "res/favorites.ico" +IDI_INFO ICON "res/info.ico" +IDI_APPS ICON "res/apps.ico" +IDI_SEARCH ICON "res/search.ico" +IDI_ACTION ICON "res/action.ico" +IDI_FOLDER ICON "res/folder.ico" +IDI_SEARCH_DOC ICON "res/search-doc.ico" +IDI_PRINTER ICON "res/printer.ico" +IDI_NETWORK ICON "res/network.ico" +IDI_REACTOS ICON "res/reactos.ico" +IDI_SPEAKER ICON "res/speaker.ico" +IDI_DOT ICON "res/dot.ico" +IDI_DOT_TRANS ICON "res/dot_trans.ico" +IDI_DOT_RED ICON "res/dot_red.ico" +IDI_ARROW_UP ICON "res/arrow_up.ico" +IDI_ARROW_DOWN ICON "res/arrow_dwn.ico" +IDI_NOTIFY_L ICON "res/notify_l.ico" +IDI_NOTIFY_R ICON "res/notify_r.ico" +IDI_MINIMIZE ICON "res/minimize.ico" +IDI_CONTROLPAN ICON "res/control-panel.ico" +IDI_DESKSETTING ICON "res/desktop-settings.ico" +IDI_NETCONNS ICON "res/network-conns.ico" +IDI_ADMIN ICON "res/administration.ico" +IDI_RECENT ICON "res/recent-documents.ico" + +#ifndef ROSSHELL +IDB_IMAGES BITMAP "res/images.bmp" +IDB_TOOLBAR BITMAP "res/toolbar.bmp" +#endif + +#ifndef __REACTOS__ +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + IDS_VERSION_STR "" +#ifdef UNICODE + IDS_EXPLORER_VERSION_STR "ROS Explorer%0s" +#else + IDS_EXPLORER_VERSION_STR "ROS Explorer Ansi%0s" +#endif +END +#endif + +#ifndef _DEBUG +CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "explorer.exe.manifest" +#endif + +#ifdef LANGUAGE_BG_BG + #include "explorer-bg.rc" +#endif +#ifdef LANGUAGE_DE_DE + #include "explorer-de.rc" +#endif +#ifdef LANGUAGE_EL_GR + #include "explorer-el.rc" +#endif +#ifdef LANGUAGE_EN_US + #include "explorer-en.rc" +#endif +#ifdef LANGUAGE_ES_ES + #include "explorer-es.rc" +#endif +#ifdef LANGUAGE_FR_FR + #include "explorer-fr.rc" +#endif +#ifdef LANGUAGE_HU_HU + #include "explorer-hu.rc" +#endif +#ifdef LANGUAGE_ID_ID + #include "explorer-id.rc" +#endif +#ifdef LANGUAGE_IT_IT + #include "explorer-it.rc" +#endif +#ifdef LANGUAGE_JA_JP + #include "explorer-ja.rc" +#endif +#ifdef LANGUAGE_KO_KR + #include "explorer-ko.rc" +#endif +#ifdef LANGUAGE_NL_NL + #include "explorer-nl.rc" +#endif +#ifdef LANGUAGE_NO_NO + #include "explorer-no.rc" +#endif +#ifdef LANGUAGE_PT_PT + #include "explorer-pt.rc" +#endif +#ifdef LANGUAGE_SK_SK + #include "explorer-sk.rc" +#endif +#ifdef LANGUAGE_SV_SE + #include "explorer-sv.rc" +#endif + +/* UTF-8 */ +#pragma code_page(65001) + +#ifdef LANGUAGE_CS_CZ + #include "explorer-cz.rc" +#endif +#ifdef LANGUAGE_HE_IL + #include "explorer-he.rc" +#endif +#ifdef LANGUAGE_PL_PL + #include "explorer-pl.rc" +#endif +#ifdef LANGUAGE_RO_RO + #include "explorer-ro.rc" +#endif +#ifdef LANGUAGE_RU_RU + #include "explorer-ru.rc" +#endif +#ifdef LANGUAGE_SQ_AL + #include "explorer-sq.rc" +#endif +#ifdef LANGUAGE_UK_UA + #include "explorer-uk.rc" +#endif +#ifdef LANGUAGE_ZH_CN + #include "explorer-zh.rc" +#endif + +#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Explorer" +#define REACTOS_STR_INTERNAL_NAME "explorer" +#define REACTOS_STR_ORIGINAL_FILENAME "explorer.exe" +#include + +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#define IDS_VERSION_STR 5000 +#define IDS_EXPLORER_VERSION_STR 5001 + +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + IDS_VERSION_STR REACTOS_STR_PRODUCT_VERSION + IDS_EXPLORER_VERSION_STR "ReactOS %s Explorer" +END diff --git a/base/shell/explorer-old/explorer.sln b/base/shell/explorer-old/explorer.sln new file mode 100644 index 00000000000..0e61fea081b --- /dev/null +++ b/base/shell/explorer-old/explorer.sln @@ -0,0 +1,79 @@ + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "explorer", "explorer.vcproj", "{BFBAE588-8C68-4303-9BF6-C830087D8F25}" + ProjectSection(ProjectDependencies) = postProject + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162} = {F28B575D-7DBA-44DE-AAEF-FA0D065E5162} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "make_explorer", "make_explorer.vcproj", "{E132A04B-8BC6-4D18-81F2-F0156B809871}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "notifyhook", "notifyhook\notifyhook.vcproj", "{F28B575D-7DBA-44DE-AAEF-FA0D065E5162}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + bjam|Win32 = bjam|Win32 + Debug Release|Win32 = Debug Release|Win32 + Debug|Win32 = Debug|Win32 + doxy docu|Win32 = doxy docu|Win32 + Release|Win32 = Release|Win32 + Unicode Debug|Win32 = Unicode Debug|Win32 + Unicode Release|Win32 = Unicode Release|Win32 + WineDll|Win32 = WineDll|Win32 + WineRelease|Win32 = WineRelease|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.bjam|Win32.ActiveCfg = WineDll|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.bjam|Win32.Build.0 = WineDll|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.Debug Release|Win32.ActiveCfg = Debug|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.Debug Release|Win32.Build.0 = Debug|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.Debug|Win32.ActiveCfg = Debug|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.Debug|Win32.Build.0 = Debug|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.doxy docu|Win32.ActiveCfg = Debug|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.doxy docu|Win32.Build.0 = Debug|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.Release|Win32.ActiveCfg = Release|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.Release|Win32.Build.0 = Release|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.Unicode Release|Win32.Build.0 = Unicode Release|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.WineDll|Win32.ActiveCfg = WineDll|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.WineDll|Win32.Build.0 = WineDll|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.WineRelease|Win32.ActiveCfg = WineRelease|Win32 + {BFBAE588-8C68-4303-9BF6-C830087D8F25}.WineRelease|Win32.Build.0 = WineRelease|Win32 + {E132A04B-8BC6-4D18-81F2-F0156B809871}.bjam|Win32.ActiveCfg = bjam|Win32 + {E132A04B-8BC6-4D18-81F2-F0156B809871}.bjam|Win32.Build.0 = bjam|Win32 + {E132A04B-8BC6-4D18-81F2-F0156B809871}.Debug Release|Win32.ActiveCfg = Debug|Win32 + {E132A04B-8BC6-4D18-81F2-F0156B809871}.Debug|Win32.ActiveCfg = Debug|Win32 + {E132A04B-8BC6-4D18-81F2-F0156B809871}.doxy docu|Win32.ActiveCfg = doxy docu|Win32 + {E132A04B-8BC6-4D18-81F2-F0156B809871}.doxy docu|Win32.Build.0 = doxy docu|Win32 + {E132A04B-8BC6-4D18-81F2-F0156B809871}.Release|Win32.ActiveCfg = Release|Win32 + {E132A04B-8BC6-4D18-81F2-F0156B809871}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32 + {E132A04B-8BC6-4D18-81F2-F0156B809871}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32 + {E132A04B-8BC6-4D18-81F2-F0156B809871}.WineDll|Win32.ActiveCfg = Debug|Win32 + {E132A04B-8BC6-4D18-81F2-F0156B809871}.WineDll|Win32.Build.0 = Debug|Win32 + {E132A04B-8BC6-4D18-81F2-F0156B809871}.WineRelease|Win32.ActiveCfg = Release|Win32 + {E132A04B-8BC6-4D18-81F2-F0156B809871}.WineRelease|Win32.Build.0 = Release|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.bjam|Win32.ActiveCfg = Debug|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.bjam|Win32.Build.0 = Debug|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.Debug Release|Win32.ActiveCfg = Debug|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.Debug Release|Win32.Build.0 = Debug|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.Debug|Win32.ActiveCfg = Debug|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.Debug|Win32.Build.0 = Debug|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.doxy docu|Win32.ActiveCfg = Debug|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.doxy docu|Win32.Build.0 = Debug|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.Release|Win32.ActiveCfg = Release|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.Release|Win32.Build.0 = Release|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.Unicode Debug|Win32.ActiveCfg = Debug|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.Unicode Debug|Win32.Build.0 = Debug|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.Unicode Release|Win32.ActiveCfg = Release|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.Unicode Release|Win32.Build.0 = Release|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.WineDll|Win32.ActiveCfg = Debug|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.WineDll|Win32.Build.0 = Debug|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.WineRelease|Win32.ActiveCfg = Release|Win32 + {F28B575D-7DBA-44DE-AAEF-FA0D065E5162}.WineRelease|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/base/shell/explorer-old/explorer.vcproj b/base/shell/explorer-old/explorer.vcproj new file mode 100644 index 00000000000..2aac9397c3d --- /dev/null +++ b/base/shell/explorer-old/explorer.vcproj @@ -0,0 +1,3790 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/base/shell/explorer-old/externals.h b/base/shell/explorer-old/externals.h new file mode 100644 index 00000000000..5e9d5fa0794 --- /dev/null +++ b/base/shell/explorer-old/externals.h @@ -0,0 +1,52 @@ +/* + * Copyright 2003, 2004 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // externals.h + // + // Martin Fuchs, 07.06.2003 + // + + +#ifdef __cplusplus +extern "C" { +#endif + + + // explorer main routine +extern int explorer_main(HINSTANCE hinstance, LPTSTR lpCmdLine, int cmdshow); + + // display explorer/file manager window +extern void explorer_show_frame(int cmdshow, LPTSTR lpCmdLine=NULL); + + // display explorer "About" dialog +extern void explorer_about(HWND hwndParent); + + // test for already running desktop instance +extern BOOL IsAnyDesktopRunning(void); + + // show shutdown dialog +extern void ShowExitWindowsDialog(HWND hwndOwner); + +#ifdef __cplusplus +} // extern "C" +#endif + diff --git a/base/shell/explorer-old/globals.h b/base/shell/explorer-old/globals.h new file mode 100644 index 00000000000..dd69058eef3 --- /dev/null +++ b/base/shell/explorer-old/globals.h @@ -0,0 +1,354 @@ +/* + * Copyright 2003, 2004 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // globals.h + // + // Martin Fuchs, 23.07.2003 + // + + +#include "utility/xmlstorage.h" + +using namespace XMLStorage; + +#include "taskbar/favorites.h" + + + /// management of file types +struct FileTypeInfo { + String _classname; + String _displayname; + bool _neverShowExt; +}; + +struct FileTypeManager : public map +{ + typedef map super; + + const FileTypeInfo& operator[](String ext); + + static bool is_exe_file(LPCTSTR ext); + + LPCTSTR set_type(struct Entry* entry, bool dont_hide_ext=false); +}; + + +enum ICON_TYPE { + IT_STATIC, + IT_CACHED, + IT_DYNAMIC, + IT_SYSCACHE +}; + +enum ICON_ID { + ICID_UNKNOWN, + ICID_NONE, + + ICID_FOLDER, + //ICID_DOCUMENT, + ICID_APP, + ICID_EXPLORER, + + ICID_CONFIG, + ICID_DOCUMENTS, + ICID_FAVORITES, + ICID_INFO, + ICID_APPS, + ICID_SEARCH, + ICID_ACTION, + ICID_SEARCH_DOC, + ICID_PRINTER, + ICID_NETWORK, + ICID_COMPUTER, + ICID_LOGOFF, + ICID_SHUTDOWN, + ICID_RESTART, + ICID_BOOKMARK, + ICID_MINIMIZE, + ICID_CONTROLPAN, + ICID_DESKSETTING, + ICID_NETCONNS, + ICID_ADMIN, + ICID_RECENT, + + ICID_DYNAMIC +}; + +struct Icon { + Icon(); + Icon(ICON_ID id, UINT nid); + Icon(ICON_ID id, UINT nid, int icon_size); + Icon(ICON_TYPE itype, int id, HICON hIcon); + Icon(ICON_TYPE itype, int id, int sys_idx); + + operator ICON_ID() const {return _id;} + + void draw(HDC hdc, int x, int y, int cx, int cy, COLORREF bk_color, HBRUSH bk_brush) const; + HBITMAP create_bitmap(COLORREF bk_color, HBRUSH hbrBkgnd, HDC hdc_wnd) const; + int add_to_imagelist(HIMAGELIST himl, HDC hdc_wnd, COLORREF bk_color=GetSysColor(COLOR_WINDOW), HBRUSH bk_brush=GetSysColorBrush(COLOR_WINDOW)) const; + + int get_sysiml_idx() const {return _itype==IT_SYSCACHE? _sys_idx: -1;} + HICON get_hicon() const {return _itype!=IT_SYSCACHE? _hicon: 0;} + ICON_TYPE get_icontype() const { return _itype; } + + bool destroy() {if (_itype == IT_DYNAMIC) {DestroyIcon(_hicon); return true;} else return false;} + +protected: + ICON_ID _id; + ICON_TYPE _itype; + HICON _hicon; + int _sys_idx; +}; + +struct SysCacheIcon : public Icon { + SysCacheIcon(int id, int sys_idx) + : Icon(IT_SYSCACHE, id, sys_idx) {} +}; + +struct IconCache { + IconCache() : _himlSys_small(0) {} + + virtual ~IconCache(); + void init(); + + const Icon& extract(LPCTSTR path, ICONCACHE_FLAGS flags=ICF_NORMAL); + const Icon& extract(LPCTSTR path, int icon_idx, ICONCACHE_FLAGS flags=ICF_HICON); + const Icon& extract(IExtractIcon* pExtract, LPCTSTR path, int icon_idx, ICONCACHE_FLAGS flags=ICF_HICON); + const Icon& extract(LPCITEMIDLIST pidl, ICONCACHE_FLAGS flags=ICF_NORMAL); + + const Icon& add(HICON hIcon, ICON_TYPE type=IT_DYNAMIC); + const Icon& add(int sys_idx/*, ICON_TYPE type=IT_SYSCACHE*/); + + const Icon& get_icon(int icon_id); + + HIMAGELIST get_sys_imagelist() const {return _himlSys_small;} + + void free_icon(int icon_id); + +protected: + static int s_next_id; + + typedef map IconMap; + IconMap _icons; + + typedef pair CacheKey; + typedef map PathCacheMap; + PathCacheMap _pathCache; + + typedef pair > IdxCacheKey; + typedef map IdxCacheMap; + IdxCacheMap _idxCache; + + typedef pair PidlCacheKey; + typedef map PidlCacheMap; + PidlCacheMap _pidlcache; + + HIMAGELIST _himlSys_small; +}; + + +#define ICON_SIZE_SMALL 16 // GetSystemMetrics(SM_CXSMICON) +#define ICON_SIZE_MIDDLE 24 // special size for start menu root icons +#define ICON_SIZE_LARGE 32 // GetSystemMetrics(SM_CXICON) + +#define STARTMENUROOT_ICON_SIZE ICON_SIZE_MIDDLE // ICON_SIZE_LARGE + +#define ICON_SIZE_FROM_ICF(flags) (flags&ICF_LARGE? ICON_SIZE_LARGE: flags&ICF_MIDDLE? ICON_SIZE_MIDDLE: ICON_SIZE_SMALL) +#define ICF_FROM_ICON_SIZE(size) (size>=ICON_SIZE_LARGE? ICF_LARGE: size>=ICON_SIZE_MIDDLE? ICF_MIDDLE: (ICONCACHE_FLAGS)0) + + + /// create a bitmap from an icon +extern HBITMAP create_bitmap_from_icon(HICON hIcon, HBRUSH hbrush_bkgnd, HDC hdc_wnd/*, int icon_size*/); + + /// add icon with alpha channel to imagelist using the specified background color +extern int ImageList_AddAlphaIcon(HIMAGELIST himl, HICON hIcon, HBRUSH hbrush_bkgnd, HDC hdc_wnd); + + /// retrieve icon from window +extern HICON get_window_icon_small(HWND hwnd); +extern HICON get_window_icon_big(HWND hwnd, bool allow_from_class=true); + + + /// desktop management +#ifdef _USE_HDESK + +typedef auto_ptr DesktopThreadPtr; + +struct Desktop +{ + HDESK _hdesktop; +// HWINSTA _hwinsta; + DesktopThreadPtr _pThread; + WindowHandle _hwndDesktop; + + Desktop(HDESK hdesktop=0/*, HWINSTA hwinsta=0*/); + ~Desktop(); +}; + +typedef auto_ptr DesktopPtr; +typedef DesktopPtr DesktopRef; + + /// Thread class for additional desktops +struct DesktopThread : public Thread +{ + DesktopThread(Desktop& desktop) + : _desktop(desktop) + { + } + + int Run(); + +protected: + Desktop& _desktop; +}; + +#else + +typedef pair MinimizeStruct; + +struct Desktop +{ + set _windows; + WindowHandle _hwndForeground; + list _minimized; +}; +typedef Desktop DesktopRef; + +#endif + + +#define DESKTOP_COUNT 4 + +struct Desktops : public vector +{ + Desktops(); + ~Desktops(); + + void init(); + void SwitchToDesktop(int idx); + void ToggleMinimize(); + +#ifdef _USE_HDESK + DesktopRef& get_current_Desktop() {return (*this)[_current_desktop];} +#endif + + int _current_desktop; +}; + + + /// structure containing global variables of Explorer +extern struct ExplorerGlobals +{ + ExplorerGlobals(); + + void init(HINSTANCE hInstance); + + void read_persistent(); + void write_persistent(); + + XMLPos get_cfg(); + XMLPos get_cfg(const char* path); + + HINSTANCE _hInstance; + UINT _cfStrFName; + +#ifndef ROSSHELL + ATOM _hframeClass; + HWND _hMainWnd; + bool _desktop_mode; + bool _prescan_nodes; +#endif + + FILE* _log; + + DWORD(STDAPICALLTYPE* _SHRestricted)(RESTRICTIONS); + + FileTypeManager _ftype_mgr; + IconCache _icon_cache; + + HWND _hwndDesktopBar; + HWND _hwndShellView; + HWND _hwndDesktop; + + Desktops _desktops; + + XMLDoc _cfg; + String _cfg_dir; + String _cfg_path; + + Favorites _favorites; + String _favorites_path; +} g_Globals; + + + /// convenient loading of string resources +struct ResString : public String +{ + ResString(UINT nid); +}; + + /// convenient loading of standard (32x32) icon resources +struct ResIcon +{ + ResIcon(UINT nid); + + operator HICON() const {return _hicon;} + +protected: + HICON _hicon; +}; + + /// convenient loading of small (16x16) icon resources +struct SmallIcon +{ + SmallIcon(UINT nid); + + operator HICON() const {return _hicon;} + +protected: + HICON _hicon; +}; + + /// convenient loading of icon resources with specified sizes +struct ResIconEx +{ + ResIconEx(UINT nid, int w, int h); + + operator HICON() const {return _hicon;} + +protected: + HICON _hicon; +}; + + /// set big and small icons out of the resources for a window +extern void SetWindowIcon(HWND hwnd, UINT nid); + + /// convenient loading of bitmap resources +struct ResBitmap +{ + ResBitmap(UINT nid); + ~ResBitmap() {DeleteObject(_hBmp);} + + operator HBITMAP() const {return _hBmp;} + +protected: + HBITMAP _hBmp; +}; diff --git a/base/shell/explorer-old/i386-stub-win32.c b/base/shell/explorer-old/i386-stub-win32.c new file mode 100644 index 00000000000..c100c521c9a --- /dev/null +++ b/base/shell/explorer-old/i386-stub-win32.c @@ -0,0 +1,1275 @@ +/**************************************************************************** + + THIS SOFTWARE IS NOT COPYRIGHTED + + HP offers the following for use in the public domain. HP makes no + warranty with regard to the software or it's performance and the + user accepts the software "AS IS" with all faults. + + HP DISCLAIMS ANY WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD + TO THIS SOFTWARE INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +****************************************************************************/ + +/**************************************************************************** + * Header: remcom.c,v 1.34 91/03/09 12:29:49 glenne Exp $ + * + * Module name: remcom.c $ + * Revision: 1.34 $ + * Date: 91/03/09 12:29:49 $ + * Contributor: Lake Stevens Instrument Division$ + * + * Description: low level support for gdb debugger. $ + * + * Considerations: only works on target hardware $ + * + * Written by: Glenn Engel $ + * ModuleState: Experimental $ + * + * NOTES: See Below $ + * + * Modified for 386 by Jim Kingdon, Cygnus Support. + * + * To enable debugger support, two things need to happen. One, a + * call to set_debug_traps() is necessary in order to allow any breakpoints + * or error conditions to be properly intercepted and reported to gdb. + * Two, a breakpoint needs to be generated to begin communication. This + * is most easily accomplished by a call to breakpoint(). Breakpoint() + * simulates a breakpoint by executing a trap #1. + * + * The external function exceptionHandler() is + * used to attach a specific handler to a specific 386 vector number. + * It should use the same privilege level it runs at. It should + * install it as an interrupt gate so that interrupts are masked + * while the handler runs. + * + * Because gdb will sometimes write to the stack area to execute function + * calls, this program cannot rely on using the supervisor stack so it + * uses it's own stack area reserved in the int array remcomStack. + * + ************* + * + * The following gdb commands are supported: + * + * command function Return value + * + * g return the value of the CPU registers hex data or ENN + * G set the value of the CPU registers OK or ENN + * + * mAA..AA,LLLL Read LLLL bytes at address AA..AA hex data or ENN + * MAA..AA,LLLL: Write LLLL bytes at address AA.AA OK or ENN + * + * c Resume at current address SNN ( signal NN) + * cAA..AA Continue at address AA..AA SNN + * + * s Step one instruction SNN + * sAA..AA Step one instruction from AA..AA SNN + * + * k kill + * + * ? What was the last sigval ? SNN (signal NN) + * + * All commands and responses are sent with a packet which includes a + * checksum. A packet consists of + * + * $#. + * + * where + * :: + * :: < two hex digits computed as modulo 256 sum of > + * + * When a packet is received, it is first acknowledged with either '+' or '-'. + * '+' indicates a successful transfer. '-' indicates a failed transfer. + * + * Example: + * + * Host: Reply: + * $m0,10#2a +$00010203040506070809101112131415#42 + * + ****************************************************************************/ + +#include +#include + +#include "utility/utility.h" // for strcpy_s() + +/************************************************************************ + * + * external low-level support routines + */ + +extern void putDebugChar(); /* write a single character */ +extern int getDebugChar(); /* read and return a single char */ +extern void exceptionHandler(); /* assign an exception handler */ + +/************************************************************************/ +/* BUFMAX defines the maximum number of characters in inbound/outbound buffers*/ +/* at least NUMREGBYTES*2 are needed for register packets */ +#define BUFMAX 400 + +static char initialized; /* boolean flag. != 0 means we've been initialized */ + +int remote_debug; +/* debug > 0 prints ill-formed commands in valid packets & checksum errors */ + +static const char hexchars[]="0123456789abcdef"; + +/* Number of registers. */ +#define NUMREGS 16 + +/* Number of bytes of registers. */ +#define NUMREGBYTES (NUMREGS * 4) + +enum regnames {EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI, + PC /* also known as eip */, + PS /* also known as eflags */, + CS, SS, DS, ES, FS, GS}; + +/* + * these should not be static cuz they can be used outside this module + */ +int registers[NUMREGS]; + +#ifndef WIN32 //MF + +#define STACKSIZE 10000 +int remcomStack[STACKSIZE/sizeof(int)]; +static int* stackPtr = &remcomStack[STACKSIZE/sizeof(int) - 1]; + +/*************************** ASSEMBLY CODE MACROS *************************/ +/* */ + +extern void +return_to_prog (); + +/* Restore the program's registers (including the stack pointer, which + means we get the right stack and don't have to worry about popping our + return address and any stack frames and so on) and return. */ +asm(".text"); +asm(".globl _return_to_prog"); +asm("_return_to_prog:"); +asm(" movw _registers+44, %ss"); +asm(" movl _registers+16, %esp"); +asm(" movl _registers+4, %ecx"); +asm(" movl _registers+8, %edx"); +asm(" movl _registers+12, %ebx"); +asm(" movl _registers+20, %ebp"); +asm(" movl _registers+24, %esi"); +asm(" movl _registers+28, %edi"); +asm(" movw _registers+48, %ds"); +asm(" movw _registers+52, %es"); +asm(" movw _registers+56, %fs"); +asm(" movw _registers+60, %gs"); +asm(" movl _registers+36, %eax"); +asm(" pushl %eax"); /* saved eflags */ +asm(" movl _registers+40, %eax"); +asm(" pushl %eax"); /* saved cs */ +asm(" movl _registers+32, %eax"); +asm(" pushl %eax"); /* saved eip */ +asm(" movl _registers, %eax"); + +asm("ret"); //MF + +/* use iret to restore pc and flags together so + that trace flag works right. */ +asm(" iret"); + + +#ifdef WIN32 //MF +asm(".data"); //MF +#endif + +/* Put the error code here just in case the user cares. */ +int gdb_i386errcode; +/* Likewise, the vector number here (since GDB only gets the signal + number through the usual means, and that's not very specific). */ +int gdb_i386vector = -1; + +/* GDB stores segment registers in 32-bit words (that's just the way + m-i386v.h is written). So zero the appropriate areas in registers. */ +#define SAVE_REGISTERS1() \ + asm ("movl %eax, _registers"); \ + asm ("movl %ecx, _registers+4"); \ + asm ("movl %edx, _registers+8"); \ + asm ("movl %ebx, _registers+12"); \ + asm ("movl %ebp, _registers+20"); \ + asm ("movl %esi, _registers+24"); \ + asm ("movl %edi, _registers+28"); \ + asm ("movw $0, %ax"); \ + asm ("movw %ds, _registers+48"); \ + asm ("movw %ax, _registers+50"); \ + asm ("movw %es, _registers+52"); \ + asm ("movw %ax, _registers+54"); \ + asm ("movw %fs, _registers+56"); \ + asm ("movw %ax, _registers+58"); \ + asm ("movw %gs, _registers+60"); \ + asm ("movw %ax, _registers+62"); +#define SAVE_ERRCODE() \ + asm ("popl %ebx"); \ + asm ("movl %ebx, _gdb_i386errcode"); +#define SAVE_REGISTERS2() \ + asm ("popl %ebx"); /* old eip */ \ + asm ("movl %ebx, _registers+32"); \ + asm ("popl %ebx"); /* old cs */ \ + asm ("movl %ebx, _registers+40"); \ + asm ("movw %ax, _registers+42"); \ + asm ("popl %ebx"); /* old eflags */ \ + asm ("movl %ebx, _registers+36"); \ + /* Now that we've done the pops, we can save the stack pointer."); */ \ + asm ("movw %ss, _registers+44"); \ + asm ("movw %ax, _registers+46"); \ + asm ("movl %esp, _registers+16"); + +/* See if mem_fault_routine is set, if so just IRET to that address. */ +#define CHECK_FAULT() \ + asm ("cmpl $0, _mem_fault_routine"); \ + asm ("jne mem_fault"); + +asm (".text"); +asm ("mem_fault:"); +/* OK to clobber temp registers; we're just going to end up in set_mem_err. */ +/* Pop error code from the stack and save it. */ +asm (" popl %eax"); +asm (" movl %eax, _gdb_i386errcode"); + +asm (" popl %eax"); /* eip */ +/* We don't want to return there, we want to return to the function + pointed to by mem_fault_routine instead. */ +asm (" movl _mem_fault_routine, %eax"); +asm (" popl %ecx"); /* cs (low 16 bits; junk in hi 16 bits). */ +asm (" popl %edx"); /* eflags */ + +/* Remove this stack frame; when we do the iret, we will be going to + the start of a function, so we want the stack to look just like it + would after a "call" instruction. */ +asm (" leave"); + +/* Push the stuff that iret wants. */ +asm (" pushl %edx"); /* eflags */ +asm (" pushl %ecx"); /* cs */ +asm (" pushl %eax"); /* eip */ + +/* Zero mem_fault_routine. */ +asm (" movl $0, %eax"); +asm (" movl %eax, _mem_fault_routine"); + +asm ("iret"); + + +#define CALL_HOOK() asm("call _remcomHandler"); + +/* This function is called when a i386 exception occurs. It saves + * all the cpu regs in the _registers array, munges the stack a bit, + * and invokes an exception handler (remcom_handler). + * + * stack on entry: stack on exit: + * old eflags vector number + * old cs (zero-filled to 32 bits) + * old eip + * + */ +extern void _catchException3(); +asm(".text"); +asm(".globl __catchException3"); +asm("__catchException3:"); +SAVE_REGISTERS1(); +SAVE_REGISTERS2(); +asm ("pushl $3"); +CALL_HOOK(); + +/* Same thing for exception 1. */ +extern void _catchException1(); +asm(".text"); +asm(".globl __catchException1"); +asm("__catchException1:"); +SAVE_REGISTERS1(); +SAVE_REGISTERS2(); +asm ("pushl $1"); +CALL_HOOK(); + +/* Same thing for exception 0. */ +extern void _catchException0(); +asm(".text"); +asm(".globl __catchException0"); +asm("__catchException0:"); +SAVE_REGISTERS1(); +SAVE_REGISTERS2(); +asm ("pushl $0"); +CALL_HOOK(); + +/* Same thing for exception 4. */ +extern void _catchException4(); +asm(".text"); +asm(".globl __catchException4"); +asm("__catchException4:"); +SAVE_REGISTERS1(); +SAVE_REGISTERS2(); +asm ("pushl $4"); +CALL_HOOK(); + +/* Same thing for exception 5. */ +extern void _catchException5(); +asm(".text"); +asm(".globl __catchException5"); +asm("__catchException5:"); +SAVE_REGISTERS1(); +SAVE_REGISTERS2(); +asm ("pushl $5"); +CALL_HOOK(); + +/* Same thing for exception 6. */ +extern void _catchException6(); +asm(".text"); +asm(".globl __catchException6"); +asm("__catchException6:"); +SAVE_REGISTERS1(); +SAVE_REGISTERS2(); +asm ("pushl $6"); +CALL_HOOK(); + +/* Same thing for exception 7. */ +extern void _catchException7(); +asm(".text"); +asm(".globl __catchException7"); +asm("__catchException7:"); +SAVE_REGISTERS1(); +SAVE_REGISTERS2(); +asm ("pushl $7"); +CALL_HOOK(); + +/* Same thing for exception 8. */ +extern void _catchException8(); +asm(".text"); +asm(".globl __catchException8"); +asm("__catchException8:"); +SAVE_REGISTERS1(); +SAVE_ERRCODE(); +SAVE_REGISTERS2(); +asm ("pushl $8"); +CALL_HOOK(); + +/* Same thing for exception 9. */ +extern void _catchException9(); +asm(".text"); +asm(".globl __catchException9"); +asm("__catchException9:"); +SAVE_REGISTERS1(); +SAVE_REGISTERS2(); +asm ("pushl $9"); +CALL_HOOK(); + +/* Same thing for exception 10. */ +extern void _catchException10(); +asm(".text"); +asm(".globl __catchException10"); +asm("__catchException10:"); +SAVE_REGISTERS1(); +SAVE_ERRCODE(); +SAVE_REGISTERS2(); +asm ("pushl $10"); +CALL_HOOK(); + +/* Same thing for exception 12. */ +extern void _catchException12(); +asm(".text"); +asm(".globl __catchException12"); +asm("__catchException12:"); +SAVE_REGISTERS1(); +SAVE_ERRCODE(); +SAVE_REGISTERS2(); +asm ("pushl $12"); +CALL_HOOK(); + +/* Same thing for exception 16. */ +extern void _catchException16(); +asm(".text"); +asm(".globl __catchException16"); +asm("__catchException16:"); +SAVE_REGISTERS1(); +SAVE_REGISTERS2(); +asm ("pushl $16"); +CALL_HOOK(); + +/* For 13, 11, and 14 we have to deal with the CHECK_FAULT stuff. */ + +/* Same thing for exception 13. */ +extern void _catchException13 (); +asm (".text"); +asm (".globl __catchException13"); +asm ("__catchException13:"); +CHECK_FAULT(); +SAVE_REGISTERS1(); +SAVE_ERRCODE(); +SAVE_REGISTERS2(); +asm ("pushl $13"); +CALL_HOOK(); + +/* Same thing for exception 11. */ +extern void _catchException11 (); +asm (".text"); +asm (".globl __catchException11"); +asm ("__catchException11:"); +CHECK_FAULT(); +SAVE_REGISTERS1(); +SAVE_ERRCODE(); +SAVE_REGISTERS2(); +asm ("pushl $11"); +CALL_HOOK(); + +/* Same thing for exception 14. */ +extern void _catchException14 (); +asm (".text"); +asm (".globl __catchException14"); +asm ("__catchException14:"); +CHECK_FAULT(); +SAVE_REGISTERS1(); +SAVE_ERRCODE(); +SAVE_REGISTERS2(); +asm ("pushl $14"); +CALL_HOOK(); + +/* + * remcomHandler is a front end for handle_exception. It moves the + * stack pointer into an area reserved for debugger use. + */ +asm("_remcomHandler:"); +asm(" popl %eax"); /* pop off return address */ +asm(" popl %eax"); /* get the exception number */ +asm(" movl _stackPtr, %esp"); /* move to remcom stack area */ +asm(" pushl %eax"); /* push exception onto stack */ +asm(" call _handle_exception"); /* this never returns */ + + +void +_returnFromException () +{ + return_to_prog (); +} + +#endif // !WIN32 + + +#ifdef _MSC_VER //MF +#define BREAKPOINT() __asm int 3; +#else +#define BREAKPOINT() asm(" int $3"); +#endif + + +#ifdef WIN32 //MF + +#define WIN32_LEAN_AND_MEAN +//#include + +void handle_exception(int exceptionVector); + +void win32_exception_handler(EXCEPTION_POINTERS* exc_info) +{ + PCONTEXT ctx = exc_info->ContextRecord; + + registers[EAX] = ctx->Eax; + registers[ECX] = ctx->Ecx; + registers[EDX] = ctx->Edx; + registers[EBX] = ctx->Ebx; + registers[ESP] = ctx->Esp; + registers[EBP] = ctx->Ebp; + registers[ESI] = ctx->Esi; + registers[EDI] = ctx->Edi; + registers[PC] = ctx->Eip; + registers[PS] = ctx->EFlags; + registers[CS] = ctx->SegCs; + registers[SS] = ctx->SegSs; + registers[DS] = ctx->SegDs; + registers[ES] = ctx->SegEs; + registers[FS] = ctx->SegFs; + registers[GS] = ctx->SegGs; + + handle_exception(exc_info->ExceptionRecord->ExceptionCode & 0xFFFF); + + ctx->Eax = registers[EAX]; + ctx->Ecx = registers[ECX]; + ctx->Edx = registers[EDX]; + ctx->Ebx = registers[EBX]; + ctx->Esp = registers[ESP]; + ctx->Ebp = registers[EBP]; + ctx->Esi = registers[ESI]; + ctx->Edi = registers[EDI]; + ctx->Eip = registers[PC]; + ctx->EFlags = registers[PS]; + ctx->SegCs = registers[CS]; + ctx->SegSs = registers[SS]; + ctx->SegDs = registers[DS]; + ctx->SegEs = registers[ES]; + ctx->SegFs = registers[FS]; + ctx->SegGs = registers[GS]; +} + +#endif // WIN32 + + +int +hex (ch) + char ch; +{ + if ((ch >= 'a') && (ch <= 'f')) + return (ch - 'a' + 10); + if ((ch >= '0') && (ch <= '9')) + return (ch - '0'); + if ((ch >= 'A') && (ch <= 'F')) + return (ch - 'A' + 10); + return (-1); +} + +static char remcomInBuffer[BUFMAX]; +static char remcomOutBuffer[BUFMAX]; + +/* scan for the sequence $# */ + +char * +getpacket (void) +{ + char *buffer = &remcomInBuffer[0]; + unsigned char checksum; + unsigned char xmitcsum; + int count; + char ch; + + while (1) + { + /* wait around for the start character, ignore all other characters */ + while ((ch = getDebugChar ()) != '$') + ; + + retry: + checksum = 0; + xmitcsum = -1; + count = 0; + + /* now, read until a # or end of buffer is found */ + while (count < BUFMAX - 1) + { + ch = getDebugChar (); + if (ch == '$') + goto retry; + if (ch == '#') + break; + checksum = checksum + ch; + buffer[count] = ch; + count = count + 1; + } + buffer[count] = 0; + + if (ch == '#') + { + ch = getDebugChar (); + xmitcsum = hex (ch) << 4; + ch = getDebugChar (); + xmitcsum += hex (ch); + + if (checksum != xmitcsum) + { + if (remote_debug) + { + fprintf (stderr, + "bad checksum. My count = 0x%x, sent=0x%x. buf=%s\n", + checksum, xmitcsum, buffer); + } + putDebugChar ('-'); /* failed checksum */ + } + else + { + putDebugChar ('+'); /* successful transfer */ + + /* if a sequence char is present, reply the sequence ID */ + if (buffer[2] == ':') + { + putDebugChar (buffer[0]); + putDebugChar (buffer[1]); + + return &buffer[3]; + } + + return &buffer[0]; + } + } + } +} + +/* send the packet in buffer. */ + +void +putpacket (char *buffer) +{ + unsigned char checksum; + int count; + char ch; + + /* $#. */ + do + { + putDebugChar ('$'); + checksum = 0; + count = 0; + + while ((ch = buffer[count]) != 0) + { + putDebugChar (ch); + checksum += ch; + count += 1; + } + + putDebugChar ('#'); + putDebugChar (hexchars[checksum >> 4]); + putDebugChar (hexchars[checksum % 16]); + + } + while (getDebugChar () != '+'); +} + +void debug_error (char* format/*, char* parm*/) +{ + if (remote_debug) + fprintf (stderr, format/*, parm*/); +} + +/* Address of a routine to RTE to if we get a memory fault. */ +static void (*volatile mem_fault_routine) () = NULL; + +/* Indicate to caller of mem2hex or hex2mem that there has been an + error. */ +static volatile int mem_err = 0; + +void +set_mem_err (void) +{ + mem_err = 1; +} + +/* These are separate functions so that they are so short and sweet + that the compiler won't save any registers (if there is a fault + to mem_fault, they won't get restored, so there better not be any + saved). */ +int +get_char (char *addr) +{ + return *addr; +} + +void +set_char (char *addr, int val) +{ + *addr = val; +} + +/* convert the memory pointed to by mem into hex, placing result in buf */ +/* return a pointer to the last char put in buf (null) */ +/* If MAY_FAULT is non-zero, then we should set mem_err in response to + a fault; if zero treat a fault like any other fault in the stub. */ +char * +mem2hex (mem, buf, count, may_fault) + char *mem; + char *buf; + int count; + int may_fault; +{ + int i; + unsigned char ch; + +#ifdef WIN32 //MF + if (IsBadReadPtr(mem, count)) + return mem; +#else + if (may_fault) + mem_fault_routine = set_mem_err; +#endif + for (i = 0; i < count; i++) + { + ch = get_char (mem++); + if (may_fault && mem_err) + return (buf); + *buf++ = hexchars[ch >> 4]; + *buf++ = hexchars[ch % 16]; + } + *buf = 0; +#ifndef WIN32 //MF + if (may_fault) + mem_fault_routine = NULL; +#endif + return (buf); +} + +/* convert the hex array pointed to by buf into binary to be placed in mem */ +/* return a pointer to the character AFTER the last byte written */ +char * +hex2mem (buf, mem, count, may_fault) + char *buf; + char *mem; + int count; + int may_fault; +{ + int i; + unsigned char ch; + +#ifdef WIN32 //MF + // MinGW does not support structured exception handling, so let's + // go safe and make memory writable by default + DWORD old_protect; + + VirtualProtect(mem, count, PAGE_EXECUTE_READWRITE, &old_protect); +#else + if (may_fault) + mem_fault_routine = set_mem_err; +#endif + + for (i = 0; i < count; i++) + { + ch = hex (*buf++) << 4; + ch = ch + hex (*buf++); + set_char (mem++, ch); + if (may_fault && mem_err) + return (mem); + } + +#ifndef WIN32 //MF + if (may_fault) + mem_fault_routine = NULL; +#endif + + return (mem); +} + +/* this function takes the 386 exception vector and attempts to + translate this number into a unix compatible signal value */ +int +computeSignal (int exceptionVector) +{ + int sigval; + switch (exceptionVector) + { + case 0: + sigval = 8; + break; /* divide by zero */ + case 1: + sigval = 5; + break; /* debug exception */ + case 3: + sigval = 5; + break; /* breakpoint */ + case 4: + sigval = 16; + break; /* into instruction (overflow) */ + case 5: + sigval = 16; + break; /* bound instruction */ + case 6: + sigval = 4; + break; /* Invalid opcode */ + case 7: + sigval = 8; + break; /* coprocessor not available */ + case 8: + sigval = 7; + break; /* double fault */ + case 9: + sigval = 11; + break; /* coprocessor segment overrun */ + case 10: + sigval = 11; + break; /* Invalid TSS */ + case 11: + sigval = 11; + break; /* Segment not present */ + case 12: + sigval = 11; + break; /* stack exception */ + case 13: + sigval = 11; + break; /* general protection */ + case 14: + sigval = 11; + break; /* page fault */ + case 16: + sigval = 7; + break; /* coprocessor error */ + default: + sigval = 7; /* "software generated" */ + } + return (sigval); +} + +/**********************************************/ +/* WHILE WE FIND NICE HEX CHARS, BUILD AN INT */ +/* RETURN NUMBER OF CHARS PROCESSED */ +/**********************************************/ +int +hexToInt (char **ptr, int *intValue) +{ + int numChars = 0; + int hexValue; + + *intValue = 0; + + while (**ptr) + { + hexValue = hex (**ptr); + if (hexValue >= 0) + { + *intValue = (*intValue << 4) | hexValue; + numChars++; + } + else + break; + + (*ptr)++; + } + + return (numChars); +} + +/* + * This function does all command procesing for interfacing to gdb. + */ +void +handle_exception (int exceptionVector) +{ + int sigval, stepping; + int addr, length; + char *ptr; + +#ifndef WIN32 //MF + gdb_i386vector = exceptionVector; +#endif + + if (remote_debug) + { + printf ("vector=%d, sr=0x%x, pc=0x%x\n", + exceptionVector, registers[PS], registers[PC]); + } + + /* reply to host that an exception has occurred */ + sigval = computeSignal (exceptionVector); + + ptr = remcomOutBuffer; + + *ptr++ = 'T'; /* notify gdb with signo, PC, FP and SP */ + *ptr++ = hexchars[sigval >> 4]; + *ptr++ = hexchars[sigval & 0xf]; + + *ptr++ = hexchars[ESP]; + *ptr++ = ':'; + ptr = mem2hex((char *)®isters[ESP], ptr, 4, 0); /* SP */ + *ptr++ = ';'; + + *ptr++ = hexchars[EBP]; + *ptr++ = ':'; + ptr = mem2hex((char *)®isters[EBP], ptr, 4, 0); /* FP */ + *ptr++ = ';'; + + *ptr++ = hexchars[PC]; + *ptr++ = ':'; + ptr = mem2hex((char *)®isters[PC], ptr, 4, 0); /* PC */ + *ptr++ = ';'; + + *ptr = '\0'; + + putpacket (remcomOutBuffer); + + stepping = 0; + + while (1 == 1) + { + remcomOutBuffer[0] = 0; + ptr = getpacket (); + + switch (*ptr++) + { + case '?': + remcomOutBuffer[0] = 'S'; + remcomOutBuffer[1] = hexchars[sigval >> 4]; + remcomOutBuffer[2] = hexchars[sigval % 16]; + remcomOutBuffer[3] = 0; + break; + case 'd': + remote_debug = !(remote_debug); /* toggle debug flag */ + break; + case 'g': /* return the value of the CPU registers */ + mem2hex ((char *) registers, remcomOutBuffer, NUMREGBYTES, 0); + break; + case 'G': /* set the value of the CPU registers - return OK */ + hex2mem (ptr, (char *) registers, NUMREGBYTES, 0); + strcpy_s(remcomOutBuffer, BUFMAX, "OK"); + break; + case 'P': /* set the value of a single CPU register - return OK */ + { + int regno; + + if (hexToInt (&ptr, ®no) && *ptr++ == '=') + if (regno >= 0 && regno < NUMREGS) + { + hex2mem (ptr, (char *) ®isters[regno], 4, 0); + strcpy_s(remcomOutBuffer, BUFMAX, "OK"); + break; + } + + strcpy_s(remcomOutBuffer, BUFMAX, "E01"); + break; + } + + /* mAA..AA,LLLL Read LLLL bytes at address AA..AA */ + case 'm': + /* TRY TO READ %x,%x. IF SUCCEED, SET PTR = 0 */ + if (hexToInt (&ptr, &addr)) + if (*(ptr++) == ',') + if (hexToInt (&ptr, &length)) + { + ptr = 0; + mem_err = 0; + mem2hex ((char *) addr, remcomOutBuffer, length, 1); + if (mem_err) + { + strcpy_s(remcomOutBuffer, BUFMAX, "E03"); + debug_error ("memory fault"); + } + } + + if (ptr) + { + strcpy_s(remcomOutBuffer, BUFMAX, "E01"); + } + break; + + /* MAA..AA,LLLL: Write LLLL bytes at address AA.AA return OK */ + case 'M': + /* TRY TO READ '%x,%x:'. IF SUCCEED, SET PTR = 0 */ + if (hexToInt (&ptr, &addr)) + if (*(ptr++) == ',') + if (hexToInt (&ptr, &length)) + if (*(ptr++) == ':') + { + mem_err = 0; + hex2mem (ptr, (char *) addr, length, 1); + + if (mem_err) + { + strcpy_s(remcomOutBuffer, BUFMAX, "E03"); + debug_error ("memory fault"); + } + else + { + strcpy_s(remcomOutBuffer, BUFMAX, "OK"); + } + + ptr = 0; + } + if (ptr) + { + strcpy_s(remcomOutBuffer, BUFMAX, "E02"); + } + break; + + /* cAA..AA Continue at address AA..AA(optional) */ + /* sAA..AA Step one instruction from AA..AA(optional) */ + case 's': + stepping = 1; + case 'c': + /* try to read optional parameter, pc unchanged if no parm */ + if (hexToInt (&ptr, &addr)) + registers[PC] = addr; + + /* clear the trace bit */ + registers[PS] &= 0xfffffeff; + + /* set the trace bit if we're stepping */ + if (stepping) + registers[PS] |= 0x100; + +#ifdef WIN32 //MF + return; +#else + _returnFromException (); /* this is a jump */ +#endif + break; + + /* kill the program */ + case 'k': /* do nothing */ +#if 0 + /* Huh? This doesn't look like "nothing". + m68k-stub.c and sparc-stub.c don't have it. */ + BREAKPOINT (); +#endif + break; + } /* switch */ + + /* reply to the request */ + putpacket (remcomOutBuffer); + } +} + +/* this function is used to set up exception handlers for tracing and + breakpoints */ +void +set_debug_traps (void) +{ +#ifndef WIN32 //MF + stackPtr = &remcomStack[STACKSIZE / sizeof (int) - 1]; + + exceptionHandler (0, _catchException0); + exceptionHandler (1, _catchException1); + exceptionHandler (3, _catchException3); + exceptionHandler (4, _catchException4); + exceptionHandler (5, _catchException5); + exceptionHandler (6, _catchException6); + exceptionHandler (7, _catchException7); + exceptionHandler (8, _catchException8); + exceptionHandler (9, _catchException9); + exceptionHandler (10, _catchException10); + exceptionHandler (11, _catchException11); + exceptionHandler (12, _catchException12); + exceptionHandler (13, _catchException13); + exceptionHandler (14, _catchException14); + exceptionHandler (16, _catchException16); +#endif // WIN32 + + initialized = 1; +} + +/* This function will generate a breakpoint exception. It is used at the + beginning of a program to sync up with a debugger and can be used + otherwise as a quick means to stop program execution and "break" into + the debugger. */ + +void +breakpoint (void) +{ + if (initialized) + BREAKPOINT (); +} + + + + // + // debugger stub implementation for WIN32 applications + // M. Fuchs, 29.11.2003 + // + +#ifdef WIN32 + +#include +#include + +#include "utility/utility.h" + + +int s_initial_breakpoint = 0; + + +#ifdef DEBUG_SERIAL + +FILE* ser_port = NULL; + +int init_gdb_connect() +{ + //TODO: set up connection using serial communication port + + ser_port = fopen("COM1:", "rwb"); + + return 1; +} + +int getDebugChar() +{ + return fgetc(ser_port); +} + +void putDebugChar(int c) +{ + fputc(c, ser_port); +} + + +#else // DEBUG_SERIAL + + +static LPTOP_LEVEL_EXCEPTION_FILTER s_prev_exc_handler = 0; + + +#define I386_EXCEPTION_CNT 17 + +LONG WINAPI exc_protection_handler(EXCEPTION_POINTERS* exc_info) +{ + int exc_nr = exc_info->ExceptionRecord->ExceptionCode & 0xFFFF; + + if (exc_nr < I386_EXCEPTION_CNT) { + //LOG(FmtString(TEXT("exc_protection_handler: Exception %x"), exc_nr)); + + if (exc_nr==11 || exc_nr==13 || exc_nr==14) { + if (mem_fault_routine) + mem_fault_routine(); + } + + ++exc_info->ContextRecord->Eip; + } + + return EXCEPTION_CONTINUE_EXECUTION; +} + +LONG WINAPI exc_handler(EXCEPTION_POINTERS* exc_info) +{ + int exc_nr = exc_info->ExceptionRecord->ExceptionCode & 0xFFFF; + + if (exc_nr < I386_EXCEPTION_CNT) { + //LOG(FmtString("Exception %x", exc_nr)); + //LOG(FmtString("EIP=%08X EFLAGS=%08X", exc_info->ContextRecord->Eip, exc_info->ContextRecord->EFlags)); + + // step over initial breakpoint + if (s_initial_breakpoint) { + s_initial_breakpoint = 0; + ++exc_info->ContextRecord->Eip; + } + + SetUnhandledExceptionFilter(exc_protection_handler); + + win32_exception_handler(exc_info); + //LOG(FmtString("EIP=%08X EFLAGS=%08X", exc_info->ContextRecord->Eip, exc_info->ContextRecord->EFlags)); + + SetUnhandledExceptionFilter(exc_handler); + + return EXCEPTION_CONTINUE_EXECUTION; + } + + return EXCEPTION_CONTINUE_SEARCH; +} + +/* not needed because we use win32_exception_handler() instead of catchExceptionX() +void exceptionHandler(int exc_nr, void* exc_addr) +{ + if (exc_nr>=0 && exc_nr +#ifdef _MSC_VER +#pragma comment(lib, "wsock32") +#endif + +static int s_rem_fd = -1; + +int init_gdb_connect() +{ + SOCKADDR_IN srv_addr = {0}; + SOCKADDR_IN rem_addr; + WSADATA wsa_data; + int srv_socket, rem_len; + + s_prev_exc_handler = SetUnhandledExceptionFilter(exc_handler); + + if (WSAStartup(MAKEWORD(2,2), &wsa_data)) { + fprintf(stderr, "WSAStartup() failed"); + return 0; + } + + srv_addr.sin_family = AF_INET; + srv_addr.sin_addr.s_addr = htonl(INADDR_ANY); + srv_addr.sin_port = htons(9999); + + srv_socket = socket(PF_INET, SOCK_STREAM, 0); + if (srv_socket == -1) { + perror("socket()"); + return 0; + } + + if (bind(srv_socket, (struct sockaddr*) &srv_addr, sizeof(srv_addr)) == -1) { + perror("bind()"); + return 0; + } + + if (listen(srv_socket, 4) == -1) { + perror("listen()"); + return 0; + } + + rem_len = sizeof(rem_addr); + + for(;;) { + s_rem_fd = accept(srv_socket, (struct sockaddr*)&rem_addr, &rem_len); + + if (s_rem_fd < 0) { + if (errno == EINTR) + continue; + + perror("accept()"); + return 0; + } + + break; + } + + return 1; +} + +#endif // DEBUG_SERIAL + + +int getDebugChar() +{ + char buffer[1024]; + int r; + + if (s_rem_fd == -1) + return EOF; + + r = recv(s_rem_fd, buffer, 1, 0); + if (r == -1) { + perror("recv()"); + LOG(TEXT("debugger connection broken")); + s_rem_fd = -1; + return EOF; + } + + if (!r) + return EOF; + + return buffer[0]; +} + +void putDebugChar(int c) +{ + if (s_rem_fd != -1) { + const char buffer[] = {c}; + + if (!send(s_rem_fd, buffer, 1, 0)) { + perror("send()"); + LOG(TEXT("debugger connection broken")); + exit(-1); + } + } +} + + + // start up GDB stub interface + +int initialize_gdb_stub() +{ + if (!init_gdb_connect()) + return 0; + + set_debug_traps(); + + s_initial_breakpoint = 1; + breakpoint(); + + return 1; +} + +#endif // WIN32 diff --git a/base/shell/explorer-old/make-docu.sh b/base/shell/explorer-old/make-docu.sh new file mode 100755 index 00000000000..7894b44d521 --- /dev/null +++ b/base/shell/explorer-old/make-docu.sh @@ -0,0 +1,2 @@ +sed 's/@GEN@/generated on '`date +%d.%m.%Y`/ doxy-footer.html +doxygen Doxyfile diff --git a/base/shell/explorer-old/make-full-docu.bat b/base/shell/explorer-old/make-full-docu.bat new file mode 100755 index 00000000000..e4a7b41de46 --- /dev/null +++ b/base/shell/explorer-old/make-full-docu.bat @@ -0,0 +1,7 @@ +doxygen Doxyfile +cmd /c start /b /low /wait hhc doxy-doc\html\index.hhp +cmd /c move /y doxy-doc\html\index.chm ros-explorer.chm + +doxygen Doxyfile-all +cmd /c start /b /low /wait hhc doxy-doc\html\index.hhp +cmd /c move /y doxy-doc\html\index.chm ros-explorer-full.chm diff --git a/base/shell/explorer-old/make_explorer.dsp b/base/shell/explorer-old/make_explorer.dsp new file mode 100644 index 00000000000..d620c8892df --- /dev/null +++ b/base/shell/explorer-old/make_explorer.dsp @@ -0,0 +1,205 @@ +# Microsoft Developer Studio Project File - Name="make_explorer" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) External Target" 0x0106 + +CFG=make_explorer - Win32 bjam +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "make_explorer.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "make_explorer.mak" CFG="make_explorer - Win32 bjam" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "make_explorer - Win32 Release" (based on "Win32 (x86) External Target") +!MESSAGE "make_explorer - Win32 Debug" (based on "Win32 (x86) External Target") +!MESSAGE "make_explorer - Win32 Unicode Debug" (based on "Win32 (x86) External Target") +!MESSAGE "make_explorer - Win32 Unicode Release" (based on "Win32 (x86) External Target") +!MESSAGE "make_explorer - Win32 doxy docu" (based on "Win32 (x86) External Target") +!MESSAGE "make_explorer - Win32 bjam" (based on "Win32 (x86) External Target") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" + +!IF "$(CFG)" == "make_explorer - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Cmd_Line "NMAKE /f make_explorer.mak" +# PROP BASE Rebuild_Opt "/a" +# PROP BASE Target_File "make_explorer.exe" +# PROP BASE Bsc_Name "make_explorer.bsc" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" mingw32-make.exe -f Makefile-precomp UNICODE=0" +# PROP Rebuild_Opt "clean all" +# PROP Target_File "explorer.exe" +# PROP Bsc_Name "" +# PROP Target_Dir "" + +!ELSEIF "$(CFG)" == "make_explorer - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Cmd_Line "NMAKE /f make_explorer.mak" +# PROP BASE Rebuild_Opt "/a" +# PROP BASE Target_File "make_explorer.exe" +# PROP BASE Bsc_Name "make_explorer.bsc" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" mingw32-make.exe -f Makefile-precomp UNICODE=0 DEBUG=1" +# PROP Rebuild_Opt "clean all" +# PROP Target_File "explorer.exe" +# PROP Bsc_Name "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=0 DEBUG=1" +# PROP Target_Dir "" + +!ELSEIF "$(CFG)" == "make_explorer - Win32 Unicode Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "UDebug" +# PROP BASE Intermediate_Dir "UDebug" +# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1 DEBUG=1" +# PROP BASE Rebuild_Opt "clean all" +# PROP BASE Target_File "explorer.exe" +# PROP BASE Bsc_Name "" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "UDebug" +# PROP Intermediate_Dir "UDebug" +# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" mingw32-make.exe -f Makefile.MinGW UNICODE=1 DEBUG=1" +# PROP Rebuild_Opt "clean all" +# PROP Target_File "explorer.exe" +# PROP Bsc_Name "" +# PROP Target_Dir "" + +!ELSEIF "$(CFG)" == "make_explorer - Win32 Unicode Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "URelease" +# PROP BASE Intermediate_Dir "URelease" +# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1" +# PROP BASE Rebuild_Opt "clean all" +# PROP BASE Target_File "explorer.exe" +# PROP BASE Bsc_Name "" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "URelease" +# PROP Intermediate_Dir "URelease" +# PROP Cmd_Line "msdevfilt -gcc mingw32-make.exe -f Makefile-precomp UNICODE=1" +# PROP Rebuild_Opt "clean all" +# PROP Target_File "explorer.exe" +# PROP Bsc_Name "" +# PROP Target_Dir "" + +!ELSEIF "$(CFG)" == "make_explorer - Win32 doxy docu" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW DEBUG=1" +# PROP BASE Rebuild_Opt "clean all" +# PROP BASE Target_File "explorer.exe" +# PROP BASE Bsc_Name "" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Cmd_Line "msdevfilt -java make docu" +# PROP Rebuild_Opt "full-docu" +# PROP Target_File "explorer.exe" +# PROP Bsc_Name "" +# PROP Target_Dir "" + +!ELSEIF "$(CFG)" == "make_explorer - Win32 bjam" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW DEBUG=1" +# PROP BASE Rebuild_Opt "clean all" +# PROP BASE Target_File "explorer.exe" +# PROP BASE Bsc_Name "" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" bjam" +# PROP Rebuild_Opt "clean&bjam release" +# PROP Target_File "explorer.exe" +# PROP Bsc_Name "" +# PROP Target_Dir "" + +!ENDIF + +# Begin Target + +# Name "make_explorer - Win32 Release" +# Name "make_explorer - Win32 Debug" +# Name "make_explorer - Win32 Unicode Debug" +# Name "make_explorer - Win32 Unicode Release" +# Name "make_explorer - Win32 doxy docu" +# Name "make_explorer - Win32 bjam" + +!IF "$(CFG)" == "make_explorer - Win32 Release" + +!ELSEIF "$(CFG)" == "make_explorer - Win32 Debug" + +!ELSEIF "$(CFG)" == "make_explorer - Win32 Unicode Debug" + +!ELSEIF "$(CFG)" == "make_explorer - Win32 Unicode Release" + +!ELSEIF "$(CFG)" == "make_explorer - Win32 doxy docu" + +!ELSEIF "$(CFG)" == "make_explorer - Win32 bjam" + +!ENDIF + +# Begin Source File + +SOURCE=.\explorer.rbuild +# End Source File +# Begin Source File + +SOURCE=.\Jamfile +# End Source File +# Begin Source File + +SOURCE=".\Makefile-MinGW" +# End Source File +# Begin Source File + +SOURCE=".\Makefile-precomp" +# End Source File +# Begin Source File + +SOURCE=".\Makefile-Wine" +# End Source File +# End Target +# End Project diff --git a/base/shell/explorer-old/make_explorer.vcproj b/base/shell/explorer-old/make_explorer.vcproj new file mode 100644 index 00000000000..05bb8796622 --- /dev/null +++ b/base/shell/explorer-old/make_explorer.vcproj @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/base/shell/explorer-old/make_rosshell.dsp b/base/shell/explorer-old/make_rosshell.dsp new file mode 100644 index 00000000000..f113f96cb72 --- /dev/null +++ b/base/shell/explorer-old/make_rosshell.dsp @@ -0,0 +1,151 @@ +# Microsoft Developer Studio Project File - Name="make_rosshell" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) External Target" 0x0106 + +CFG=make_rosshell - Win32 Release +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "make_rosshell.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "make_rosshell.mak" CFG="make_rosshell - Win32 Release" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "make_rosshell - Win32 Release" (based on "Win32 (x86) External Target") +!MESSAGE "make_rosshell - Win32 Debug" (based on "Win32 (x86) External Target") +!MESSAGE "make_rosshell - Win32 Unicode Debug" (based on "Win32 (x86) External Target") +!MESSAGE "make_rosshell - Win32 Unicode Release" (based on "Win32 (x86) External Target") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" + +!IF "$(CFG)" == "make_rosshell - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Cmd_Line "NMAKE /f make_rosshell.mak" +# PROP BASE Rebuild_Opt "/a" +# PROP BASE Target_File "make_rosshell.exe" +# PROP BASE Bsc_Name "make_rosshell.bsc" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Make-rosshell-MinGW UNICODE=0" +# PROP Rebuild_Opt "clean all" +# PROP Target_File "rosshell.exe" +# PROP Bsc_Name "" +# PROP Target_Dir "" + +!ELSEIF "$(CFG)" == "make_rosshell - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Cmd_Line "NMAKE /f make_rosshell.mak" +# PROP BASE Rebuild_Opt "/a" +# PROP BASE Target_File "make_rosshell.exe" +# PROP BASE Bsc_Name "make_rosshell.bsc" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Make-rosshell-MinGW UNICODE=0 DEBUG=1" +# PROP Rebuild_Opt "clean all" +# PROP Target_File "rosshell.exe" +# PROP Bsc_Name "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=0 DEBUG=1" +# PROP Target_Dir "" + +!ELSEIF "$(CFG)" == "make_rosshell - Win32 Unicode Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "UDebug" +# PROP BASE Intermediate_Dir "UDebug" +# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1 DEBUG=1" +# PROP BASE Rebuild_Opt "clean all" +# PROP BASE Target_File "rosshell.exe" +# PROP BASE Bsc_Name "" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "UDebug" +# PROP Intermediate_Dir "UDebug" +# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1 DEBUG=1" +# PROP Rebuild_Opt "clean all" +# PROP Target_File "rosshell.exe" +# PROP Bsc_Name "" +# PROP Target_Dir "" + +!ELSEIF "$(CFG)" == "make_rosshell - Win32 Unicode Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "URelease" +# PROP BASE Intermediate_Dir "URelease" +# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1" +# PROP BASE Rebuild_Opt "clean all" +# PROP BASE Target_File "rosshell.exe" +# PROP BASE Bsc_Name "" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "URelease" +# PROP Intermediate_Dir "URelease" +# PROP Cmd_Line "msdevfilt -gcc make -f Make-rosshell-MinGW UNICODE=1" +# PROP Rebuild_Opt "clean all" +# PROP Target_File "rosshell.exe" +# PROP Bsc_Name "" +# PROP Target_Dir "" + +!ENDIF + +# Begin Target + +# Name "make_rosshell - Win32 Release" +# Name "make_rosshell - Win32 Debug" +# Name "make_rosshell - Win32 Unicode Debug" +# Name "make_rosshell - Win32 Unicode Release" + +!IF "$(CFG)" == "make_rosshell - Win32 Release" + +!ELSEIF "$(CFG)" == "make_rosshell - Win32 Debug" + +!ELSEIF "$(CFG)" == "make_rosshell - Win32 Unicode Debug" + +!ELSEIF "$(CFG)" == "make_rosshell - Win32 Unicode Release" + +!ENDIF + +# Begin Source File + +SOURCE=.\Jamfile +# End Source File +# Begin Source File + +SOURCE=".\Make-rosshell-MinGW" +# End Source File +# Begin Source File + +SOURCE=".\Make-rosshell.mak" +# End Source File +# Begin Source File + +SOURCE=.\Makefile +# End Source File +# End Target +# End Project diff --git a/base/shell/explorer-old/makearchive.bat b/base/shell/explorer-old/makearchive.bat new file mode 100755 index 00000000000..45d707c681a --- /dev/null +++ b/base/shell/explorer-old/makearchive.bat @@ -0,0 +1,21 @@ +set MAKE=mingw32-make.exe +set TARGET=E:\html\newhome\explorer + +rm explorer-ansi.exe +%MAKE% -f Makefile-precomp clean all UNICODE=0 +mv explorer.exe explorer-ansi.exe + +%MAKE% -f Makefile-precomp clean all UNICODE=1 +zip %TARGET%\ros-explorer.zip explorer-ansi.exe explorer.exe *.dll + +cd ..\lean-explorer +%MAKE% -f Makefile-precomp clean all UNICODE=1 +zip %TARGET%\lean-explorer.zip explorer.exe +cd ..\explorer + +pack +mv explorer-src.zip %TARGET%\explorer-src.zip + +make-full-docu +move ros-explorer.chm %TARGET%\ +move ros-explorer-full.chm %TARGET%\ diff --git a/base/shell/explorer-old/notifyhook/CMakeLists.txt b/base/shell/explorer-old/notifyhook/CMakeLists.txt new file mode 100644 index 00000000000..935fc1d574a --- /dev/null +++ b/base/shell/explorer-old/notifyhook/CMakeLists.txt @@ -0,0 +1,17 @@ + +add_definitions(-D_NOTIFYHOOK_IMPL) + +spec2def(notifyhook.dll notifyhook.spec ADD_IMPORTLIB) + +list(APPEND SOURCE + notifyhook.c + notifyhook.rc + ${CMAKE_CURRENT_BINARY_DIR}/notifyhook.def) + +add_library(notifyhook SHARED ${SOURCE}) + +set_module_type(notifyhook win32dll) + +add_importlibs(notifyhook user32 msvcrt kernel32) + +add_cd_file(TARGET notifyhook DESTINATION reactos/system32 FOR all) diff --git a/base/shell/explorer-old/notifyhook/notifyhook.c b/base/shell/explorer-old/notifyhook/notifyhook.c new file mode 100644 index 00000000000..3e363891d09 --- /dev/null +++ b/base/shell/explorer-old/notifyhook/notifyhook.c @@ -0,0 +1,116 @@ +/* + * Copyright 2004 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // NotifyHook DLL for ROS Explorer + // + // notifyhook.cpp + // + // Martin Fuchs, 17.03.2004 + // + + +#include "../utility/utility.h" + +#include "notifyhook.h" + + +static HINSTANCE s_hInstance; +static UINT WM_GETMODULEPATH; +static HHOOK s_hNotifyHook; + + +BOOL APIENTRY DllMain(HINSTANCE hInst, DWORD dwReason, LPVOID param) +{ + switch(dwReason) { + case DLL_PROCESS_ATTACH: + s_hInstance = hInst; + DisableThreadLibraryCalls(hInst); + WM_GETMODULEPATH = RegisterWindowMessageA("WM_GETMODULEPATH"); + break; + } + + return TRUE; +} + + +struct COPYDATA_STRUCT { + HWND _hwnd; + int _len; + char _path[MAX_PATH]; +}; + +LRESULT CALLBACK NotifyHookProc(int code, WPARAM wparam, LPARAM lparam) +{ + MSG* pmsg = (MSG*)lparam; + + if (pmsg->message == WM_GETMODULEPATH) { + struct COPYDATA_STRUCT cds; + COPYDATASTRUCT data; + + cds._hwnd = pmsg->hwnd; + cds._len = GetWindowModuleFileNameA(pmsg->hwnd, cds._path, COUNTOF(cds._path)); + + data.dwData = WM_GETMODULEPATH; + data.cbData = sizeof(cds); + data.lpData = &cds; + + SendMessage((HWND)pmsg->wParam, WM_COPYDATA, (WPARAM)pmsg->hwnd, (LPARAM)&data); + + return 0; + } + + return CallNextHookEx(s_hNotifyHook, code, wparam, lparam); +} + + +UINT InstallNotifyHook() +{ + s_hNotifyHook = SetWindowsHookEx(WH_GETMESSAGE, NotifyHookProc, s_hInstance, 0); + + return WM_GETMODULEPATH; +} + +void DeinstallNotifyHook() +{ + UnhookWindowsHookEx(s_hNotifyHook); + s_hNotifyHook = 0; +} + + +void GetWindowModulePath(HWND hwnd) +{ + SendMessage(hwnd, WM_GETMODULEPATH, 0, 0); +} + + // retrieve module path by receiving WM_COPYDATA message +DECL_NOTIFYHOOK int GetWindowModulePathCopyData(LPARAM lparam, HWND* phwnd, LPSTR buffer, int size) +{ + PCOPYDATASTRUCT data = (PCOPYDATASTRUCT) lparam; + + if (data->dwData == WM_GETMODULEPATH) { + struct COPYDATA_STRUCT* cds = (struct COPYDATA_STRUCT*) data->lpData; + + *phwnd = cds->_hwnd; + lstrcpyn(buffer, cds->_path, size); + + return cds->_len; + } else + return 0; +} diff --git a/base/shell/explorer-old/notifyhook/notifyhook.def b/base/shell/explorer-old/notifyhook/notifyhook.def new file mode 100644 index 00000000000..47ddf67e5c9 --- /dev/null +++ b/base/shell/explorer-old/notifyhook/notifyhook.def @@ -0,0 +1,6 @@ +LIBRARY notifyhook.dll +EXPORTS +DeinstallNotifyHook +GetWindowModulePath +GetWindowModulePathCopyData +InstallNotifyHook diff --git a/base/shell/explorer-old/notifyhook/notifyhook.dsp b/base/shell/explorer-old/notifyhook/notifyhook.dsp new file mode 100644 index 00000000000..5987f96d342 --- /dev/null +++ b/base/shell/explorer-old/notifyhook/notifyhook.dsp @@ -0,0 +1,171 @@ +# Microsoft Developer Studio Project File - Name="notifyhook" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=notifyhook - Win32 +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "notifyhook.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "notifyhook.mak" CFG="notifyhook - Win32" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "notifyhook - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "notifyhook - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "notifyhook - Win32" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "notifyhook - Win32 Debug Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "notifyhook - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "shellhook___Win32_Release" +# PROP BASE Intermediate_Dir "shellhook___Win32_Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "..\Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FD /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 user32.lib /nologo /subsystem:windows /dll /machine:I386 + +!ELSEIF "$(CFG)" == "notifyhook - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Win32" +# PROP BASE Intermediate_Dir "Win32" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "..\Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FR /FD /GZ /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 user32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept + +!ELSEIF "$(CFG)" == "notifyhook - Win32" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Win32" +# PROP BASE Intermediate_Dir "Win32" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Win32" +# PROP Intermediate_Dir "Win32" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FR /FD /GZ /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FR /FD /GZ /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 user32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 user32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept + +!ELSEIF "$(CFG)" == "notifyhook - Win32 Debug Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "DRelease" +# PROP BASE Intermediate_Dir "DRelease" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "DRelease" +# PROP Intermediate_Dir "DRelease" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FD /c +# SUBTRACT BASE CPP /YX +# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FD /c +# SUBTRACT CPP /YX +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 user32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 user32.lib /nologo /subsystem:windows /dll /machine:I386 + +!ENDIF + +# Begin Target + +# Name "notifyhook - Win32 Release" +# Name "notifyhook - Win32 Debug" +# Name "notifyhook - Win32" +# Name "notifyhook - Win32 Debug Release" +# Begin Source File + +SOURCE=.\notifyhook.c +# End Source File +# Begin Source File + +SOURCE=.\notifyhook.h +# End Source File +# Begin Source File + +SOURCE=.\notifyhook.rbuild +# End Source File +# Begin Source File + +SOURCE=..\utility\utility.h +# End Source File +# End Target +# End Project diff --git a/base/shell/explorer-old/notifyhook/notifyhook.h b/base/shell/explorer-old/notifyhook/notifyhook.h new file mode 100644 index 00000000000..bfa4b356156 --- /dev/null +++ b/base/shell/explorer-old/notifyhook/notifyhook.h @@ -0,0 +1,50 @@ +/* + * Copyright 2004 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // NotifyHook DLL for ROS Explorer + // + // notifyhook.h + // + // Martin Fuchs, 17.03.2004 + // + + +#ifdef _NOTIFYHOOK_IMPL +#define DECL_NOTIFYHOOK __declspec(dllexport) +#else +#define DECL_NOTIFYHOOK __declspec(dllimport) +#ifdef _MSC_VER +#pragma comment(lib, "notifyhook") +#endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +DECL_NOTIFYHOOK UINT InstallNotifyHook(void); +DECL_NOTIFYHOOK void DeinstallNotifyHook(void); + +DECL_NOTIFYHOOK void GetWindowModulePath(HWND hwnd); +DECL_NOTIFYHOOK int GetWindowModulePathCopyData(LPARAM lparam, HWND* phwnd, LPSTR buffer, int size); + +#ifdef __cplusplus +}; +#endif diff --git a/base/shell/explorer-old/notifyhook/notifyhook.rc b/base/shell/explorer-old/notifyhook/notifyhook.rc new file mode 100644 index 00000000000..04f6fe47684 --- /dev/null +++ b/base/shell/explorer-old/notifyhook/notifyhook.rc @@ -0,0 +1,5 @@ +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "NotifyHook DLL for ROS Explorer" +#define REACTOS_STR_INTERNAL_NAME "notifyhook" +#define REACTOS_STR_ORIGINAL_FILENAME "notifyhook.dll" +#include diff --git a/base/shell/explorer-old/notifyhook/notifyhook.spec b/base/shell/explorer-old/notifyhook/notifyhook.spec new file mode 100644 index 00000000000..e27ea751426 --- /dev/null +++ b/base/shell/explorer-old/notifyhook/notifyhook.spec @@ -0,0 +1,4 @@ +@ cdecl DeinstallNotifyHook() +@ cdecl GetWindowModulePath(ptr) +@ cdecl GetWindowModulePathCopyData(ptr ptr ptr long) +@ cdecl InstallNotifyHook() \ No newline at end of file diff --git a/base/shell/explorer-old/notifyhook/notifyhook.vcproj b/base/shell/explorer-old/notifyhook/notifyhook.vcproj new file mode 100644 index 00000000000..adf230322da --- /dev/null +++ b/base/shell/explorer-old/notifyhook/notifyhook.vcproj @@ -0,0 +1,236 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/base/shell/explorer-old/precomp.cpp b/base/shell/explorer-old/precomp.cpp new file mode 100644 index 00000000000..4a54730d68a --- /dev/null +++ b/base/shell/explorer-old/precomp.cpp @@ -0,0 +1,28 @@ +/* + * Copyright 2004 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone - precompiled header support + // + // precomp.h + // + // Martin Fuchs, 17.05.2004 + // + +#include "precomp.h" diff --git a/base/shell/explorer-old/precomp.h b/base/shell/explorer-old/precomp.h new file mode 100644 index 00000000000..831e8f92141 --- /dev/null +++ b/base/shell/explorer-old/precomp.h @@ -0,0 +1,57 @@ +/* + * Copyright 2004 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef _EXPLORER_H +#define _EXPLORER_H + + // + // Explorer clone - precompiled header support + // + // precomp.h + // + // Martin Fuchs, 17.05.2004 + // + +#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 +#include +#include +#include + +#include "utility/utility.h" + +#include "explorer.h" +#include "desktop/desktop.h" + +#include "globals.h" +#include "externals.h" + +#include "resource.h" + +#endif /* _EXPLORER_H */ diff --git a/base/shell/explorer-old/project-root.jam b/base/shell/explorer-old/project-root.jam new file mode 100644 index 00000000000..e69de29bb2d diff --git a/base/shell/explorer-old/rc-mingw.jam b/base/shell/explorer-old/rc-mingw.jam new file mode 100644 index 00000000000..62f8f96bc58 --- /dev/null +++ b/base/shell/explorer-old/rc-mingw.jam @@ -0,0 +1,53 @@ +import type ; +import generators ; +import feature ; + +type.register RC : rc ; + +rule init ( ) +{ +} + +rule resource-compile ( target : sources * : properties * ) +{ +# local OS = [ feature.get-values : $(properties) ] ; + resource-compile-mingw $(target) : $(sources[1]) ; +# switch $(OS) +# { +# case "NT" : +# resource-compile-nt $(target) : $(sources[1]) ; +# case "CYGWIN" : +# resource-compile-cygwin $(target) : $(sources[1]) ; +# case "FREEBSD" : +# create-empty-object $(target) : $(sources[1]) ; +# case "*" : +# errors.error "Cannot process RC files for OS=$(OS)" ; +# } +} + + +actions quietly resource-compile-nt +{ + rc /i "$(>:D)" /fo "$(<)" "$(>)" +} + +actions quietly resource-compile-mingw +{ + windres -D__WINDRES__ -o "$(<)" -i "$(>)" +} + +actions quietly resource-compile-cygwin +{ + windres -D__WINDRES__ --include-dir "$(>:D)" -o "$(<)" -i "$(>)" +} + +actions quietly create-empty-object +{ + as /dev/null -o "$(<)" +} + +# Since it's a common practice to write +# exe hello : hello.cpp hello.rc +# we change the name of object created from RC file, to +# avoid conflict with hello.cpp. +generators.register-standard rc-mingw.resource-compile : RC : OBJ(%_res) ; diff --git a/base/shell/explorer-old/res/action.ico b/base/shell/explorer-old/res/action.ico new file mode 100644 index 00000000000..0403934c2a2 Binary files /dev/null and b/base/shell/explorer-old/res/action.ico differ diff --git a/base/shell/explorer-old/res/administration.ico b/base/shell/explorer-old/res/administration.ico new file mode 100644 index 00000000000..40fa3102bbe Binary files /dev/null and b/base/shell/explorer-old/res/administration.ico differ diff --git a/base/shell/explorer-old/res/appicon.ico b/base/shell/explorer-old/res/appicon.ico new file mode 100644 index 00000000000..233a1379187 Binary files /dev/null and b/base/shell/explorer-old/res/appicon.ico differ diff --git a/base/shell/explorer-old/res/apps.ico b/base/shell/explorer-old/res/apps.ico new file mode 100644 index 00000000000..4a13b948586 Binary files /dev/null and b/base/shell/explorer-old/res/apps.ico differ diff --git a/base/shell/explorer-old/res/arrow.ico b/base/shell/explorer-old/res/arrow.ico new file mode 100644 index 00000000000..f170de0d77e Binary files /dev/null and b/base/shell/explorer-old/res/arrow.ico differ diff --git a/base/shell/explorer-old/res/arrow_dwn.ico b/base/shell/explorer-old/res/arrow_dwn.ico new file mode 100644 index 00000000000..0932f7f3a59 Binary files /dev/null and b/base/shell/explorer-old/res/arrow_dwn.ico differ diff --git a/base/shell/explorer-old/res/arrow_up.ico b/base/shell/explorer-old/res/arrow_up.ico new file mode 100644 index 00000000000..9e2ee4cd376 Binary files /dev/null and b/base/shell/explorer-old/res/arrow_up.ico differ diff --git a/base/shell/explorer-old/res/arrowsel.ico b/base/shell/explorer-old/res/arrowsel.ico new file mode 100644 index 00000000000..fbf05f41b4c Binary files /dev/null and b/base/shell/explorer-old/res/arrowsel.ico differ diff --git a/base/shell/explorer-old/res/computer.ico b/base/shell/explorer-old/res/computer.ico new file mode 100644 index 00000000000..56edfcbb2af Binary files /dev/null and b/base/shell/explorer-old/res/computer.ico differ diff --git a/base/shell/explorer-old/res/config.ico b/base/shell/explorer-old/res/config.ico new file mode 100644 index 00000000000..25a18e992aa Binary files /dev/null and b/base/shell/explorer-old/res/config.ico differ diff --git a/base/shell/explorer-old/res/control-panel.ico b/base/shell/explorer-old/res/control-panel.ico new file mode 100644 index 00000000000..9b01c4995ba Binary files /dev/null and b/base/shell/explorer-old/res/control-panel.ico differ diff --git a/base/shell/explorer-old/res/desktop-settings.ico b/base/shell/explorer-old/res/desktop-settings.ico new file mode 100644 index 00000000000..3269f2d8f6c Binary files /dev/null and b/base/shell/explorer-old/res/desktop-settings.ico differ diff --git a/base/shell/explorer-old/res/documents.ico b/base/shell/explorer-old/res/documents.ico new file mode 100644 index 00000000000..e2e6a9b6bcf Binary files /dev/null and b/base/shell/explorer-old/res/documents.ico differ diff --git a/base/shell/explorer-old/res/dot.ico b/base/shell/explorer-old/res/dot.ico new file mode 100644 index 00000000000..9ddbb8a41c7 Binary files /dev/null and b/base/shell/explorer-old/res/dot.ico differ diff --git a/base/shell/explorer-old/res/dot_red.ico b/base/shell/explorer-old/res/dot_red.ico new file mode 100644 index 00000000000..4d176eef1d5 Binary files /dev/null and b/base/shell/explorer-old/res/dot_red.ico differ diff --git a/base/shell/explorer-old/res/dot_trans.ico b/base/shell/explorer-old/res/dot_trans.ico new file mode 100644 index 00000000000..d5ede5a3800 Binary files /dev/null and b/base/shell/explorer-old/res/dot_trans.ico differ diff --git a/base/shell/explorer-old/res/drivebar.bmp b/base/shell/explorer-old/res/drivebar.bmp new file mode 100644 index 00000000000..ec1c0519dc5 Binary files /dev/null and b/base/shell/explorer-old/res/drivebar.bmp differ diff --git a/base/shell/explorer-old/res/explorer.ico b/base/shell/explorer-old/res/explorer.ico new file mode 100644 index 00000000000..48b14f2043a Binary files /dev/null and b/base/shell/explorer-old/res/explorer.ico differ diff --git a/base/shell/explorer-old/res/favorites.ico b/base/shell/explorer-old/res/favorites.ico new file mode 100644 index 00000000000..2912a8c62a1 Binary files /dev/null and b/base/shell/explorer-old/res/favorites.ico differ diff --git a/base/shell/explorer-old/res/floating.ico b/base/shell/explorer-old/res/floating.ico new file mode 100644 index 00000000000..bbb19608d5a Binary files /dev/null and b/base/shell/explorer-old/res/floating.ico differ diff --git a/base/shell/explorer-old/res/folder.ico b/base/shell/explorer-old/res/folder.ico new file mode 100644 index 00000000000..fd606d91d7b Binary files /dev/null and b/base/shell/explorer-old/res/folder.ico differ diff --git a/base/shell/explorer-old/res/icoali10.bmp b/base/shell/explorer-old/res/icoali10.bmp new file mode 100644 index 00000000000..eb29b24c6b6 Binary files /dev/null and b/base/shell/explorer-old/res/icoali10.bmp differ diff --git a/base/shell/explorer-old/res/icoalig0.bmp b/base/shell/explorer-old/res/icoalig0.bmp new file mode 100644 index 00000000000..0fb9e324877 Binary files /dev/null and b/base/shell/explorer-old/res/icoalig0.bmp differ diff --git a/base/shell/explorer-old/res/icoalig1.bmp b/base/shell/explorer-old/res/icoalig1.bmp new file mode 100644 index 00000000000..3ae36488cdf Binary files /dev/null and b/base/shell/explorer-old/res/icoalig1.bmp differ diff --git a/base/shell/explorer-old/res/icoalig2.bmp b/base/shell/explorer-old/res/icoalig2.bmp new file mode 100644 index 00000000000..f5064423e5f Binary files /dev/null and b/base/shell/explorer-old/res/icoalig2.bmp differ diff --git a/base/shell/explorer-old/res/icoalig3.bmp b/base/shell/explorer-old/res/icoalig3.bmp new file mode 100644 index 00000000000..34fe98fa8f0 Binary files /dev/null and b/base/shell/explorer-old/res/icoalig3.bmp differ diff --git a/base/shell/explorer-old/res/icoalig4.bmp b/base/shell/explorer-old/res/icoalig4.bmp new file mode 100644 index 00000000000..2ceaf8bfe9d Binary files /dev/null and b/base/shell/explorer-old/res/icoalig4.bmp differ diff --git a/base/shell/explorer-old/res/icoalig5.bmp b/base/shell/explorer-old/res/icoalig5.bmp new file mode 100644 index 00000000000..5d38cd319e8 Binary files /dev/null and b/base/shell/explorer-old/res/icoalig5.bmp differ diff --git a/base/shell/explorer-old/res/icoalig6.bmp b/base/shell/explorer-old/res/icoalig6.bmp new file mode 100644 index 00000000000..654da49cc00 Binary files /dev/null and b/base/shell/explorer-old/res/icoalig6.bmp differ diff --git a/base/shell/explorer-old/res/icoalig7.bmp b/base/shell/explorer-old/res/icoalig7.bmp new file mode 100644 index 00000000000..8e0942009b7 Binary files /dev/null and b/base/shell/explorer-old/res/icoalig7.bmp differ diff --git a/base/shell/explorer-old/res/icoalig8.bmp b/base/shell/explorer-old/res/icoalig8.bmp new file mode 100644 index 00000000000..03c49b0e273 Binary files /dev/null and b/base/shell/explorer-old/res/icoalig8.bmp differ diff --git a/base/shell/explorer-old/res/icoalig9.bmp b/base/shell/explorer-old/res/icoalig9.bmp new file mode 100644 index 00000000000..0e8fb8acfce Binary files /dev/null and b/base/shell/explorer-old/res/icoalig9.bmp differ diff --git a/base/shell/explorer-old/res/images.bmp b/base/shell/explorer-old/res/images.bmp new file mode 100644 index 00000000000..ff9f97a0a7a Binary files /dev/null and b/base/shell/explorer-old/res/images.bmp differ diff --git a/base/shell/explorer-old/res/info.ico b/base/shell/explorer-old/res/info.ico new file mode 100644 index 00000000000..45f2055faaf Binary files /dev/null and b/base/shell/explorer-old/res/info.ico differ diff --git a/base/shell/explorer-old/res/logoff.ico b/base/shell/explorer-old/res/logoff.ico new file mode 100644 index 00000000000..da3c571d66a Binary files /dev/null and b/base/shell/explorer-old/res/logoff.ico differ diff --git a/base/shell/explorer-old/res/logov.bmp b/base/shell/explorer-old/res/logov.bmp new file mode 100644 index 00000000000..109246c0bc7 Binary files /dev/null and b/base/shell/explorer-old/res/logov.bmp differ diff --git a/base/shell/explorer-old/res/logov.psd b/base/shell/explorer-old/res/logov.psd new file mode 100644 index 00000000000..90712ff847e Binary files /dev/null and b/base/shell/explorer-old/res/logov.psd differ diff --git a/base/shell/explorer-old/res/logov16.bmp b/base/shell/explorer-old/res/logov16.bmp new file mode 100644 index 00000000000..1fb37cd8026 Binary files /dev/null and b/base/shell/explorer-old/res/logov16.bmp differ diff --git a/base/shell/explorer-old/res/logov256.bmp b/base/shell/explorer-old/res/logov256.bmp new file mode 100644 index 00000000000..87ad7f214dc Binary files /dev/null and b/base/shell/explorer-old/res/logov256.bmp differ diff --git a/base/shell/explorer-old/res/mdi.bmp b/base/shell/explorer-old/res/mdi.bmp new file mode 100644 index 00000000000..92e550ada9e Binary files /dev/null and b/base/shell/explorer-old/res/mdi.bmp differ diff --git a/base/shell/explorer-old/res/minimize.ico b/base/shell/explorer-old/res/minimize.ico new file mode 100644 index 00000000000..792718f87e9 Binary files /dev/null and b/base/shell/explorer-old/res/minimize.ico differ diff --git a/base/shell/explorer-old/res/network-conns.ico b/base/shell/explorer-old/res/network-conns.ico new file mode 100644 index 00000000000..da50640cd3d Binary files /dev/null and b/base/shell/explorer-old/res/network-conns.ico differ diff --git a/base/shell/explorer-old/res/network.ico b/base/shell/explorer-old/res/network.ico new file mode 100644 index 00000000000..37f32e8e10b Binary files /dev/null and b/base/shell/explorer-old/res/network.ico differ diff --git a/base/shell/explorer-old/res/notify_l.ico b/base/shell/explorer-old/res/notify_l.ico new file mode 100644 index 00000000000..b50d1e73b43 Binary files /dev/null and b/base/shell/explorer-old/res/notify_l.ico differ diff --git a/base/shell/explorer-old/res/notify_r.ico b/base/shell/explorer-old/res/notify_r.ico new file mode 100644 index 00000000000..e4900ac69b6 Binary files /dev/null and b/base/shell/explorer-old/res/notify_r.ico differ diff --git a/base/shell/explorer-old/res/printer.ico b/base/shell/explorer-old/res/printer.ico new file mode 100644 index 00000000000..fa25f89ddd3 Binary files /dev/null and b/base/shell/explorer-old/res/printer.ico differ diff --git a/base/shell/explorer-old/res/reactos.ico b/base/shell/explorer-old/res/reactos.ico new file mode 100644 index 00000000000..0ce1dd360f3 Binary files /dev/null and b/base/shell/explorer-old/res/reactos.ico differ diff --git a/base/shell/explorer-old/res/recent-documents.ico b/base/shell/explorer-old/res/recent-documents.ico new file mode 100644 index 00000000000..b3b1d4b57fd Binary files /dev/null and b/base/shell/explorer-old/res/recent-documents.ico differ diff --git a/base/shell/explorer-old/res/restart.ico b/base/shell/explorer-old/res/restart.ico new file mode 100644 index 00000000000..9a9ee38c356 Binary files /dev/null and b/base/shell/explorer-old/res/restart.ico differ diff --git a/base/shell/explorer-old/res/ros-big.ico b/base/shell/explorer-old/res/ros-big.ico new file mode 100644 index 00000000000..e6b5b5f2bb9 Binary files /dev/null and b/base/shell/explorer-old/res/ros-big.ico differ diff --git a/base/shell/explorer-old/res/sdi.bmp b/base/shell/explorer-old/res/sdi.bmp new file mode 100644 index 00000000000..2de2710ba42 Binary files /dev/null and b/base/shell/explorer-old/res/sdi.bmp differ diff --git a/base/shell/explorer-old/res/search-doc.ico b/base/shell/explorer-old/res/search-doc.ico new file mode 100644 index 00000000000..2bf74abc40c Binary files /dev/null and b/base/shell/explorer-old/res/search-doc.ico differ diff --git a/base/shell/explorer-old/res/search.ico b/base/shell/explorer-old/res/search.ico new file mode 100644 index 00000000000..c41842e3bf4 Binary files /dev/null and b/base/shell/explorer-old/res/search.ico differ diff --git a/base/shell/explorer-old/res/shutdown.ico b/base/shell/explorer-old/res/shutdown.ico new file mode 100644 index 00000000000..ee4fce42b0f Binary files /dev/null and b/base/shell/explorer-old/res/shutdown.ico differ diff --git a/base/shell/explorer-old/res/speaker.ico b/base/shell/explorer-old/res/speaker.ico new file mode 100644 index 00000000000..dcc607f33da Binary files /dev/null and b/base/shell/explorer-old/res/speaker.ico differ diff --git a/base/shell/explorer-old/res/startmenu.ico b/base/shell/explorer-old/res/startmenu.ico new file mode 100644 index 00000000000..b0c5059f3d8 Binary files /dev/null and b/base/shell/explorer-old/res/startmenu.ico differ diff --git a/base/shell/explorer-old/res/toolbar.bmp b/base/shell/explorer-old/res/toolbar.bmp new file mode 100644 index 00000000000..21c8055ce43 Binary files /dev/null and b/base/shell/explorer-old/res/toolbar.bmp differ diff --git a/base/shell/explorer-old/resource.h b/base/shell/explorer-old/resource.h new file mode 100644 index 00000000000..368e5df1c80 --- /dev/null +++ b/base/shell/explorer-old/resource.h @@ -0,0 +1,240 @@ +#pragma once + +#define MANIFEST_RESOURCE_ID 1 + +#define IDS_TITLE 1 +#define IDS_START 2 +#define IDS_LOGOFF 3 +#define IDS_SHUTDOWN 4 +#define IDS_LAUNCH 5 +#define IDS_START_HELP 6 +#define IDS_SEARCH_FILES 7 +#define IDS_DOCUMENTS 8 +#define IDS_FAVORITES 9 +#define IDS_PROGRAMS 10 +#define IDS_SETTINGS 11 +#define IDS_EXPLORE 12 +#define IDS_EMPTY 13 +#define IDS_RECENT 14 +#define IDS_ADMIN 15 +#define IDS_NETWORK 16 +#define IDS_CONNECTIONS 17 +#define IDS_DRIVES 18 +#define IDS_SEARCH_COMPUTER 19 +#define IDS_SETTINGS_MENU 20 +#define IDS_CONTROL_PANEL 21 +#define IDS_PRINTERS 22 +#define IDS_BROWSE 23 +#define IDS_SEARCH_PRG 24 +#define IDS_ALL_USERS 25 +#define IDS_SEARCH 26 +#define IDS_ABOUT_EXPLORER 27 +#define IDS_LAUNCH_MANY_PROGRAMS 28 +#define IDS_DESKTOPBAR_SETTINGS 29 +#define IDS_DESKTOP 30 +#define IDS_TASKBAR 31 +#define IDS_STARTMENU 32 +#define IDS_MINIMIZE_ALL 33 +#define IDS_DESKTOP_NUM 34 +#define IDS_VOLUME 35 +#define IDS_ITEMS_CUR 36 +#define IDS_ITEMS_CONFIGURED 37 +#define IDS_ITEMS_VISIBLE 38 +#define IDS_ITEMS_HIDDEN 39 +#define IDS_NOTIFY_SHOW 40 +#define IDS_NOTIFY_HIDE 41 +#define IDS_NOTIFY_AUTOHIDE 42 +#define IDS_SHOW_HIDDEN_ICONS 43 +#define IDS_HIDE_ICONS 44 +#define IDS_TERMINATE 45 +#define IDS_RESTART 46 +#define IDS_NAMECOLUMN 47 +#define IDS_PATHCOLUMN 48 +#define IDS_MENUCOLUMN 49 + +#define IDI_COMPUTER 100 +#define IDI_EXPLORER 101 +#define IDI_STARTMENU 102 +#define IDB_TOOLBAR 103 +#define IDA_EXPLORER 104 +#define ID_ACTIVATE 105 +#define IDD_SEARCH_PROGRAM 105 +#define IDB_DRIVEBAR 106 +#define IDD_DESKBAR_DESKTOP 106 +#define IDB_IMAGES 107 +#define IDD_EXECUTE 108 +#define IDR_MAINFRAME 109 +#define IDM_MDIFRAME 110 +#define ID_EXECUTE 111 +#define IDM_SDIFRAME 113 +#define IDI_LOGOFF 124 +#define IDI_FOLDERARROW 125 +#define IDI_ARROW 125 +#define IDI_ARROW_SELECTED 126 +#define IDI_SHUTDOWN 127 +#define IDB_LOGOV 129 +#define IDB_LOGOV256 130 +#define IDA_SEARCH_PROGRAM 133 +#define IDI_APPICON 134 +#define IDA_TRAYNOTIFY 134 +#define IDI_FLOATING 135 +#define IDD_ABOUT_EXPLORER 135 +#define IDI_REACTOS_BIG 137 +#define IDI_DOCUMENTS 138 +#define IDI_CONFIG 139 +#define IDI_FAVORITES 140 +#define IDI_INFO 141 +#define IDI_APPS 142 +#define IDI_SEARCH 143 +#define IDI_ACTION 144 +#define IDI_FOLDER 145 +#define IDI_SEARCH_DOC 146 +#define IDI_PRINTER 147 +#define IDI_NETWORK 148 +#define IDI_REACTOS 149 +#define IDM_DESKTOPBAR 150 +#define IDM_VOLUME 151 +#define IDM_NOTIFYAREA 152 +#define IDD_DESKBAR_TASKBAR 153 +#define IDB_ICON_ALIGN_0 153 +#define IDD_DESKBAR_STARTMENU 154 +#define IDB_ICON_ALIGN_1 154 +#define IDB_ICON_ALIGN_2 155 +#define IDD_NOTIFYAREA 155 +#define IDB_ICON_ALIGN_3 156 +#define IDD_MDI_SDI 156 +#define IDB_ICON_ALIGN_4 157 +#define IDB_ICON_ALIGN_5 158 +#define IDB_ICON_ALIGN_6 159 +#define IDB_ICON_ALIGN_7 160 +#define IDB_ICON_ALIGN_8 161 +#define IDB_ICON_ALIGN_9 162 +#define IDI_SPEAKER 162 +#define IDB_ICON_ALIGN_10 163 +#define IDI_DOT 163 +#define IDB_LOGOV16 164 +#define IDI_DOT_TRANS 164 +#define IDI_DOT_RED 165 +#define IDI_ARROW_UP 166 +#define IDI_ARROW_DOWN 167 +#define IDI_NOTIFY_L 168 +#define IDI_NOTIFY_R 169 +#define IDB_MDI 170 +#define IDB_SDI 171 +#define IDI_MINIMIZE 172 +#define IDI_CONTROLPAN 173 +#define IDI_DESKSETTING 174 +#define IDI_NETCONNS 175 +#define IDI_ADMIN 176 +#define IDI_RECENT 178 +#define IDI_RESTART 179 + +#define ID_VIEW_NAME 401 +#define ID_VIEW_ALL_ATTRIBUTES 402 +#define ID_VIEW_SELECTED_ATTRIBUTES 403 + +#define ID_VIEW_STATUSBAR 503 +#define ID_VIEW_DRIVE_BAR 507 +#define ID_VIEW_TOOL_BAR 508 +#define ID_VIEW_EXTRA_BAR 509 +#define ID_VIEW_SIDE_BAR 510 + +#define IDC_ROS_EXPLORER 1000 +#define IDC_ICON_ALIGN_0 1002 +#define IDC_ICON_ALIGN_1 1003 +#define IDC_NOTIFY_ICONS 1003 +#define IDC_ICON_ALIGN_2 1004 +#define IDC_ICON_ALIGN_3 1005 +#define IDC_ICON_ALIGN_4 1006 +#define IDC_NOTIFY_TOOLTIP 1006 +#define IDC_ICON_ALIGN_5 1007 +#define IDC_NOTIFY_TITLE 1007 +#define IDC_ICON_ALIGN_6 1008 +#define IDC_NOTIFY_MODULE 1008 +#define IDC_ICON_ALIGN_7 1009 +#define IDC_LABEL1 1009 +#define IDC_ICON_ALIGN_8 1010 +#define IDC_LABEL2 1010 +#define IDC_ICON_ALIGN_9 1011 +#define IDC_LABEL3 1011 +#define IDC_ICON_ALIGN_10 1012 +#define IDC_WWW 1012 +#define IDC_LABEL6 1012 +#define IDC_ICON_ALIGN_11 1013 +#define IDC_LAST_CHANGE 1013 +#define IDC_FILTER 1017 +#define IDC_PROGRAMS_FOUND 1018 +#define IDC_PICTURE 1019 +#define IDC_NOTIFY_SHOW 1020 +#define IDC_NOTIFY_HIDE 1021 +#define IDC_NOTIFY_AUTOHIDE 1022 +#define IDC_LABEL4 1023 +#define ID_HIDE_INACTIVE_ICONS 1025 +#define ID_SHOW_CLOCK 1026 +#define ID_DESKTOP_VERSION 1027 +#define IDC_BUTTON1 1028 +#define IDC_CHECK_ENTRIES 1028 +#define IDC_VERSION_TXT 1029 +#define IDC_WIN_VERSION 1030 +#define IDC_MDI 1030 +#define IDC_SDI 1031 +#define IDC_SEPARATE_SUBFOLDERS 1034 + +#define ID_REFRESH 1704 + +#define IDS_VERSION_STR 5000 +#define IDS_EXPLORER_VERSION_STR 5001 + +#define IDC_FILETREE 10001 +#define ID_EXPLORER_FAQ 10002 +#define ID_WEB_WINDOW 10003 + +#define ID_WINDOW_AUTOSORT 0x8003 +#define ID_VIEW_FULLSCREEN 0x8004 +#define ID_PREFERED_SIZES 0x8005 +#define ID_DRIVE_DESKTOP 0x9000 +#define ID_DRIVE_SHELL_NS 0x9001 +#define ID_DRIVE_UNIX_FS 0x9002 +#define ID_DRIVE_NTOBJ_NS 0x9003 +#define ID_DRIVE_REGISTRY 0x9004 +#define ID_DRIVE_FAT 0x9005 +#define ID_DRIVE_FIRST 0x9006 + +#define ID_ABOUT_WINDOWS 40002 +#define ID_ABOUT_EXPLORER 40003 +#define ID_DESKTOPBAR_SETTINGS 40004 +#define ID_GO_BACK 40005 +#define ID_GO_FORWARD 40006 +#define ID_GO_HOME 40007 +#define ID_GO_SEARCH 40008 +#define ID_GO_UP 40009 +#define ID_STOP 40010 +#define ID_MINIMIZE_ALL 40011 +#define ID_EXPLORE 40012 +#define ID_TASKMGR 40013 +#define ID_TRAY_VOLUME 40014 +#define ID_VOLUME_PROPERTIES 40015 +#define ID_SHOW_HIDDEN_ICONS 40016 +#define ID_CONFIG_NOTIFYAREA 40017 +#define ID_CONFIG_TIME 40018 +#define ID_VIEW_MDI 40019 +#define ID_VIEW_SDI 40020 +#define ID_TOOLS_OPTIONS 40021 +#define ID_SHOW_ICON_BUTTON 40023 + +#define ID_SWITCH_DESKTOP_1 50000 + +#define ID_WINDOW_NEW 0xE130 +#define ID_WINDOW_ARRANGE 0xE131 +#define ID_WINDOW_CASCADE 0xE132 +#define ID_WINDOW_TILE_HORZ 0xE133 +#define ID_WINDOW_TILE_VERT 0xE134 +#define ID_WINDOW_SPLIT 0xE135 + +#define ID_EDIT_PROPERTIES 57656 + +#define ID_FILE_EXIT 0xE141 +#define ID_HELP_USING 0xE144 +#define ID_HELP 0xE146 + +#define IDC_STATIC -1 diff --git a/base/shell/explorer-old/rosshell.dsp b/base/shell/explorer-old/rosshell.dsp new file mode 100644 index 00000000000..9130737980b --- /dev/null +++ b/base/shell/explorer-old/rosshell.dsp @@ -0,0 +1,608 @@ +# Microsoft Developer Studio Project File - Name="rosshell" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=rosshell - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "rosshell.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "rosshell.mak" CFG="rosshell - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "rosshell - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "rosshell - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE "rosshell - Win32 Debug Release" (based on "Win32 (x86) Console Application") +!MESSAGE "rosshell - Win32 Unicode Release" (based on "Win32 (x86) Console Application") +!MESSAGE "rosshell - Win32 Unicode Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "rosshell - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GR /GX /O1 /D "NDEBUG" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /D "ROSSHELL" /Yu"precomp.h" /FD /c +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /machine:I386 /libpath:"Release" /delayload:oleaut32.dll /delayload:wsock32.dll +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "rosshell - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /D "ROSSHELL" /FR /Yu"precomp.h" /FD /GZ /c +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /libpath:"Debug" /delayload:oleaut32.dll /delayload:wsock32.dll +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "rosshell - Win32 Debug Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "DRelease" +# PROP BASE Intermediate_Dir "DRelease" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "DRelease" +# PROP Intermediate_Dir "DRelease" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_ROS_" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GR /GX /Zi /O2 /D "NDEBUG" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /D "ROSSHELL" /FR /Yu"precomp.h" /FD /c +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib comctl32.lib shell32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /debug /machine:I386 /delayload:oleaut32.dll /delayload:wsock32.dll +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "rosshell - Win32 Unicode Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "URelease" +# PROP BASE Intermediate_Dir "URelease" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "URelease" +# PROP Intermediate_Dir "URelease" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "UNICODE" /D "_ROS_" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GR /GX /O2 /D "NDEBUG" /D "UNICODE" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /D "ROSSHELL" /Yu"precomp.h" /FD /c +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib comctl32.lib shell32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /machine:I386 /libpath:"Release" /delayload:oleaut32.dll /delayload:wsock32.dll +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "rosshell - Win32 Unicode Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "UDebug" +# PROP BASE Intermediate_Dir "UDebug" +# PROP BASE Ignore_Export_Lib 0 +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "UDebug" +# PROP Intermediate_Dir "UDebug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "UNICODE" /D "_ROS_" /FR /YX /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GR /GX /ZI /Od /D "_DEBUG" /D "UNICODE" /D "WIN32" /D _WIN32_IE=0x0600 /D _WIN32_WINNT=0x0501 /D "ROSSHELL" /FR /Yu"precomp.h" /FD /GZ /c +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 user32.lib gdi32.lib advapi32.lib comctl32.lib shell32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 shell32.lib comctl32.lib gdi32.lib user32.lib advapi32.lib ole32.lib delayimp.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /libpath:"Debug" /delayload:oleaut32.dll /delayload:wsock32.dll +# SUBTRACT LINK32 /pdb:none + +!ENDIF + +# Begin Target + +# Name "rosshell - Win32 Release" +# Name "rosshell - Win32 Debug" +# Name "rosshell - Win32 Debug Release" +# Name "rosshell - Win32 Unicode Release" +# Name "rosshell - Win32 Unicode Debug" +# Begin Group "utility" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\utility\dragdropimpl.cpp +# End Source File +# Begin Source File + +SOURCE=.\utility\dragdropimpl.h +# End Source File +# Begin Source File + +SOURCE=.\utility\shellbrowserimpl.cpp +# End Source File +# Begin Source File + +SOURCE=.\utility\shellbrowserimpl.h +# End Source File +# Begin Source File + +SOURCE=.\utility\shellclasses.cpp +# End Source File +# Begin Source File + +SOURCE=.\utility\shellclasses.h +# End Source File +# Begin Source File + +SOURCE=.\utility\treedroptarget.h +# End Source File +# Begin Source File + +SOURCE=.\utility\utility.cpp +# End Source File +# Begin Source File + +SOURCE=.\utility\utility.h +# End Source File +# Begin Source File + +SOURCE=.\utility\window.cpp +# End Source File +# Begin Source File + +SOURCE=.\utility\window.h +# End Source File +# Begin Source File + +SOURCE=.\utility\xmlstorage.cpp +# End Source File +# Begin Source File + +SOURCE=.\utility\xmlstorage.h +# End Source File +# End Group +# Begin Group "resources" + +# PROP Default_Filter "bmp,ico" +# Begin Source File + +SOURCE=.\res\action.ico +# End Source File +# Begin Source File + +SOURCE=.\res\appicon.ico +# End Source File +# Begin Source File + +SOURCE=.\res\apps.ico +# End Source File +# Begin Source File + +SOURCE=.\res\arrow.ico +# End Source File +# Begin Source File + +SOURCE=.\res\arrow_dwn.ico +# End Source File +# Begin Source File + +SOURCE=.\res\arrow_up.ico +# End Source File +# Begin Source File + +SOURCE=.\res\arrowsel.ico +# End Source File +# Begin Source File + +SOURCE=.\res\computer.ico +# End Source File +# Begin Source File + +SOURCE=.\res\config.ico +# End Source File +# Begin Source File + +SOURCE=.\res\documents.ico +# End Source File +# Begin Source File + +SOURCE=.\res\dot.ico +# End Source File +# Begin Source File + +SOURCE=.\res\dot_red.ico +# End Source File +# Begin Source File + +SOURCE=.\res\dot_trans.ico +# End Source File +# Begin Source File + +SOURCE=.\res\drivebar.bmp +# End Source File +# Begin Source File + +SOURCE=".\explorer-jp.rc" +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=.\res\explorer.ico +# End Source File +# Begin Source File + +SOURCE=.\resource.h +# End Source File +# Begin Source File + +SOURCE=.\explorer_intres.rc +# End Source File +# Begin Source File + +SOURCE=.\res\favorites.ico +# End Source File +# Begin Source File + +SOURCE=.\res\floating.ico +# End Source File +# Begin Source File + +SOURCE=.\res\folder.ico +# End Source File +# Begin Source File + +SOURCE=.\res\icoali10.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig0.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig1.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig2.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig3.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig4.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig5.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig6.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig7.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig8.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\icoalig9.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\images.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\info.ico +# End Source File +# Begin Source File + +SOURCE=.\res\logoff.ico +# End Source File +# Begin Source File + +SOURCE=.\res\logov.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\logov16.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\logov256.bmp +# End Source File +# Begin Source File + +SOURCE=.\res\network.ico +# End Source File +# Begin Source File + +SOURCE=.\res\notify_l.ico +# End Source File +# Begin Source File + +SOURCE=.\res\notify_r.ico +# End Source File +# Begin Source File + +SOURCE=.\res\printer.ico +# End Source File +# Begin Source File + +SOURCE=.\res\reactos.ico +# End Source File +# Begin Source File + +SOURCE=".\res\ros-big.ico" +# End Source File +# Begin Source File + +SOURCE=".\res\search-doc.ico" +# End Source File +# Begin Source File + +SOURCE=.\res\search.ico +# End Source File +# Begin Source File + +SOURCE=.\res\speaker.ico +# End Source File +# Begin Source File + +SOURCE=.\res\startmenu.ico +# End Source File +# End Group +# Begin Group "taskbar" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\taskbar\desktopbar.cpp +# End Source File +# Begin Source File + +SOURCE=.\taskbar\desktopbar.h +# End Source File +# Begin Source File + +SOURCE=.\taskbar\favorites.cpp +# End Source File +# Begin Source File + +SOURCE=.\taskbar\favorites.h +# End Source File +# Begin Source File + +SOURCE=.\notifyhook\notifyhook.h +# End Source File +# Begin Source File + +SOURCE=.\taskbar\quicklaunch.cpp +# End Source File +# Begin Source File + +SOURCE=.\taskbar\quicklaunch.h +# End Source File +# Begin Source File + +SOURCE=.\taskbar\startmenu.cpp +# End Source File +# Begin Source File + +SOURCE=.\taskbar\startmenu.h +# End Source File +# Begin Source File + +SOURCE=.\taskbar\taskbar.cpp +# End Source File +# Begin Source File + +SOURCE=.\taskbar\taskbar.h +# End Source File +# Begin Source File + +SOURCE=.\taskbar\traynotify.cpp +# End Source File +# Begin Source File + +SOURCE=.\taskbar\traynotify.h +# End Source File +# End Group +# Begin Group "desktop" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\desktop\desktop.cpp +# End Source File +# Begin Source File + +SOURCE=.\desktop\desktop.h +# End Source File +# End Group +# Begin Group "shell" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\shell\entries.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\entries.h +# End Source File +# Begin Source File + +SOURCE=.\shell\filechild.h +# End Source File +# Begin Source File + +SOURCE=.\shell\pane.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\pane.h +# End Source File +# Begin Source File + +SOURCE=.\shell\shellbrowser.h +# End Source File +# Begin Source File + +SOURCE=.\shell\shellfs.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\shellfs.h +# End Source File +# Begin Source File + +SOURCE=.\shell\winfs.cpp +# End Source File +# Begin Source File + +SOURCE=.\shell\winfs.h +# End Source File +# End Group +# Begin Group "dialogs" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\dialogs\searchprogram.cpp +# End Source File +# Begin Source File + +SOURCE=.\dialogs\searchprogram.h +# End Source File +# Begin Source File + +SOURCE=.\dialogs\settings.cpp +# End Source File +# Begin Source File + +SOURCE=.\dialogs\settings.h +# End Source File +# End Group +# Begin Group "main" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\explorer.cpp +# End Source File +# Begin Source File + +SOURCE=.\explorer.h +# End Source File +# Begin Source File + +SOURCE=.\externals.h +# End Source File +# Begin Source File + +SOURCE=.\globals.h +# End Source File +# Begin Source File + +SOURCE=".\i386-stub-win32.c" +# SUBTRACT CPP /YX /Yc /Yu +# End Source File +# Begin Source File + +SOURCE=.\precomp.cpp +# ADD CPP /Yc"precomp.h" +# End Source File +# Begin Source File + +SOURCE=.\precomp.h +# End Source File +# End Group +# Begin Group "services" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=.\services\shellservices.cpp +# End Source File +# Begin Source File + +SOURCE=.\services\shellservices.h +# End Source File +# Begin Source File + +SOURCE=.\services\startup.c +# SUBTRACT CPP /YX /Yc /Yu +# End Source File +# End Group +# End Target +# End Project diff --git a/base/shell/explorer-old/rosshell.dsw b/base/shell/explorer-old/rosshell.dsw new file mode 100644 index 00000000000..a4b210436b6 --- /dev/null +++ b/base/shell/explorer-old/rosshell.dsw @@ -0,0 +1,56 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "rosshell"=.\rosshell.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name notifyhook + End Project Dependency +}}} + +############################################################################### + +Project: "make_rosshell"=.\make_rosshell.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "notifyhook"=.\notifyhook\notifyhook.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/base/shell/explorer-old/services/shellservices.cpp b/base/shell/explorer-old/services/shellservices.cpp new file mode 100644 index 00000000000..d1b7d968d93 --- /dev/null +++ b/base/shell/explorer-old/services/shellservices.cpp @@ -0,0 +1,97 @@ +/* + * Copyright 2005 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // shellservices.cpp + // + // Martin Fuchs, 28.03.2005 + // + + +#include + +#include "shellservices.h" + + +int SSOThread::Run() +{ + ComInit usingCOM(COINIT_APARTMENTTHREADED|COINIT_DISABLE_OLE1DDE|COINIT_SPEED_OVER_MEMORY); + + HKEY hkey; + CLSID clsid; + WCHAR name[MAX_PATH], value[MAX_PATH]; + + typedef vector*> SSOVector; + SSOVector sso_ptrs; + + if (!RegOpenKey(HKEY_LOCAL_MACHINE, TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\ShellServiceObjectDelayLoad"), &hkey)) { + for(int idx=0; ; ++idx) { + DWORD name_len = MAX_PATH; + DWORD value_len = sizeof(value); + + if (RegEnumValueW(hkey, idx, name, &name_len, 0, NULL, (LPBYTE)&value, &value_len)) + break; + + if (!_alive) + break; + + SIfacePtr* sso_ptr = new SIfacePtr; + + if (CLSIDFromString(value, &clsid) == NOERROR) { + if (SUCCEEDED(sso_ptr->CreateInstance(clsid, IID_IOleCommandTarget))) { + if (SUCCEEDED((*sso_ptr)->Exec(&CGID_ShellServiceObject, OLECMDID_NEW, OLECMDEXECOPT_DODEFAULT, NULL, NULL))) + sso_ptrs.push_back(sso_ptr); + } + } + } + + RegCloseKey(hkey); + } + + if (!sso_ptrs.empty()) { + MSG msg; + + while(_alive) { + if (MsgWaitForMultipleObjects(1, &_evtFinish, FALSE, INFINITE, QS_ALLINPUT) == WAIT_OBJECT_0+0) + break; // _evtFinish has been set. + + while(_alive) { + if (!PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) + break; + + if (msg.message == WM_QUIT) + break; + + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + + // shutdown all running Shell Service Objects + for(SSOVector::iterator it=sso_ptrs.begin(); it!=sso_ptrs.end(); ++it) { + SIfacePtr* sso_ptr = *it; + (*sso_ptr)->Exec(&CGID_ShellServiceObject, OLECMDID_SAVE, OLECMDEXECOPT_DODEFAULT, NULL, NULL); + delete sso_ptr; + } + } + + return 0; +} diff --git a/base/shell/explorer-old/services/shellservices.h b/base/shell/explorer-old/services/shellservices.h new file mode 100644 index 00000000000..4f881fcdf2c --- /dev/null +++ b/base/shell/explorer-old/services/shellservices.h @@ -0,0 +1,36 @@ +/* + * Copyright 2005 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // shellservices.h + // + // Martin Fuchs, 28.03.2005 + // + + + // launch start programs +extern "C" int startup(int argc, const char *argv[]); + + // load Shell Service Objects (volume control, printer/network icons, ...) +struct SSOThread : public Thread +{ + int Run(); +}; diff --git a/base/shell/explorer-old/services/startup.c b/base/shell/explorer-old/services/startup.c new file mode 100644 index 00000000000..875166ebf92 --- /dev/null +++ b/base/shell/explorer-old/services/startup.c @@ -0,0 +1,518 @@ +/* + * Copyright (C) 2002 Andreas Mohr + * Copyright (C) 2002 Shachar Shemesh + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* Based on the Wine "bootup" handler application + * + * This app handles the various "hooks" windows allows for applications to perform + * as part of the bootstrap process. Theses are roughly devided into three types. + * Knowledge base articles that explain this are 137367, 179365, 232487 and 232509. + * Also, 119941 has some info on grpconv.exe + * The operations performed are (by order of execution): + * + * Preboot (prior to fully loading the Windows kernel): + * - wininit.exe (rename operations left in wininit.ini - Win 9x only) + * - PendingRenameOperations (rename operations left in the registry - Win NT+ only) + * + * Startup (before the user logs in) + * - Services (NT, ?semi-synchronous?, not implemented yet) + * - HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce (9x, asynch) + * - HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices (9x, asynch) + * + * After log in + * - HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce (all, synch) + * - HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run (all, asynch) + * - HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run (all, asynch) + * - Startup folders (all, ?asynch?, no imp) + * - HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce (all, asynch) + * + * Somewhere in there is processing the RunOnceEx entries (also no imp) + * + * Bugs: + * - If a pending rename registry does not start with \??\ the entry is + * processed anyways. I'm not sure that is the Windows behaviour. + * - Need to check what is the windows behaviour when trying to delete files + * and directories that are read-only + * - In the pending rename registry processing - there are no traces of the files + * processed (requires translations from Unicode to Ansi). + */ + +#include +#include + +EXTERN_C HRESULT WINAPI SHCreateSessionKey(REGSAM samDesired, PHKEY phKey); + +/** + * Performs the rename operations dictated in %SystemRoot%\Wininit.ini. + * Returns FALSE if there was an error, or otherwise if all is ok. + */ +static BOOL wininit() +{ + return TRUE; +} + +static BOOL pendingRename() +{ + static const WCHAR ValueName[] = {'P','e','n','d','i','n','g', + 'F','i','l','e','R','e','n','a','m','e', + 'O','p','e','r','a','t','i','o','n','s',0}; + static const WCHAR SessionW[] = { 'S','y','s','t','e','m','\\', + 'C','u','r','r','e','n','t','C','o','n','t','r','o','l','S','e','t','\\', + 'C','o','n','t','r','o','l','\\', + 'S','e','s','s','i','o','n',' ','M','a','n','a','g','e','r',0}; + WCHAR *buffer=NULL; + const WCHAR *src=NULL, *dst=NULL; + DWORD dataLength=0; + HKEY hSession=NULL; + DWORD res; + + printf("Entered\n"); + + if ((res=RegOpenKeyExW(HKEY_LOCAL_MACHINE, SessionW, 0, KEY_ALL_ACCESS, &hSession)) + !=ERROR_SUCCESS) + { + if (res==ERROR_FILE_NOT_FOUND) + { + printf("The key was not found - skipping\n"); + res=TRUE; + } + else + { + printf("Couldn't open key, error %lu\n", res); + res=FALSE; + } + + goto end; + } + + res=RegQueryValueExW(hSession, ValueName, NULL, NULL /* The value type does not really interest us, as it is not + truely a REG_MULTI_SZ anyways */, + NULL, &dataLength); + if (res==ERROR_FILE_NOT_FOUND) + { + /* No value - nothing to do. Great! */ + printf("Value not present - nothing to rename\n"); + res=TRUE; + goto end; + } + + if (res!=ERROR_SUCCESS) + { + printf("Couldn't query value's length (%lu)\n", res); + res=FALSE; + goto end; + } + + buffer=malloc(dataLength); + if (buffer==NULL) + { + printf("Couldn't allocate %lu bytes for the value\n", dataLength); + res=FALSE; + goto end; + } + + res=RegQueryValueExW(hSession, ValueName, NULL, NULL, (LPBYTE)buffer, &dataLength); + if (res!=ERROR_SUCCESS) + { + printf("Couldn't query value after successfully querying before (%lu),\n" + "please report to wine-devel@winehq.org\n", res); + res=FALSE; + goto end; + } + + /* Make sure that the data is long enough and ends with two NULLs. This + * simplifies the code later on. + */ + if (dataLength<2*sizeof(buffer[0]) || + buffer[dataLength/sizeof(buffer[0])-1]!='\0' || + buffer[dataLength/sizeof(buffer[0])-2]!='\0') + { + printf("Improper value format - doesn't end with NULL\n"); + res=FALSE; + goto end; + } + + for(src=buffer; (src-buffer)*sizeof(src[0])0) + { + DWORD nValLength=nMaxValue, nDataLength=nMaxCmdLine; + DWORD type; + + --i; + + if ((res=RegEnumValueW(hkRun, i, szValue, &nValLength, 0, &type, + (LPBYTE)szCmdLine, &nDataLength))!=ERROR_SUCCESS) + { + printf("Couldn't read in value %lu - %ld\n", i, res); + + continue; + } + + /* safe mode - force to run if prefixed with asterisk */ + if (GetSystemMetrics(SM_CLEANBOOT) && (szValue[0] != L'*')) continue; + + if (bDelete && (res=RegDeleteValueW(hkRun, szValue))!=ERROR_SUCCESS) + { + printf("Couldn't delete value - %lu, %ld. Running command anyways.\n", i, res); + } + + if (type!=REG_SZ) + { + printf("Incorrect type of value #%lu (%lu)\n", i, type); + + continue; + } + + if ((res=runCmd(szCmdLine, NULL, bSynchronous, FALSE))==INVALID_RUNCMD_RETURN) + { + printf("Error running cmd #%lu (%ld)\n", i, GetLastError()); + } + + printf("Done processing cmd #%lu\n", i); + } + + free(szValue); + free(szCmdLine); + res=ERROR_SUCCESS; + +end: + if (hkRun!=NULL) + RegCloseKey(hkRun); + if (hkWin!=NULL) + RegCloseKey(hkWin); + + printf("done\n"); + + return res==ERROR_SUCCESS?TRUE:FALSE; +} + + /// structure holding startup flags +struct op_mask { + BOOL w9xonly; /* Perform only operations done on Windows 9x */ + BOOL ntonly; /* Perform only operations done on Windows NT */ + BOOL startup; /* Perform the operations that are performed every boot */ + BOOL preboot; /* Perform file renames typically done before the system starts */ + BOOL prelogin; /* Perform the operations typically done before the user logs in */ + BOOL postlogin; /* Operations done after login */ +}; + +static const struct op_mask + SESSION_START = {FALSE, FALSE, TRUE, TRUE, TRUE, TRUE}, + SETUP = {FALSE, FALSE, FALSE, TRUE, TRUE, TRUE}; +#define DEFAULT SESSION_START + +int startup(int argc, const char *argv[]) +{ + struct op_mask ops; /* Which of the ops do we want to perform? */ + /* First, set the current directory to SystemRoot */ + TCHAR gen_path[MAX_PATH]; + DWORD res; + HKEY hSessionKey, hKey; + HRESULT hr; + + res = GetWindowsDirectory(gen_path, sizeof(gen_path)); + + if (res==0) + { + printf("Couldn't get the windows directory - error %ld\n", + GetLastError()); + + return 100; + } + + if (!SetCurrentDirectory(gen_path)) + { + wprintf(L"Cannot set the dir to %s (%ld)\n", gen_path, GetLastError()); + + return 100; + } + + hr = SHCreateSessionKey(KEY_WRITE, &hSessionKey); + if (SUCCEEDED(hr)) + { + LONG Error; + DWORD dwDisp; + + Error = RegCreateKeyEx(hSessionKey, L"StartupHasBeenRun", 0, NULL, REG_OPTION_VOLATILE, KEY_WRITE, NULL, &hKey, &dwDisp); + RegCloseKey(hSessionKey); + if (Error == ERROR_SUCCESS) + { + RegCloseKey(hKey); + if (dwDisp == REG_OPENED_EXISTING_KEY) + { + /* Startup programs has already been run */ + return 0; + } + } + } + + if (argc > 1) + { + switch(argv[1][0]) + { + case 'r': /* Restart */ + ops = SETUP; + break; + case 's': /* Full start */ + ops = SESSION_START; + break; + default: + ops = DEFAULT; + break; + } + } else + ops = DEFAULT; + + /* do not run certain items in Safe Mode */ + if(GetSystemMetrics(SM_CLEANBOOT)) ops.startup = FALSE; + + /* Perform the ops by order, stopping if one fails, skipping if necessary */ + /* Shachar: Sorry for the perl syntax */ + res = TRUE; + if (res && !ops.ntonly && ops.preboot) + res = wininit(); + if (res && !ops.w9xonly && ops.preboot) + res = pendingRename(); + if (res && !ops.ntonly && ops.prelogin) + res = ProcessRunKeys(HKEY_LOCAL_MACHINE, runkeys_names[RUNKEY_RUNSERVICESONCE], TRUE, FALSE); + if (res && !ops.ntonly && ops.prelogin && ops.startup) + res = ProcessRunKeys(HKEY_LOCAL_MACHINE, runkeys_names[RUNKEY_RUNSERVICES], FALSE, FALSE); + if (res && ops.postlogin) + res = ProcessRunKeys(HKEY_LOCAL_MACHINE, runkeys_names[RUNKEY_RUNONCE], TRUE, TRUE); + if (res && ops.postlogin && ops.startup) + res = ProcessRunKeys(HKEY_LOCAL_MACHINE, runkeys_names[RUNKEY_RUN], FALSE, FALSE); + if (res && ops.postlogin && ops.startup) + res = ProcessRunKeys(HKEY_CURRENT_USER, runkeys_names[RUNKEY_RUN], FALSE, FALSE); + if (res && ops.postlogin && ops.startup) + res = ProcessRunKeys(HKEY_CURRENT_USER, runkeys_names[RUNKEY_RUNONCE], TRUE, FALSE); + + printf("Operation done\n"); + + return res ? 0 : 101; +} diff --git a/base/shell/explorer-old/shell/entries.cpp b/base/shell/explorer-old/shell/entries.cpp new file mode 100644 index 00000000000..b79ac1949ad --- /dev/null +++ b/base/shell/explorer-old/shell/entries.cpp @@ -0,0 +1,783 @@ +/* + * Copyright 2003, 2004, 2005 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // entries.cpp + // + // Martin Fuchs, 23.07.2003 + // + + +#include + +//#include "entries.h" + + + // allocate and initialise a directory entry +Entry::Entry(ENTRY_TYPE etype) + : _etype(etype) +{ + _up = NULL; + _next = NULL; + _down = NULL; + _expanded = false; + _scanned = false; + _bhfi_valid = false; + _level = 0; + _icon_id = ICID_UNKNOWN; + _display_name = _data.cFileName; + _type_name = NULL; + _content = NULL; +} + +Entry::Entry(Entry* parent, ENTRY_TYPE etype) + : _up(parent), + _etype(etype) +{ + _next = NULL; + _down = NULL; + _expanded = false; + _scanned = false; + _bhfi_valid = false; + _level = 0; + _icon_id = ICID_UNKNOWN; + _shell_attribs = 0; + _display_name = _data.cFileName; + _type_name = NULL; + _content = NULL; +} + +Entry::Entry(const Entry& other) +{ + _next = NULL; + _down = NULL; + _up = NULL; + + assert(!other._next); + assert(!other._down); + assert(!other._up); + + _expanded = other._expanded; + _scanned = other._scanned; + _level = other._level; + + _data = other._data; + + _shell_attribs = other._shell_attribs; + _display_name = other._display_name==other._data.cFileName? _data.cFileName: _tcsdup(other._display_name); + _type_name = other._type_name? _tcsdup(other._type_name): NULL; + _content = other._content? _tcsdup(other._content): NULL; + + _etype = other._etype; + _icon_id = other._icon_id; + + _bhfi = other._bhfi; + _bhfi_valid = other._bhfi_valid; +} + + // free a directory entry +Entry::~Entry() +{ + free_subentries(); + + if (_icon_id > ICID_NONE) + g_Globals._icon_cache.free_icon(_icon_id); + + if (_display_name != _data.cFileName) + free(_display_name); + + if (_type_name) + free(_type_name); + + if (_content) + free(_content); + + if (_down) + delete _down; +} + + + // read directory tree and expand to the given location +Entry* Entry::read_tree(const void* path, SORT_ORDER sortOrder, int scan_flags) +{ + CONTEXT("Entry::read_tree()"); + + WaitCursor wait; + + Entry* entry = this; + + for(const void*p=path; p && entry; ) { + entry->smart_scan(sortOrder, scan_flags); + + if (entry->_down) + entry->_expanded = true; + + Entry* found = entry->find_entry(p); + p = entry->get_next_path_component(p); + + entry = found; + } + + return entry; +} + + +void Entry::read_directory_base(SORT_ORDER sortOrder, int scan_flags) +{ + CONTEXT("Entry::read_directory_base()"); + + // call into subclass + read_directory(scan_flags); + +#ifndef ROSSHELL + if (g_Globals._prescan_nodes) { ///@todo _prescan_nodes should not be used for reading the start menu. + for(Entry*entry=_down; entry; entry=entry->_next) + if (entry->_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { + entry->read_directory(scan_flags); + entry->sort_directory(sortOrder); + } + } +#endif + + sort_directory(sortOrder); +} + + +Root::Root() +{ + memset(this, 0, sizeof(Root)); +} + +Root::~Root() +{ + if (_entry) { + _entry->free_subentries(); + delete _entry; + } +} + + + // sort order for different directory/file types +enum TYPE_ORDER { + TO_DIR, + TO_DOT, + TO_DOTDOT, + TO_OTHER_DIR, + TO_VIRTUAL_FOLDER, + TO_FILE +}; + + // distinguish between ".", ".." and any other directory names +static TYPE_ORDER TypeOrderFromDirname(LPCTSTR name) +{ + if (name[0] == '.') { + if (name[1] == '\0') + return TO_DOT; // "." + + if (name[1]=='.' && name[2]=='\0') + return TO_DOTDOT; // ".." + } + + return TO_OTHER_DIR; // any other directory +} + + // directories first... +static int compareType(const Entry* entry1, const Entry* entry2) +{ + const WIN32_FIND_DATA* fd1 = &entry1->_data; + const WIN32_FIND_DATA* fd2 = &entry2->_data; + + TYPE_ORDER order1 = fd1->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY? TO_DIR: TO_FILE; + TYPE_ORDER order2 = fd2->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY? TO_DIR: TO_FILE; + + // Handle "." and ".." as special case and move them at the very first beginning. + if (order1==TO_DIR && order2==TO_DIR) { + order1 = TypeOrderFromDirname(fd1->cFileName); + order2 = TypeOrderFromDirname(fd2->cFileName); + + // Move virtual folders after physical folders + if (!(entry1->_shell_attribs & SFGAO_FILESYSTEM)) + order1 = TO_VIRTUAL_FOLDER; + + if (!(entry2->_shell_attribs & SFGAO_FILESYSTEM)) + order2 = TO_VIRTUAL_FOLDER; + } + + return order2==order1? 0: order1_data.cFileName, entry2->_data.cFileName); +} + +static int compareExt(const void* arg1, const void* arg2) +{ + const Entry* entry1 = *(const Entry**)arg1; + const Entry* entry2 = *(const Entry**)arg2; + const TCHAR *name1, *name2, *ext1, *ext2; + + int cmp = compareType(entry1, entry2); + if (cmp) + return cmp; + + name1 = entry1->_data.cFileName; + name2 = entry2->_data.cFileName; + + ext1 = _tcsrchr(name1, TEXT('.')); + ext2 = _tcsrchr(name2, TEXT('.')); + + if (ext1) + ++ext1; + else + ext1 = TEXT(""); + + if (ext2) + ++ext2; + else + ext2 = TEXT(""); + + cmp = lstrcmpi(ext1, ext2); + if (cmp) + return cmp; + + return lstrcmpi(name1, name2); +} + +static int compareSize(const void* arg1, const void* arg2) +{ + const Entry* entry1 = *(const Entry**)arg1; + const Entry* entry2 = *(const Entry**)arg2; + + int cmp = compareType(entry1, entry2); + if (cmp) + return cmp; + + cmp = entry2->_data.nFileSizeHigh - entry1->_data.nFileSizeHigh; + + if (cmp < 0) + return -1; + else if (cmp > 0) + return 1; + + cmp = entry2->_data.nFileSizeLow - entry1->_data.nFileSizeLow; + + return cmp<0? -1: cmp>0? 1: 0; +} + +static int compareDate(const void* arg1, const void* arg2) +{ + const Entry* entry1 = *(const Entry**)arg1; + const Entry* entry2 = *(const Entry**)arg2; + + int cmp = compareType(entry1, entry2); + if (cmp) + return cmp; + + return CompareFileTime(&entry2->_data.ftLastWriteTime, &entry1->_data.ftLastWriteTime); +} + + +static int (*sortFunctions[])(const void* arg1, const void* arg2) = { + compareNothing, // SORT_NONE + compareName, // SORT_NAME + compareExt, // SORT_EXT + compareSize, // SORT_SIZE + compareDate // SORT_DATE +}; + + +void Entry::sort_directory(SORT_ORDER sortOrder) +{ + if (sortOrder != SORT_NONE) { + Entry* entry = _down; + Entry** array, **p; + int len; + + len = 0; + for(entry=_down; entry; entry=entry->_next) + ++len; + + if (len) { + array = (Entry**) alloca(len*sizeof(Entry*)); + + p = array; + for(entry=_down; entry; entry=entry->_next) + *p++ = entry; + + // call qsort with the appropriate compare function + qsort(array, len, sizeof(array[0]), sortFunctions[sortOrder]); + + _down = array[0]; + + for(p=array; --len; p++) + (*p)->_next = p[1]; + + (*p)->_next = 0; + } + } +} + + +void Entry::smart_scan(SORT_ORDER sortOrder, int scan_flags) +{ + CONTEXT("Entry::smart_scan()"); + + if (!_scanned) { + free_subentries(); + read_directory_base(sortOrder, scan_flags); ///@todo We could use IShellFolder2::GetDefaultColumn to determine sort order. + } +} + + + +int Entry::extract_icon(ICONCACHE_FLAGS flags) +{ + TCHAR path[MAX_PATH]; + + ICON_ID icon_id = ICID_NONE; + + if (_etype!=ET_SHELL && get_path(path, COUNTOF(path))) // not for ET_SHELL to display the correct desktop icon + if (!(flags & ICF_MIDDLE)) // not for ICF_MIDDLE to extract 24x24 icons because SHGetFileInfo() doesn't support this icon size + icon_id = g_Globals._icon_cache.extract(path, flags); + + if (icon_id == ICID_NONE) { + if (!(flags & ICF_OVERLAYS)) { + IExtractIcon* pExtract; + if (SUCCEEDED(GetUIObjectOf(0, IID_IExtractIcon, (LPVOID*)&pExtract))) { + unsigned gil_flags = 0; + int idx; + + if (flags & ICF_OPEN) + gil_flags |= GIL_OPENICON; + + if (SUCCEEDED(pExtract->GetIconLocation(GIL_FORSHELL, path, COUNTOF(path), &idx, &gil_flags))) { + if (gil_flags & GIL_NOTFILENAME) + icon_id = g_Globals._icon_cache.extract(pExtract, path, idx, flags); + else { + if (idx == -1) + idx = 0; // special case for some control panel applications ("System") + + icon_id = g_Globals._icon_cache.extract(path, idx, flags); + } + + /* using create_absolute_pidl() [see below] results in more correct icons for some control panel applets (NVidia display driver). + if (icon_id == ICID_NONE) { + SHFILEINFO sfi; + + if (SHGetFileInfo(path, 0, &sfi, sizeof(sfi), SHGFI_ICON|SHGFI_SMALLICON)) + icon_id = g_Globals._icon_cache.add(sfi.hIcon)._id; + } */ + /* + if (icon_id == ICID_NONE) { + LPBYTE b = (LPBYTE) alloca(0x10000); + SHFILEINFO sfi; + + FILE* file = fopen(path, "rb"); + if (file) { + int l = fread(b, 1, 0x10000, file); + fclose(file); + + if (l) + icon_id = g_Globals._icon_cache.add(CreateIconFromResourceEx(b, l, TRUE, 0x00030000, 16, 16, LR_DEFAULTCOLOR)); + } + } */ + } + } + } + + if (icon_id == ICID_NONE) { + const ShellPath& pidl_abs = create_absolute_pidl(); + LPCITEMIDLIST pidl = pidl_abs; + + icon_id = g_Globals._icon_cache.extract(pidl, flags); + } + } + + return icon_id; +} + +int Entry::safe_extract_icon(ICONCACHE_FLAGS flags) +{ + try { + return extract_icon(flags); + } catch(COMException&) { + // ignore unexpected exceptions while extracting icons + } + + return ICID_NONE; +} + + +BOOL Entry::launch_entry(HWND hwnd, UINT nCmdShow) +{ + TCHAR cmd[MAX_PATH]; + + if (!get_path(cmd, COUNTOF(cmd))) + return FALSE; + + // add path to the recent file list + SHAddToRecentDocs(SHARD_PATH, cmd); + + // start program, open document... + return launch_file(hwnd, cmd, nCmdShow); +} + + + // local replacement implementation for SHBindToParent() + // (derived from http://www.geocities.com/SiliconValley/2060/articles/shell-helpers.html) +static HRESULT my_SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, VOID** ppv, LPCITEMIDLIST* ppidlLast) +{ + HRESULT hr; + + if (!ppv) + return E_POINTER; + + // There must be at least one item ID. + if (!pidl || !pidl->mkid.cb) + return E_INVALIDARG; + + // Get the desktop folder as root. + ShellFolder desktop; +/* IShellFolderPtr desktop; + hr = SHGetDesktopFolder(&desktop); + if (FAILED(hr)) + return hr; */ + + // Walk to the penultimate item ID. + LPCITEMIDLIST marker = pidl; + for (;;) + { + LPCITEMIDLIST next = reinterpret_cast( + marker->mkid.abID - sizeof(marker->mkid.cb) + marker->mkid.cb); + if (!next->mkid.cb) + break; + marker = next; + } + + if (marker == pidl) + { + // There was only a single item ID, so bind to the root folder. + hr = desktop->QueryInterface(riid, ppv); + } + else + { + // Copy the ID list, truncating the last item. + int length = marker->mkid.abID - pidl->mkid.abID; + if (LPITEMIDLIST parent_id = reinterpret_cast( + malloc(length + sizeof(pidl->mkid.cb)))) + { + LPBYTE raw_data = reinterpret_cast(parent_id); + memcpy(raw_data, pidl, length); + memset(raw_data + length, 0, sizeof(pidl->mkid.cb)); + hr = desktop->BindToObject(parent_id, 0, riid, ppv); + free(parent_id); + } + else + return E_OUTOFMEMORY; + } + + // Return a pointer to the last item ID. + if (ppidlLast) + *ppidlLast = marker; + + return hr; +} +#define USE_MY_SHBINDTOPARENT + +HRESULT Entry::do_context_menu(HWND hwnd, const POINT& pos, CtxMenuInterfaces& cm_ifs) +{ + ShellPath shell_path = create_absolute_pidl(); + LPCITEMIDLIST pidl_abs = shell_path; + + if (!pidl_abs) + return S_FALSE; // no action for registry entries, etc. + +#ifdef USE_MY_SHBINDTOPARENT + IShellFolder* parentFolder; + LPCITEMIDLIST pidlLast; + + // get and use the parent folder to display correct context menu in all cases -> correct "Properties" dialog for directories, ... + HRESULT hr = my_SHBindToParent(pidl_abs, IID_IShellFolder, (LPVOID*)&parentFolder, &pidlLast); + + if (SUCCEEDED(hr)) { + hr = ShellFolderContextMenu(parentFolder, hwnd, 1, &pidlLast, pos.x, pos.y, cm_ifs); + + parentFolder->Release(); + } + + return hr; +#else + static DynamicFct SHBindToParent(TEXT("SHELL32"), "SHBindToParent"); + + if (SHBindToParent) { + IShellFolder* parentFolder; + LPCITEMIDLIST pidlLast; + + // get and use the parent folder to display correct context menu in all cases -> correct "Properties" dialog for directories, ... + HRESULT hr = (*SHBindToParent)(pidl_abs, IID_IShellFolder, (LPVOID*)&parentFolder, &pidlLast); + + if (SUCCEEDED(hr)) { + hr = ShellFolderContextMenu(parentFolder, hwnd, 1, &pidlLast, pos.x, pos.y, cm_ifs); + + parentFolder->Release(); + } + + return hr; + } else { + /**@todo use parent folder instead of desktop folder + Entry* dir = _up; + + ShellPath parent_path; + + if (dir) + parent_path = dir->create_absolute_pidl(); + else + parent_path = DesktopFolderPath(); + + ShellPath shell_path = create_relative_pidl(parent_path); + LPCITEMIDLIST pidl = shell_path; + + ShellFolder parent_folder = parent_path; + return ShellFolderContextMenu(parent_folder, hwnd, 1, &pidl, pos.x, pos.y); + */ + return ShellFolderContextMenu(GetDesktopFolder(), hwnd, 1, &pidl_abs, pos.x, pos.y, cm_ifs); + } +#endif +} + + +HRESULT Entry::GetUIObjectOf(HWND hWnd, REFIID riid, LPVOID* ppvOut) +{ + TCHAR path[MAX_PATH]; +/* + if (!get_path(path, COUNTOF(path))) + return E_FAIL; + + ShellPath shell_path(path); + + IShellFolder* pFolder; + LPCITEMIDLIST pidl_last = NULL; + + static DynamicFct SHBindToParent(TEXT("SHELL32"), "SHBindToParent"); + + if (!SHBindToParent) + return E_NOTIMPL; + + HRESULT hr = (*SHBindToParent)(shell_path, IID_IShellFolder, (LPVOID*)&pFolder, &pidl_last); + if (FAILED(hr)) + return hr; + + ShellFolder shell_folder(pFolder); + + shell_folder->Release(); + + return shell_folder->GetUIObjectOf(hWnd, 1, &pidl_last, riid, NULL, ppvOut); +*/ + if (!_up) + return E_INVALIDARG; + + if (!_up->get_path(path, COUNTOF(path))) + return E_FAIL; + + ShellPath shell_path(path); + ShellFolder shell_folder(shell_path); + +#ifdef UNICODE + LPWSTR wname = _data.cFileName; +#else + WCHAR wname[MAX_PATH]; + MultiByteToWideChar(CP_ACP, 0, _data.cFileName, -1, wname, COUNTOF(wname)); +#endif + + LPITEMIDLIST pidl_last = NULL; + HRESULT hr = shell_folder->ParseDisplayName(hWnd, NULL, wname, NULL, &pidl_last, NULL); + + if (FAILED(hr)) + return hr; + + hr = shell_folder->GetUIObjectOf(hWnd, 1, (LPCITEMIDLIST*)&pidl_last, riid, NULL, ppvOut); + + ShellMalloc()->Free((void*)pidl_last); + + return hr; +} + + + // get full path of specified directory entry +bool Entry::get_path_base ( PTSTR path, size_t path_count, ENTRY_TYPE etype ) const +{ + int level = 0; + size_t len = 0; + size_t l = 0; + LPCTSTR name = NULL; + TCHAR buffer[MAX_PATH]; + + if (!path || path_count==0) + return false; + + const Entry* entry; + if ( path_count > 1 ) + { + for(entry=this; entry; level++) { + l = 0; + + if (entry->_etype == etype) { + name = entry->_data.cFileName; + + for(LPCTSTR s=name; *s && *s!=TEXT('/') && *s!=TEXT('\\'); s++) + ++l; + + if (!entry->_up) + break; + } else { + if (entry->get_path(buffer, COUNTOF(buffer))) { + l = _tcslen(buffer); + name = buffer; + + /* special handling of drive names */ + if (l>0 && buffer[l-1]=='\\' && path[0]=='\\') + --l; + + if ( len+l >= path_count ) + { + if ( l + 1 > path_count ) + len = 0; + else + len = path_count - l - 1; + } + memmove(path+l, path, len*sizeof(TCHAR)); + if ( l+1 >= path_count ) + l = path_count - 1; + memcpy(path, name, l*sizeof(TCHAR)); + len += l; + } + + entry = NULL; + break; + } + + if (l > 0) { + if ( len+l+1 >= path_count ) + { + /* compare to 2 here because of terminator plus the '\\' we prepend */ + if ( l + 2 > path_count ) + len = 0; + else + len = path_count - l - 2; + } + memmove(path+l+1, path, len*sizeof(TCHAR)); + /* compare to 2 here because of terminator plus the '\\' we prepend */ + if ( l+2 >= path_count ) + l = path_count - 2; + memcpy(path+1, name, l*sizeof(TCHAR)); + len += l+1; + +#ifndef _NO_WIN_FS + if (etype == ET_WINDOWS && entry->_up && !(entry->_up->_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) // a NTFS stream? + path[0] = TEXT(':'); + else +#endif + path[0] = TEXT('\\'); + } + + entry = entry->_up; + } + + if (entry) { + if ( len+l >= path_count ) + { + if ( l + 1 > path_count ) + len = 0; + else + len = path_count - l - 1; + } + memmove(path+l, path, len*sizeof(TCHAR)); + if ( l+1 >= path_count ) + l = path_count - 1; + memcpy(path, name, l*sizeof(TCHAR)); + len += l; + } + + if ( !level && (len+1 < path_count) ) + path[len++] = TEXT('\\'); + } + + path[len] = TEXT('\0'); + + return true; +} + + // recursively free all child entries +void Entry::free_subentries() +{ + Entry *entry, *next=_down; + + if (next) { + _down = 0; + + do { + entry = next; + next = entry->_next; + + entry->free_subentries(); + delete entry; + } while(next); + } +} + + +Entry* Root::read_tree(LPCTSTR path, int scan_flags) +{ + Entry* entry; + + if (path && *path) + entry = _entry->read_tree(path, _sort_order); + else { + entry = _entry->read_tree(NULL, _sort_order); + + _entry->smart_scan(); + + if (_entry->_down) + _entry->_expanded = true; + } + + return entry; +} + + +Entry* Root::read_tree(LPCITEMIDLIST pidl, int scan_flags) +{ + return _entry->read_tree(pidl, _sort_order); +} diff --git a/base/shell/explorer-old/shell/entries.h b/base/shell/explorer-old/shell/entries.h new file mode 100644 index 00000000000..476be4c9e0c --- /dev/null +++ b/base/shell/explorer-old/shell/entries.h @@ -0,0 +1,162 @@ +/* + * Copyright 2003, 2004 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // entries.h + // + // Martin Fuchs, 23.07.2003 + // + + +enum ENTRY_TYPE { + ET_UNKNOWN, +#ifndef _NO_WIN_FS + ET_WINDOWS, +#endif +#ifdef __WINE__ + ET_UNIX, +#endif + ET_SHELL, + ET_NTOBJS, + ET_REGISTRY, + ET_FAT, + ET_WEB +}; + +enum SORT_ORDER { + SORT_NONE, + SORT_NAME, + SORT_EXT, + SORT_SIZE, + SORT_DATE +}; + +enum SCAN_FLAGS { + SCAN_DONT_EXTRACT_ICONS = 1, + SCAN_DONT_ACCESS = 2, + SCAN_NO_FILESYSTEM = 4 +}; + +#ifndef ATTRIBUTE_SYMBOLIC_LINK +#define ATTRIBUTE_LONGNAME 0x08000000 +#define ATTRIBUTE_VOLNAME 0x10000000 +#define ATTRIBUTE_ERASED 0x20000000 +#define ATTRIBUTE_SYMBOLIC_LINK 0x40000000 +#define ATTRIBUTE_EXECUTABLE 0x80000000 +#endif + +enum ICONCACHE_FLAGS { + ICF_NORMAL = 0, + ICF_MIDDLE = 1, + ICF_LARGE = 2, + ICF_OPEN = 4, + ICF_OVERLAYS = 8, + ICF_HICON = 16, + ICF_SYSCACHE = 32 +}; + +#ifndef SHGFI_ADDOVERLAYS // missing in MinGW (as of 28.12.2005) +#define SHGFI_ADDOVERLAYS 0x000000020 +#endif + + + /// base of all file and directory entries +struct Entry +{ +protected: + Entry(ENTRY_TYPE etype); + Entry(Entry* parent, ENTRY_TYPE etype); + Entry(const Entry&); + +public: + virtual ~Entry(); + + Entry* _next; + Entry* _down; + Entry* _up; + + bool _expanded; + bool _scanned; + int _level; + + WIN32_FIND_DATA _data; + + SFGAOF _shell_attribs; + LPTSTR _display_name; + LPTSTR _type_name; + LPTSTR _content; + + ENTRY_TYPE _etype; + int /*ICON_ID*/ _icon_id; + + BY_HANDLE_FILE_INFORMATION _bhfi; + bool _bhfi_valid; + + void free_subentries(); + + void read_directory_base(SORT_ORDER sortOrder=SORT_NAME, int scan_flags=0); + Entry* read_tree(const void* path, SORT_ORDER sortOrder=SORT_NAME, int scan_flags=0); + void sort_directory(SORT_ORDER sortOrder); + void smart_scan(SORT_ORDER sortOrder=SORT_NAME, int scan_flags=0); + int extract_icon(ICONCACHE_FLAGS flags=ICF_NORMAL); + int safe_extract_icon(ICONCACHE_FLAGS flags=ICF_NORMAL); + + virtual void read_directory(int scan_flags=0) {} + virtual const void* get_next_path_component(const void*) const {return NULL;} + virtual Entry* find_entry(const void*) {return NULL;} + virtual bool get_path(PTSTR path, size_t path_count) const = 0; + virtual ShellPath create_absolute_pidl() const {return (LPCITEMIDLIST)NULL;} + virtual HRESULT GetUIObjectOf(HWND hWnd, REFIID riid, LPVOID* ppvOut); + virtual ShellFolder get_shell_folder() const; + virtual BOOL launch_entry(HWND hwnd, UINT nCmdShow=SW_SHOWNORMAL); + virtual HRESULT do_context_menu(HWND hwnd, const POINT& pos, CtxMenuInterfaces& cm_ifs); + +protected: + bool get_path_base(PTSTR path, size_t path_count, ENTRY_TYPE etype) const; +}; + + + /// base for all directory entries +struct Directory { +protected: + Directory() : _path(NULL) {} + virtual ~Directory() {} + + void* _path; +}; + + + /// root entry for file system trees +struct Root { + Root(); + ~Root(); + + Entry* _entry; + TCHAR _path[MAX_PATH]; + TCHAR _volname[_MAX_FNAME]; + TCHAR _fs[_MAX_DIR]; + DWORD _drive_type; + DWORD _fs_flags; + SORT_ORDER _sort_order; + + Entry* read_tree(LPCTSTR path, int scan_flags=0); + Entry* read_tree(LPCITEMIDLIST pidl, int scan_flags=0); +}; diff --git a/base/shell/explorer-old/shell/fatfs.cpp b/base/shell/explorer-old/shell/fatfs.cpp new file mode 100644 index 00000000000..5cd237280bf --- /dev/null +++ b/base/shell/explorer-old/shell/fatfs.cpp @@ -0,0 +1,639 @@ +/* + * Copyright 2004 Martin Fuchs + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + + + // + // Explorer clone + // + // fatfs.cpp + // + // Martin Fuchs, 01.02.2004 + // + + +#include + +#include "fatfs.h" + +#ifdef _DEBUG + +static union DEntry* link_dir_entries(struct dirent* dir, struct Kette* K, int cnt) +{ + union DEntry* Ent = (union DEntry*) dir; + struct Kette* L = NULL; + + for(; cnt; cnt--) { + K->Rueck = L; + (L=K)->Ent = Ent; + AddP(K, sizeof(struct Kette)); + L->Vorw = K; + AddP(Ent, sizeof(union DEntry)); + } + + L->Vorw = NULL; + + return Ent; +} + +void FATDirectory::read_directory(int scan_flags) +{ + CONTEXT("FATDirectory::read_directory()"); + + read_dir(); + + union DEntry* p = (union DEntry*) _dir; + int i = 0; + + do { +/* if (!IS_LNAME(p->E.attr) && p->E.name[0]!=FAT_DEL_CHAR) + gesBytes += p->E.size; +*/ + + AddP(p, sizeof(union DEntry)); + } while(++i<_ents && p->E.name[0]); + + _alloc = (struct Kette*) malloc((size_t)((_ents=i)+8)*sizeof(struct Kette)); + if (!_alloc) + return; + + link_dir_entries(_dir, _alloc, i); + + Entry* first_entry = NULL; + int level = _level + 1; + + Entry* last = NULL; + + WIN32_FIND_DATA w32fd; + FAT_attribute attr; + String long_name; + + TCHAR buffer[MAX_PATH]; + + _tcscpy(buffer, (LPCTSTR)_path); + LPTSTR pname = buffer + _tcslen(buffer); + int plen = COUNTOF(buffer) - _tcslen(buffer); + + *pname++ = '\\'; + --plen; + + for(Kette*p=_alloc; p; p=p->Vorw) { + memset(&w32fd, 0, sizeof(WIN32_FIND_DATA)); + + DEntry_E& e = p->Ent->E; + + // get file/directory attributes + attr.b = e.attr; + + if (attr.b & (_A_DELETED | _A_ILLEGAL)) + attr.b |= _A_ILLEGAL; + + const char* s = e.name; + LPTSTR d = w32fd.cFileName; + + if (!IS_LNAME(attr.b) || e.name[0]==FAT_DEL_CHAR) { + if (e.name[0] == FAT_DEL_CHAR) + w32fd.dwFileAttributes |= ATTRIBUTE_ERASED; + else if (IS_LNAME(attr.b)) + w32fd.dwFileAttributes |= ATTRIBUTE_LONGNAME; + else if (attr.a.directory) + w32fd.dwFileAttributes |= FILE_ATTRIBUTE_DIRECTORY; + else if (attr.a.volume) + w32fd.dwFileAttributes |= ATTRIBUTE_VOLNAME; //@@ -> in Volume-Name der Root kopieren + + // get file name + *d++ = *s==FAT_DEL_CHAR? '?': *s; + ++s; + + for(i=0; i<7; ++i) + *d++ = *s++; + + while(d>w32fd.cFileName && d[-1]==' ') + --d; + + *d++ = '.'; + + for(; i<10; ++i) + *d++ = *s++; + + while(d>w32fd.cFileName && d[-1]==' ') + --d; + + if (d>w32fd.cFileName && d[-1]=='.') + --d; + + *d = '\0'; + } else { + s = (const char*)p->Ent->B; // no change of the pointer, just to avoid overung warnings in code checkers + + // read long file name + TCHAR lname[] = {s[1], s[3], s[5], s[7], s[9], s[14], s[16], s[18], s[20], s[22], s[24], s[28], s[30]}; + + long_name = String(lname, 13) + long_name; + } + + if (!IS_LNAME(attr.b) && !attr.a.volume) { + // get file size + w32fd.nFileSizeLow = e.size; + + // convert date/time attribute into FILETIME + const filedate& date = e.date; + const filetime& time = e.time; + SYSTEMTIME stime; + FILETIME ftime; + + stime.wYear = date.year + 1980; + stime.wMonth = date.month; + stime.wDayOfWeek = (WORD)-1; + stime.wDay = date.day; + stime.wHour = time.hour; + stime.wMinute = time.min; + stime.wSecond = time.sec2 * 2; + stime.wMilliseconds = 0; + + if (SystemTimeToFileTime(&stime, &ftime)) + LocalFileTimeToFileTime(&ftime, &w32fd.ftLastWriteTime); + + if (!(w32fd.dwFileAttributes & ATTRIBUTE_ERASED)) { //@@ + Entry* entry; + + if (w32fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { + _tcscpy_s(pname, plen, w32fd.cFileName); + entry = new FATDirectory(_drive, this, buffer, e.fclus); + } else + entry = new FATEntry(this, e.fclus); + + memcpy(&entry->_data, &w32fd, sizeof(WIN32_FIND_DATA)); + + if (!long_name.empty()) { + entry->_content = _tcsdup(long_name); + long_name.erase(); + } + + if (!first_entry) + first_entry = entry; + + if (last) + last->_next = entry; + + entry->_level = level; + + last = entry; + } + } + } + + if (last) + last->_next = NULL; + + _down = first_entry; + _scanned = true; +} + + +const void* FATDirectory::get_next_path_component(const void* p) const +{ + LPCTSTR s = (LPCTSTR) p; + + while(*s && *s!=TEXT('\\') && *s!=TEXT('/')) + ++s; + + while(*s==TEXT('\\') || *s==TEXT('/')) + ++s; + + if (!*s) + return NULL; + + return s; +} + + +Entry* FATDirectory::find_entry(const void* p) +{ + LPCTSTR name = (LPCTSTR)p; + + for(Entry*entry=_down; entry; entry=entry->_next) { + LPCTSTR p = name; + LPCTSTR q = entry->_data.cFileName; + + do { + if (!*p || *p==TEXT('\\') || *p==TEXT('/')) + return entry; + } while(tolower(*p++) == tolower(*q++)); + + p = name; + q = entry->_data.cAlternateFileName; + + do { + if (!*p || *p==TEXT('\\') || *p==TEXT('/')) + return entry; + } while(tolower(*p++) == tolower(*q++)); + } + + return NULL; +} + + + // get full path of specified directory entry +bool FATEntry::get_path(PTSTR path, size_t path_count) const +{ + return get_path_base ( path, path_count, ET_FAT ); +} + +ShellPath FATEntry::create_absolute_pidl() const +{ + CONTEXT("WinEntry::create_absolute_pidl()"); + + return (LPCITEMIDLIST)NULL; +/* prepend root path if the drive is currently actually mounted in the file system -> return working PIDL + TCHAR path[MAX_PATH]; + + if (get_path(path, COUNTOF(path))) + return ShellPath(path); + + return ShellPath(); +*/ +} + + +FATDirectory::FATDirectory(FATDrive& drive, LPCTSTR root_path) + : FATEntry(), + _drive(drive) +{ + _path = _tcsdup(root_path); + + _secarr = NULL; + _cur_bufs = 0; + _ents = 0; + _dir = NULL; + _cluster = 0; +} + +FATDirectory::FATDirectory(FATDrive& drive, Entry* parent, LPCTSTR path, unsigned cluster) + : FATEntry(parent, cluster), + _drive(drive) +{ + _path = _tcsdup(path); + + _secarr = NULL; + _cur_bufs = 0; + _ents = 0; + _dir = NULL; +} + +FATDirectory::~FATDirectory() +{ + free(_path); + _path = NULL; +} + +bool FATDirectory::read_dir() +{ + int i; + + if (_cluster == 0) { + if (!_drive._boot_sector.SectorsPerFAT) { // FAT32? [boot_sector32->reserved0==0] + BootSector32* boot_sector32 = (BootSector32*) &_drive._boot_sector; + DWORD sect = _drive._boot_sector.ReservedSectors + _drive._boot_sector.NumberFATs*boot_sector32->SectorsPerFAT32; // lese Root-Directory ein + int RootEntries = boot_sector32->RootSectors * 32; //@@ + + _secarr = (struct dirsecz*)malloc(sizeof(DWORD) * (_cur_bufs = (int)((_ents=RootEntries)/_drive._bufents))); + + for(i=0; i<_cur_bufs; i++) + _secarr->s[i] = sect+i; + + _dir = (struct dirent*)malloc((size_t)(_ents+16)*sizeof(union DEntry)); + if (!_dir) + return false; + + if (!(_drive.read_sector(*_secarr->s,(Buffer*)_dir,_cur_bufs))) + return false; + } else { + DWORD sect = _drive._boot_sector.ReservedSectors + _drive._boot_sector.NumberFATs*_drive._boot_sector.SectorsPerFAT; // read in root directory + + _secarr = (struct dirsecz*)malloc(sizeof(DWORD) * (_cur_bufs = (int)((_ents=_drive._boot_sector.RootEntries)/_drive._bufents))); + + for(i=0; i<_cur_bufs; i++) + _secarr->s[i] = sect+i; + + _dir = (struct dirent*)malloc((size_t)(_ents+16)*sizeof(union DEntry)); + if (!_dir) + return false; + + if (!_drive.read_sector(*_secarr->s,(Buffer*)_dir,_cur_bufs)) + return false; + } + } else { + Buffer* buf; + bool ok; + + DWORD h = _cluster; + + _cur_bufs = 0; + + do { + h = _drive.read_FAT(h, ok); + + if (!ok) + return false; + + _cur_bufs++; + } while (h<0x0ffffff0 && h); + + _secarr = (struct dirsecz*) malloc(sizeof(DWORD) * _cur_bufs); + + if (!_secarr) + return false; + + _ents = _drive._bufents * (size_t)_cur_bufs * _drive._SClus; + + if ((buf=(Buffer*)(_dir=(struct dirent*)malloc((size_t) (_ents+16)*sizeof(union DEntry)))) == NULL) + return false; + + h = _cluster; + + DWORD fdatsec; + + if (!_drive._boot_sector.SectorsPerFAT) { // FAT32 ? + BootSector32* boot_sector32 = (BootSector32*) &_drive._boot_sector; + //int RootEntries = boot_sector32->RootSectors * 32; //@@ + //fdatsec = _drive._boot_sector.ReservedSectors + _drive._boot_sector.NumberFATs*boot_sector32->SectorsPerFAT32 + RootEntries*sizeof(DEntry)/_drive._boot_sector.BytesPerSector; // dpb.fdirsec + fdatsec = _drive._boot_sector.ReservedSectors + + _drive._boot_sector.NumberFATs*boot_sector32->SectorsPerFAT32 + boot_sector32->RootSectors; + } else + fdatsec = _drive._boot_sector.ReservedSectors + + _drive._boot_sector.NumberFATs*_drive._boot_sector.SectorsPerFAT + + _drive._boot_sector.RootEntries*sizeof(DEntry)/_drive._boot_sector.BytesPerSector; // dpb.fdirsec + + for(i=0; i<_cur_bufs; i++) { + _secarr->s[i] = fdatsec + (DWORD)_drive._SClus*(h-2); + + h = _drive.read_FAT(h, ok); + + if (!ok) + return false; + } + + for(i=0; i<_cur_bufs; i++) { + if ((ok = (_drive.read_sector(_secarr->s[i], buf, _drive._SClus))) == true) + AddP(buf, _drive._bufl*_drive._SClus) + else { + //@@FPara = _secarr->s[i]; + return false; + } + } + + buf->dat[0] = 0; // Endekennzeichen fr Rekurs setzen + } + + return true; +} + + +#ifdef _MSC_VER +#pragma warning(disable: 4355) +#endif + +FATDrive::FATDrive(LPCTSTR path) + : FATDirectory(*this, TEXT("\\")) +{ + _bufl = 0; + _bufents = 0; + _SClus = 0; + _FATCache = NULL; + _CacheCount = 0; + _CacheSec = NULL; + _CacheCnt = NULL; + _CacheDty = NULL; + _Caches = 0; + + _hDrive = CreateFile(path, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0); + + if (_hDrive != INVALID_HANDLE_VALUE) { + _boot_sector.BytesPerSector = 512; + + if (read_sector(0, (Buffer*)&_boot_sector, 1)) { + _bufl = _boot_sector.BytesPerSector; + _SClus = _boot_sector.SectorsPerCluster; + _bufents = _bufl / sizeof(union DEntry); + } + + small_cache(); + } +} + +FATDrive::~FATDrive() +{ + if (_hDrive != INVALID_HANDLE_VALUE) + CloseHandle(_hDrive); + + free(_path); + _path = NULL; +} + +void FATDrive::small_cache() +{ + if (_FATCache) + free(_FATCache); + + if (_CacheSec) { + free(_CacheSec), _CacheSec = NULL; + free(_CacheCnt); + free(_CacheDty); + } + + _Caches = CACHE_SIZE_LOW; + _FATCache = (struct Cache *) malloc((_Caches+1) * _drive._bufl); + + reset_cache(); +} + +void FATDrive::reset_cache() // mark cache as empty +{ + int i; + + if (!_CacheSec) { + _CacheSec = (DWORD*) malloc(_Caches * sizeof(DWORD)); + _CacheCnt = (int*) malloc(_Caches * sizeof(int)); + _CacheDty = (bool*) malloc(_Caches * sizeof(bool)); + } else { + _CacheSec = (DWORD*) realloc(_CacheSec, _Caches * sizeof(DWORD)); + _CacheCnt = (int*) realloc(_CacheCnt, _Caches * sizeof(int)); + _CacheDty = (bool*) realloc(_CacheDty, _Caches * sizeof(bool)); + } + + for(i=0; i<_Caches; i++) + _CacheSec[i] = 0; + + _read_ahead = (_Caches+1) / 2; +} + +bool FATDrive::read_sector(DWORD sec, Buffer* buf, int len) +{ + sec += 63; //@@ jump to first partition + + if (SetFilePointer(_hDrive, sec*_drive._boot_sector.BytesPerSector, 0, 0) == INVALID_SET_FILE_POINTER) + return false; + + DWORD read; + + if (!ReadFile(_hDrive, buf, len*_drive._boot_sector.BytesPerSector, &read, 0)) + return false; + + return true; +} + +DWORD FATDrive::read_FAT(DWORD cluster, bool& ok) //@@ use exception handling +{ + DWORD nClus; + Buffer* FATBuf; + + DWORD nclus = (_boot_sector.Sectors32? _boot_sector.Sectors32: _boot_sector.Sectors16) / _boot_sector.SectorsPerCluster; ///@todo cache result + + if (cluster > nclus) { + ok = false; + return (DWORD)-1; + } + + if (nclus >= 65536) { // FAT32 + DWORD FATsec = cluster / (_boot_sector.BytesPerSector/4); + DWORD z = (cluster - _boot_sector.BytesPerSector/4 * FATsec)*4; + FATsec += _boot_sector.ReservedSectors; + if (!read_cache(FATsec, &FATBuf)) + ok = false; + nClus = dpeek(&FATBuf->dat[z]); + } else if (nclus >= 4096) { // 16 Bit-FAT + DWORD FATsec = cluster / (_boot_sector.BytesPerSector/2); + DWORD z = (cluster - _boot_sector.BytesPerSector/2 * FATsec)*2; + FATsec += _boot_sector.ReservedSectors; + if (!read_cache(FATsec, &FATBuf)) + ok = false; + nClus = wpeek(&FATBuf->dat[z]); + + if (nClus >= 0xfff0) + nClus |= 0x0fff0000; + } else { // 12 Bit-FAT + DWORD FATsec = cluster*3 / (_boot_sector.BytesPerSector*2); + DWORD z = (cluster*3 - _boot_sector.BytesPerSector*2*FATsec)/2; + FATsec += _boot_sector.ReservedSectors; + if (!read_cache(FATsec,&FATBuf)) + ok = false; + BYTE a = FATBuf->dat[z++]; + + if (z >= _boot_sector.BytesPerSector) + if (!read_cache(FATsec+1,&FATBuf)) + ok = false; + z = 0; + + BYTE b = FATBuf->dat[z]; + + if (cluster & 1) + nClus = (a>>4) | (b<<4); + else + nClus = a | ((b & 0xf)<<8); + + if (nClus >= 0xff0) + nClus |= 0x0ffff000; + } + + return nClus; +} + +bool FATDrive::read_cache(DWORD sec, Buffer** bufptr) +{ + int i, C, anz; + + if (_boot_sector.BytesPerSector != BufLen) // no standard sector size? + return read_sector(sec, *bufptr=(Buffer*)&_FATCache[0], 1); + + _CacheCount++; + + for(i=0; _CacheSec[i]!=sec && i<_Caches; ) + ++i; + + if (i < _Caches) + { + *bufptr = (Buffer*) &_FATCache[i]; // FAT-Sektor schon gepuffert + _CacheCnt[i]++; + return true; + } + + i = get_cache_buffer(); + + if (_cache_empty) // von get_cache_buffer() gesetzt + { + C = _CacheCount-1; + anz = _boot_sector.SectorsPerFAT*_boot_sector.NumberFATs - sec; + + if (anz > _read_ahead) + anz = _read_ahead; + + for(i=0; i