diff --git a/CHANGELOG b/CHANGELOG index c534c16..4764571 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,14 @@ -Version 0.9.1 (2009.02.07): +Version 0.9.2 prerelease (2010.09.14): + * added: Italian translation made by + Damiano Monaco + * added: menu: edit->swap (ctrl+W) + swapping the input for the output edit + + Changes from TTMath 0.9.2 relating to TTCalc: + * fixed: Big::Add() sometimes incorrectly rounded the last bit from its mantissa + + +Version 0.9.1 (2010.02.07): * fixed: the pad window didn't take into account following options (from display tab): grouping, input commas and parameter separators * updated: Chinese translation diff --git a/README b/README index 6475310..2d9e311 100644 --- a/README +++ b/README @@ -17,7 +17,8 @@ display values with the base (radix) from two to sixteen. Author: Tomasz Sowa Contact: t.sowa@ttmath.org Licence: BSD (open source) -Interface: English, Polish, Spanish, Danish, Chinese, Russian, Swedish +Interface: English, Polish, Spanish, Danish, Chinese, Russian, + Swedish, Italian Project page: http://ttcalc.sourceforge.net/ Bignum library: TTMath http://www.ttmath.org/ Operating systems: Microsoft Windows 9x/Me/NT/2000/XP/Vista/7 diff --git a/help/index.html b/help/index.html index 49a82a6..8921dc7 100644 --- a/help/index.html +++ b/help/index.html @@ -44,7 +44,7 @@ display values with the base (radix) from two to sixteen. Author:Tomasz Sowa Contact:t.sowa@ttmath.org Licence:BSD (open source) -Interface:English, Polish, Spanish, Danish, Chinese, Russian, Swedish +Interface:English, Polish, Spanish, Danish, Chinese, Russian, Swedish, Italian Project page:http://ttcalc.sourceforge.net/ Bignum library:TTMath http://www.ttmath.org/ Operating systems:Microsoft Windows 9x/Me/NT/2000/XP/Vista/7 diff --git a/res/aboutbox.bmp b/res/aboutbox.bmp index d781418..12f297c 100644 Binary files a/res/aboutbox.bmp and b/res/aboutbox.bmp differ diff --git a/setup/innosetup.iss b/setup/innosetup.iss index d429592..7f9107f 100644 --- a/setup/innosetup.iss +++ b/setup/innosetup.iss @@ -30,6 +30,7 @@ Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl" Name: "chinese"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" Name: "swedish"; MessagesFile: "compiler:Languages\Swedish.isl" +Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl" [InstallDelete] ; prior to 0.8.3 we were using mingwm10.dll (now it is not needed and will be deleted if exists) diff --git a/src/Makefile b/src/Makefile index b184e5e..d715572 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,6 +1,6 @@ CC = g++ -#CFLAGS = -Wall -pedantic -s -O2 -mwindows -I../../ttmath -DTTMATH_RELEASE -DTTCALC_CONVERT -CFLAGS = -Wall -pedantic -s -O2 -mwindows -I../../ttmath -DTTMATH_RELEASE +#CFLAGS = -Wall -pedantic -s -O2 -mwindows -I../../ttmath -DTTCALC_CONVERT +CFLAGS = -Wall -pedantic -s -O2 -mwindows -I../../ttmath name = ttcalc.exe # the name of the help is also set in the html help workshop project file diff --git a/src/Makefileportable b/src/Makefileportable index 2b50045..8d03f7b 100644 --- a/src/Makefileportable +++ b/src/Makefileportable @@ -1,5 +1,5 @@ CC = g++ -CFLAGS = -Wall -pedantic -s -Os -fno-default-inline -mwindows -I../../ttmath -DTTMATH_RELEASE -DTTCALC_PORTABLE +CFLAGS = -Wall -pedantic -s -Os -fno-default-inline -mwindows -I../../ttmath -DTTCALC_PORTABLE name = ttcalcp.exe compressor = upx diff --git a/src/languages.cpp b/src/languages.cpp index 2a95736..8c035c1 100644 --- a/src/languages.cpp +++ b/src/languages.cpp @@ -305,6 +305,37 @@ void Languages::InitErrorMessagesTab() InsertErrorPair(ttmath::err_still_calculating,"Räknar bävrar..."); InsertErrorPair(ttmath::err_percent_from,"Incorrectly used percentage operator"); + +/* + italian traslation relating to ttmath library +*/ + error_messages_tab.push_back( std::map() ); + + InsertErrorPair(ttmath::err_ok,"ok"); + InsertErrorPair(ttmath::err_nothing_has_read,""); + InsertErrorPair(ttmath::err_unknown_character,"Carattere sconosciuto"); + InsertErrorPair(ttmath::err_unexpected_final_bracket,"Parentesi finale inaspettata"); + InsertErrorPair(ttmath::err_stack_not_clear,"Carattere sconosciuto mancante"); + InsertErrorPair(ttmath::err_unknown_variable,"Variabile sconosciuta"); + InsertErrorPair(ttmath::err_division_by_zero,"Divisione per zero"); + InsertErrorPair(ttmath::err_interrupt,"Il calcolo e stato interrotto"); + InsertErrorPair(ttmath::err_overflow,"Overflow"); + InsertErrorPair(ttmath::err_unknown_function,"Funzione sconosciuta"); + InsertErrorPair(ttmath::err_unknown_operator,"Operatore sconosciuto"); + InsertErrorPair(ttmath::err_unexpected_semicolon_operator,"Operatore punto e virgola inaspettato"); + InsertErrorPair(ttmath::err_improper_amount_of_arguments,"Quantita non appropriata di argomenti"); + InsertErrorPair(ttmath::err_improper_argument,"Argomento inappropriato"); + InsertErrorPair(ttmath::err_unexpected_end,"Fine inaspettata"); + InsertErrorPair(ttmath::err_internal_error,"Errore interno"); + + InsertErrorPair(ttmath::err_incorrect_name,"Nome di funzione o variabile non corretto"); + InsertErrorPair(ttmath::err_incorrect_value,"Valore di funzione o variabile non corretto"); + InsertErrorPair(ttmath::err_variable_exists,"Questa variabile esiste gia"); + InsertErrorPair(ttmath::err_variable_loop,"C'e una ricorrenza tra variabili"); + InsertErrorPair(ttmath::err_functions_loop,"C'e una ricorrenza tra funzioni"); + InsertErrorPair(ttmath::err_must_be_only_one_value,"Le variabili o le funzioni devono dare come risultato un solo valore"); + InsertErrorPair(ttmath::err_still_calculating,"Calcolo..."); + InsertErrorPair(ttmath::err_percent_from,"Operatore percentuale non correttamente utilizzato"); } @@ -442,7 +473,6 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(display_param_sep_item2, " ; or ."); InsertGuiPair(display_param_sep_item3, " ; or ,"); - InsertGuiPair(convert_type, "Type"); InsertGuiPair(convert_input, "Input"); InsertGuiPair(convert_output, "Output"); @@ -464,6 +494,7 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(menu_view_lang_chinese, "&Chinese"); InsertGuiPair(menu_view_lang_russian, "&Russian"); InsertGuiPair(menu_view_lang_swedish, "S&wedish"); + InsertGuiPair(menu_view_lang_italian, "&Italian"); InsertGuiPair(menu_view_close_program, "&Close"); InsertGuiPair(menu_edit_undo, "&Undo \tCtrl+Z"); InsertGuiPair(menu_edit_cut, "Cu&t \tCtrl+X"); @@ -475,11 +506,12 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(menu_edit_copy_both, "Copy &both \tCtrl+B"); // copying in this way: "input edit = output edit" InsertGuiPair(menu_edit_select_all, "Select &all \tEsc"); InsertGuiPair(menu_edit_bracket, "Brac&ket \tCtrl+0"); // inserting brackets: (...) + InsertGuiPair(menu_edit_swap, "&Swap \tCtrl+W"); // swapping input edit for output edit InsertGuiPair(menu_help_help, "&Help"); InsertGuiPair(menu_help_project_page, "&Project page"); InsertGuiPair(menu_help_check_update, "&Check update..."); InsertGuiPair(menu_help_about, "&About"); - InsertGuiPair(menu_update_available, "&New version is available"); // not implemented yet + InsertGuiPair(menu_update_available, "&New version is available"); // this will be a new main menu item (one after 'help') visible only if there is an update InsertGuiPair(cant_init_calculations, "I could not initialize the module for calculations"); @@ -520,6 +552,8 @@ void Languages::InitGuiMessagesTab() " vdgladilovich@gmail.com\r\n" "Swedish Lars 'Bafvert' Gafvert\r\n" " lars.gafvert@gmail.com\r\n" + "Italian Damiano Monaco\r\n" + " dmonax@gmail.com\r\n" ); InsertGuiPair(about_text_portable_version, " portable version"); InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.04\r\n"); @@ -561,7 +595,10 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(pad_menu_edit_del, "&Del \tDel"); InsertGuiPair(pad_menu_edit_select_all, "Select &all \tCtrl+A"); - + InsertGuiPair(cannot_open_file, "I cannot open the file"); + InsertGuiPair(cannot_save_file, "I cannot save to such a file"); + InsertGuiPair(file_too_long, "The file is too long"); + InsertGuiPair(other_error, "There was a problem with this operation"); // for other kinds of errors /* polish gui messages @@ -661,6 +698,7 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(menu_view_lang_chinese, "&Chiñski"); InsertGuiPair(menu_view_lang_russian, "&Rosyjski"); InsertGuiPair(menu_view_lang_swedish, "&Szwedzki"); + InsertGuiPair(menu_view_lang_italian, "&W³oski"); InsertGuiPair(menu_view_close_program, "&Zamknij"); InsertGuiPair(menu_edit_undo, "&Cofnij \tCtrl+Z"); InsertGuiPair(menu_edit_cut, "Wy&tnij \tCtrl+X"); @@ -672,6 +710,7 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(menu_edit_copy_both, "Kopiuj &obydwa \tCtrl+B"); InsertGuiPair(menu_edit_select_all, "Zaznacz w&szystko \tEsc"); InsertGuiPair(menu_edit_bracket, "&Nawiasy \tCtrl+0"); + InsertGuiPair(menu_edit_swap, "&Zamiana \tCtrl+W"); InsertGuiPair(menu_help_help, "&Pomoc"); InsertGuiPair(menu_help_project_page, "&Strona projektu"); InsertGuiPair(menu_help_check_update, "SprawdŸ &aktualizacjê..."); @@ -716,6 +755,8 @@ void Languages::InitGuiMessagesTab() " vdgladilovich@gmail.com\r\n" "Szwedzki Lars 'Bafvert' Gafvert\r\n" " lars.gafvert@gmail.com\r\n" + "W³oski Damiano Monaco\r\n" + " dmonax@gmail.com\r\n" ); InsertGuiPair(about_text_portable_version, " wersja portable"); InsertGuiPair(about_text_exe_packer, "Paker exe: UPX 3.04\r\n"); @@ -757,6 +798,10 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(pad_menu_edit_del, "&Usuñ \tDel"); InsertGuiPair(pad_menu_edit_select_all, "Zaznacz wszystko \tCtrl+A"); + InsertGuiPair(cannot_open_file, "Nie mogê otworzyæ podanego pliku"); + InsertGuiPair(cannot_save_file, "Nie mogê zapisaæ podanego pliku"); + InsertGuiPair(file_too_long, "Podany plik jest zbyt du¿y"); + InsertGuiPair(other_error, "Wyst¹pi³ problem z t¹ operacj¹"); // for other kinds of errors /* @@ -859,6 +904,7 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(menu_view_lang_chinese, "&Chino"); InsertGuiPair(menu_view_lang_russian, "&Ruso"); InsertGuiPair(menu_view_lang_swedish, "&Sueco"); + InsertGuiPair(menu_view_lang_italian, "I&talian"); InsertGuiPair(menu_view_close_program, "&Close"); InsertGuiPair(menu_edit_undo, "&Deshacer \tCtrl+Z"); @@ -871,6 +917,7 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(menu_edit_paste_formula, "Pegar &fórmula\tCtrl+V"); // pasting directly to the input edit InsertGuiPair(menu_edit_select_all, "Seleccionar &todo \tEsc"); InsertGuiPair(menu_edit_bracket, "C&orchetes \tCtrl+0"); // inserting brackets: (...) + InsertGuiPair(menu_edit_swap, "&Swap \tCtrl+W"); // swapping input edit for output edit InsertGuiPair(menu_update_available, "&Nueva versión disponible"); InsertGuiPair(menu_help_help, "&Ayuda"); @@ -916,6 +963,8 @@ void Languages::InitGuiMessagesTab() " vdgladilovich@gmail.com\r\n" "Sueco Lars 'Bafvert' Gafvert\r\n" " lars.gafvert@gmail.com\r\n" + "Italian Damiano Monaco\r\n" + " dmonax@gmail.com\r\n" ); InsertGuiPair(about_text_portable_version, " versión portatil"); InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.04\r\n"); @@ -958,6 +1007,11 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(pad_menu_edit_del, "&Borrar \tDel"); InsertGuiPair(pad_menu_edit_select_all, "Seleccionar &todo \tCtrl+A"); + InsertGuiPair(cannot_open_file, "I cannot open the file"); + InsertGuiPair(cannot_save_file, "I cannot save to such a file"); + InsertGuiPair(file_too_long, "The file is too long"); + InsertGuiPair(other_error, "There was a problem with this operation"); // for other kinds of errors + /* @@ -1058,6 +1112,7 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(menu_view_lang_chinese, "&Kinesisk"); InsertGuiPair(menu_view_lang_russian, "&Russisk"); InsertGuiPair(menu_view_lang_swedish, "S&vensk"); + InsertGuiPair(menu_view_lang_italian, "&Italian"); InsertGuiPair(menu_view_close_program, "Afslu&t"); InsertGuiPair(menu_edit_undo, "&Fortryd \tCtrl+Z"); InsertGuiPair(menu_edit_cut, "Kli&p \tCtrl+X"); @@ -1069,6 +1124,7 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(menu_edit_paste_formula, "Indsæt f&ormular\tCtrl+V"); // pasting directly to the input edit InsertGuiPair(menu_edit_select_all, "Marker &alt \tEsc"); InsertGuiPair(menu_edit_bracket, "Bracke&t \tCtrl+0"); // inserting brackets: (...) + InsertGuiPair(menu_edit_swap, "&Swap \tCtrl+W"); // swapping input edit for output edit InsertGuiPair(menu_help_help, "&Hjælp"); InsertGuiPair(menu_help_project_page, "&Projekt side"); InsertGuiPair(menu_help_check_update, "O&pdater..."); @@ -1113,6 +1169,8 @@ void Languages::InitGuiMessagesTab() " vdgladilovich@gmail.com\r\n" "Swedish Lars 'Bafvert' Gafvert\r\n" " lars.gafvert@gmail.com\r\n" + "Italian Damiano Monaco\r\n" + " dmonax@gmail.com\r\n" ); InsertGuiPair(about_text_portable_version, " transportabel version"); InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.04\r\n"); @@ -1155,6 +1213,12 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(pad_menu_edit_del, "&Del \tDel"); InsertGuiPair(pad_menu_edit_select_all, "Marker &alt \tCtrl+A"); + InsertGuiPair(cannot_open_file, "I cannot open the file"); + InsertGuiPair(cannot_save_file, "I cannot save to such a file"); + InsertGuiPair(file_too_long, "The file is too long"); + InsertGuiPair(other_error, "There was a problem with this operation"); // for other kinds of errors + + /* chinese gui messages @@ -1253,6 +1317,7 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(menu_view_lang_chinese, "&¼òÌåÖÐÎÄ"); InsertGuiPair(menu_view_lang_russian, "&¶íÓï"); InsertGuiPair(menu_view_lang_swedish, "&ÈðµäÓï"); + InsertGuiPair(menu_view_lang_italian, "&Italian"); InsertGuiPair(menu_view_close_program, "&¹Ø±Õ"); InsertGuiPair(menu_edit_undo, "&È¡Ïû \tCtrl+Z"); InsertGuiPair(menu_edit_cut, "&¼ôÇÐ \tCtrl+X"); @@ -1264,6 +1329,7 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(menu_edit_copy_result, "&¸´Öƽá¹û \tCtrl+R"); InsertGuiPair(menu_edit_select_all, "&È«Ñ¡\tEsc"); InsertGuiPair(menu_edit_bracket, "&¼ÓÀ¨ºÅ \tCtrl+0"); // inserting brackets: (...) + InsertGuiPair(menu_edit_swap, "&Swap \tCtrl+W"); // swapping input edit for output edit InsertGuiPair(menu_help_help, "&°ïÖú"); InsertGuiPair(menu_help_project_page, "&Èí¼þÖ÷Ò³"); InsertGuiPair(menu_help_about, "&¹ØÓÚ"); @@ -1309,6 +1375,8 @@ void Languages::InitGuiMessagesTab() " vdgladilovich@gmail.com\r\n" "ÈðµäÓï Lars 'Bafvert' Gafvert\r\n" " lars.gafvert@gmail.com\r\n" + "Italian Damiano Monaco\r\n" + " dmonax@gmail.com\r\n" ); InsertGuiPair(about_text_portable_version, " portable version"); InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.04\r\n"); @@ -1351,6 +1419,12 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(pad_menu_edit_del, "&ɾ³ý \tDel"); InsertGuiPair(pad_menu_edit_select_all, "&È«Ñ¡ \tCtrl+A"); + InsertGuiPair(cannot_open_file, "I cannot open the file"); + InsertGuiPair(cannot_save_file, "I cannot save to such a file"); + InsertGuiPair(file_too_long, "The file is too long"); + InsertGuiPair(other_error, "There was a problem with this operation"); // for other kinds of errors + + /* @@ -1451,6 +1525,7 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(menu_view_lang_chinese, "&Êèòàéñêèé"); InsertGuiPair(menu_view_lang_russian, "&Ðóññêèé"); InsertGuiPair(menu_view_lang_swedish, "&Øâåäñêèé"); + InsertGuiPair(menu_view_lang_italian, "&Italian"); InsertGuiPair(menu_view_close_program, "&Çàêðûòü"); InsertGuiPair(menu_edit_undo, "&Îòìåíèòü äåéñòâèå \tCtrl+Z"); @@ -1463,6 +1538,7 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(menu_edit_paste_formula, "Âñòàâèòü â &ôîðìóëó \tCtrl+V"); // pasting directly to the input edit InsertGuiPair(menu_edit_select_all, "Âûä&åëèòü âñ¸ \tEsc"); InsertGuiPair(menu_edit_bracket, "Âñòàâèòü ñêî&áêè \tCtrl+0"); // inserting brackets: (...) + InsertGuiPair(menu_edit_swap, "&Swap \tCtrl+W"); // swapping input edit for output edit InsertGuiPair(menu_help_check_update, "Ïðîâåðèòü î&áíîâëåíèÿ..."); InsertGuiPair(menu_update_available, "&Äîñòóïíà íîâàÿ âåðñèÿ!"); @@ -1509,6 +1585,8 @@ void Languages::InitGuiMessagesTab() " vdgladilovich@gmail.com\r\n" "Øâåäñêèé Lars 'Bafvert' Gafvert\r\n" " lars.gafvert@gmail.com\r\n" + "Italian Damiano Monaco\r\n" + " dmonax@gmail.com\r\n" ); InsertGuiPair(about_text_portable_version, " ïåðåíîñíàÿ âåðñèÿ"); InsertGuiPair(about_text_exe_packer, "óïàêîâùèê EXE: UPX 3.04\r\n"); @@ -1552,6 +1630,13 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(pad_menu_edit_del, "&Óäàëèòü \tDel"); InsertGuiPair(pad_menu_edit_select_all, "Âûä&åëèòü âñ¸ \tCtrl+A"); + InsertGuiPair(cannot_open_file, "I cannot open the file"); + InsertGuiPair(cannot_save_file, "I cannot save to such a file"); + InsertGuiPair(file_too_long, "The file is too long"); + InsertGuiPair(other_error, "There was a problem with this operation"); // for other kinds of errors + + + /* @@ -1651,6 +1736,7 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(menu_view_lang_chinese, "&Kinesiska"); InsertGuiPair(menu_view_lang_russian, "&Ryska"); InsertGuiPair(menu_view_lang_swedish, "S&venska"); + InsertGuiPair(menu_view_lang_italian, "&Italian"); InsertGuiPair(menu_view_close_program, "A&vsluta"); InsertGuiPair(menu_edit_undo, "&Ångra \tCtrl+Z"); InsertGuiPair(menu_edit_cut, "Cu&t \tCtrl+X"); @@ -1662,6 +1748,7 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(menu_edit_copy_both, "Copy &both \tCtrl+B"); InsertGuiPair(menu_edit_select_all, "Select &all \tEsc"); InsertGuiPair(menu_edit_bracket, "B&racket \tCtrl+0"); + InsertGuiPair(menu_edit_swap, "&Swap \tCtrl+W"); InsertGuiPair(menu_help_help, "&Hjälp"); InsertGuiPair(menu_help_project_page, "&Projektsida"); InsertGuiPair(menu_help_check_update, "&Check update..."); @@ -1706,6 +1793,8 @@ void Languages::InitGuiMessagesTab() " vdgladilovich@gmail.com\r\n" "Swedish Lars 'Bafvert' Gafvert\r\n" " lars.gafvert@gmail.com\r\n" + "Italian Damiano Monaco\r\n" + " dmonax@gmail.com\r\n" ); InsertGuiPair(about_text_portable_version, " transportabel version"); InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.04\r\n"); @@ -1747,6 +1836,218 @@ void Languages::InitGuiMessagesTab() InsertGuiPair(pad_menu_edit_del, "&Del \tDel"); InsertGuiPair(pad_menu_edit_select_all, "Select &all \tCtrl+A"); + InsertGuiPair(cannot_open_file, "I cannot open the file"); + InsertGuiPair(cannot_save_file, "I cannot save to such a file"); + InsertGuiPair(file_too_long, "The file is too long"); + InsertGuiPair(other_error, "There was a problem with this operation"); // for other kinds of errors + + + + +/* + italian gui messages +*/ + gui_messages_tab.push_back( std::map() ); + + InsertGuiPair(button_ok,"Ok"); + InsertGuiPair(button_cancel,"Elimina"); + InsertGuiPair(message_box_caption,"TTCalc"); + + InsertGuiPair(dialog_box_add_variable_caption,"Aggiungi una nuova variabile"); + InsertGuiPair(dialog_box_edit_variable_caption,"Modifica una variabile"); + InsertGuiPair(dialog_box_add_variable_incorrect_name,"Nome di variabile non corretto"); + InsertGuiPair(dialog_box_add_variable_incorrect_value,"Valore di variabile non corretto"); + InsertGuiPair(dialog_box_add_variable_variable_exists,"Questa variabile esiste gia"); + InsertGuiPair(dialog_box_edit_variable_unknown_variable,"Variabile non presente nella mia tabella. Probabilmente un errore interno!"); + InsertGuiPair(dialog_box_delete_variable_confirm,"Vuoi eliminare queste variabili?"); + InsertGuiPair(dialog_box_variable_not_all_deleted,"Non sono stato in grado di eliminare alcune variabili. Probabilmente un errore interno!"); + InsertGuiPair(dialog_box_add_function_caption,"Aggiungi una nuova funzione"); + InsertGuiPair(dialog_box_edit_function_caption,"Modifica una funzione"); + InsertGuiPair(dialog_box_add_function_function_exists,"Questa funzione esiste gia"); + InsertGuiPair(dialog_box_edit_function_unknown_function,"Funzione non presente nella mia tabella. Probabilmente un errore interno!"); + InsertGuiPair(dialog_box_delete_function_confirm,"Vuoi eliminare queste funzioni?"); + InsertGuiPair(dialog_box_function_not_all_deleted,"Non sono stato in grado di eliminare alcune funzioni. Probabilmente un errore interno!"); + InsertGuiPair(dialog_box_add_function_incorrect_name,"Nome di funzione non corretto"); + + InsertGuiPair(list_variables_header_1,"Nome"); + InsertGuiPair(list_variables_header_2,"Valore"); + InsertGuiPair(list_functions_header_1,"Nome"); + InsertGuiPair(list_functions_header_2,"Param."); + InsertGuiPair(list_functions_header_3,"Valore"); + + InsertGuiPair(button_add,"Aggiungi"); + InsertGuiPair(button_edit,"Modifica"); + InsertGuiPair(button_delete,"Elimina"); + InsertGuiPair(button_clear,"C"); + InsertGuiPair(tab_standard,"Standard"); + InsertGuiPair(tab_variables,"Variabili"); + InsertGuiPair(tab_functions,"Funzioni"); + InsertGuiPair(tab_precision,"Precisione"); + InsertGuiPair(tab_display,"Display"); + InsertGuiPair(tab_convert,"Conversione"); + + InsertGuiPair(radio_precision_1,"Piccola - 96 bit per la mantissa, 32 bit per l'esponente"); + InsertGuiPair(radio_precision_2,"Media - 512 bit per la mantissa, 64 bit per l'esponente"); + InsertGuiPair(radio_precision_3,"Grande - 1024 bit per la mantissa, 128 bit per l'esponente"); + + InsertGuiPair(precision_1_info,"(+/-)6.97...e+646457021, 26 cifre decimali valide"); + InsertGuiPair(precision_2_info,"(+/-)9.25...e+2776511644261678719, 152 cifre decimali valide"); + InsertGuiPair(precision_3_info,"(+/-)9.80...*10^(10^37), 306 cifre decimali valide"); + + InsertGuiPair(overflow_during_printing,"Overflow durante la stampa a video"); + + InsertGuiPair(combo_rounding_none,"nessuno"); + InsertGuiPair(combo_rounding_integer,"ad intero"); + InsertGuiPair(combo_rounding_to_number,"a"); + InsertGuiPair(combo_rounding_after_comma,"cifra/e"); + InsertGuiPair(check_remove_zeroes,"Rimuovere ultimi zeri finali"); + + InsertGuiPair(display_input, "Bese di input"); + InsertGuiPair(display_output, "Bese di output"); + InsertGuiPair(display_rounding, "Arrotondamento"); + InsertGuiPair(display_always_scientific,"Sempre"); + InsertGuiPair(display_not_always_scientific,"Quando l'esponente e maggiore di:"); + InsertGuiPair(display_group_scientific, "Stampa il risultato in notazione scientifica"); + InsertGuiPair(display_deg_rad_grad, "Funzioni trigonometriche"); + InsertGuiPair(display_grouping, "Raggruppamento"); // e.g. 1`000`000 + InsertGuiPair(display_grouping_none, "nessuno"); + InsertGuiPair(display_grouping_space, "spazio"); + InsertGuiPair(display_input_decimal_point, "Punto decimale in input"); // Decimal point in formula + InsertGuiPair(display_input_decimal_point_item1, " . oppure ,"); + InsertGuiPair(display_output_decimal_point, "Punto decimale in output"); // Decimal point in result + InsertGuiPair(display_param_sep, "Parametri separati da"); + InsertGuiPair(display_param_sep_item2, " ; oppure ."); + InsertGuiPair(display_param_sep_item3, " ; oppure ,"); + + + InsertGuiPair(convert_type, "Tipo"); + InsertGuiPair(convert_input, "Input"); + InsertGuiPair(convert_output, "Output"); + InsertGuiPair(convert_dynamic_output, "Prefisso automatico"); + + InsertGuiPair(menu_view, "&Vista"); + InsertGuiPair(menu_edit, "&Modifica"); + InsertGuiPair(menu_help, "&Aiuto"); + InsertGuiPair(menu_language, "&Linguaggio"); + InsertGuiPair(menu_view_new_window, "&Nuova finestra"); + InsertGuiPair(menu_view_normal_view, "Vista &normale"); + InsertGuiPair(menu_view_compact_view, "Vista &compatta"); + InsertGuiPair(menu_view_pad, "&Bloc-notes"); + InsertGuiPair(menu_view_always_on_top, "&In primo piano"); + InsertGuiPair(menu_view_lang_english, "&Inglese"); + InsertGuiPair(menu_view_lang_polish, "&Polacco"); + InsertGuiPair(menu_view_lang_spanish, "&Spagnolo"); + InsertGuiPair(menu_view_lang_danish, "&Danese"); + InsertGuiPair(menu_view_lang_chinese, "&Cinese"); + InsertGuiPair(menu_view_lang_russian, "&Russo"); + InsertGuiPair(menu_view_lang_swedish, "&Svedese"); + InsertGuiPair(menu_view_lang_italian, "I&talian"); + InsertGuiPair(menu_view_close_program, "&Esci"); + InsertGuiPair(menu_edit_undo, "&Annulla \tCtrl+Z"); + InsertGuiPair(menu_edit_cut, "&Taglia \tCtrl+X"); + InsertGuiPair(menu_edit_copy, "&Copia \tCtrl+C"); + InsertGuiPair(menu_edit_paste, "&Incolla"); // cutting, copying, pasting the the edit which has a focus + InsertGuiPair(menu_edit_del, "&Elimina \tDel"); + InsertGuiPair(menu_edit_paste_formula, "Incolla &formula\tCtrl+V"); // pasting directly to input edit + InsertGuiPair(menu_edit_copy_result, "Copia &risultato \tCtrl+R"); + InsertGuiPair(menu_edit_copy_both, "Copia &entrambe \tCtrl+B"); // copying in this way: "input edit = output edit" + InsertGuiPair(menu_edit_select_all, "Seleziona &tutto \tEsc"); + InsertGuiPair(menu_edit_bracket, "&Parentesi \tCtrl+0"); // inserting brackets: (...) + InsertGuiPair(menu_edit_swap, "&Swap \tCtrl+W"); // swapping input edit for output edit + InsertGuiPair(menu_help_help, "&Aiuto"); + InsertGuiPair(menu_help_project_page, "&Pagina del progetto"); + InsertGuiPair(menu_help_check_update, "&Ottieni aggiornamenti"); + InsertGuiPair(menu_help_about, "&Informazioni su..."); + InsertGuiPair(menu_update_available, "&Una nuova versione e disponibile"); // not implemented yet + // this will be a new main menu item (one after 'help') visible only if there is an update + + InsertGuiPair(cant_init_calculations, "Non posso inizializzare il modulo per i calcoli"); + InsertGuiPair(message_box_error_caption,"TTCalc"); + InsertGuiPair(cant_create_thread, "Non posso creare il secondo thread per i calcoli"); + InsertGuiPair(cant_create_pad, "Non posso creare la finestra del bloc-notes"); + InsertGuiPair(cant_create_main_window, "Non posso creare la finestra principale dell'applicazione"); + InsertGuiPair(cant_init_common_controls,"Non posso inizializzare i controlli usuali (InitCommonControlsEx)"); + InsertGuiPair(about_text, + "Calcolatore matematico TTCalc %d.%d.%d%s%s\r\n\r\n" + "Autore: Tomasz Sowa\r\n" + "Contatto: t.sowa@ttmath.org\r\n" + "Licenza: BSD (open source)\r\n" + "Pagina del progetto: http://ttcalc.sourceforge.net\r\n" + "Bignum library: TTMath %d.%d.%d%s (%s)\r\n" + "Bignum type: binary floating point numbers\r\n" + "Linguaggio di programmazione: C++\r\n" + "Compilatore: %s\r\n" + "%s" // for upx + "\r\n" + "TTCalc usa la TTMath bignum library" + " che può essere trovata su http://www.ttmath.org\r\n" + "\r\n" +#ifdef TTCALC_PORTABLE + "Questa e la verisone portatile del programma TTCalc. In questa versione " + "potrete fare calcoli con un solo tipo di precisione (96 bit per la " + "mantissa e 32 bit per l'esponente) di circa +/-6.9e+646457021.\r\n" + "\r\n" +#endif + "Traduzione:\r\n" + "Spagnolo Alejandro S. Valdezate\r\n" + " alesanval@gmail.com\r\n" + "Danese Rune Bisgaard Vammen\r\n" + " runebisgaard@gmail.com\r\n" + "Cinese Juis\r\n" + " zsyfly@gmail.com\r\n" + "Russo Vladimir Gladilovich\r\n" + " vdgladilovich@gmail.com\r\n" + "Svedese Lars 'Bafvert' Gafvert\r\n" + " lars.gafvert@gmail.com\r\n" + "Italian Damiano Monaco\r\n" + " dmonax@gmail.com\r\n" + ); + InsertGuiPair(about_text_portable_version, " versione portabile"); + InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.04\r\n"); + InsertGuiPair(about_box_title, "Informazioni su"); + InsertGuiPair(about_box_button_close, "Esci"); + InsertGuiPair(unknown_error, "Si e verificato un errore sconosciuto"); + InsertGuiPair(cant_find_help, "Non posso trovare nessun file di aiuto"); + InsertGuiPair(cant_open_project_page, "Non posso aprire la webpage del progetto"); + InsertGuiPair(update_title, "Controllo per una nuova versione"); + InsertGuiPair(update_button_next, "Continua"); + InsertGuiPair(update_button_finish, "Finito"); + InsertGuiPair(update_button_cancel, "Cancella"); + InsertGuiPair(update_check_at_startup, "Controlla sempre aggiornamenti all'avvio"); + InsertGuiPair(update_check_for_info, "Premi Continua per controllare gli aggiornamenti..."); + InsertGuiPair(update_is_new_version, "Versione %d.%d.%d disponibile, premi Continua per scaricare..."); + InsertGuiPair(update_no_new_version1, "Nessuna versione nuova disponibile."); + InsertGuiPair(update_no_new_version2, "Hai la versione piu aggiornata."); + InsertGuiPair(update_download_from, "Scaricamento da..."); +#ifndef TTCALC_PORTABLE + InsertGuiPair(update_downloaded_info1, "E' stato scaricato un nuovo programma di installazione."); + InsertGuiPair(update_downloaded_info2, "Premi Finito per chiudere TTCalc far partire l'installazione."); +#else + InsertGuiPair(update_downloaded_info1, "E' stata scaricata una nuova versione di TTCalc."); + InsertGuiPair(update_downloaded_info2, ""); +#endif + InsertGuiPair(update_download_error, "Si e verificato un problema durante il download, prova piu tardi."); + + InsertGuiPair(pad_title, "Pad"); + InsertGuiPair(pad_menu_file, "&File"); + InsertGuiPair(pad_menu_edit, "&Modifica"); + InsertGuiPair(pad_menu_file_new, "&Nuovo"); // temporarily not used + InsertGuiPair(pad_menu_file_open, "&Apri..."); + InsertGuiPair(pad_menu_file_saveas, "Salva &come..."); + InsertGuiPair(pad_menu_file_close, "&Chiudi"); + InsertGuiPair(pad_menu_edit_undo, "&Annulla \tCtrl+Z"); + InsertGuiPair(pad_menu_edit_cut, "&Taglia \tCtrl+X"); + InsertGuiPair(pad_menu_edit_copy, "&Copia \tCtrl+C"); + InsertGuiPair(pad_menu_edit_paste, "&Incolla \tCtrl+V"); + InsertGuiPair(pad_menu_edit_del, "&Elimina \tDel"); + InsertGuiPair(pad_menu_edit_select_all, "Seleziona &tutto \tCtrl+A"); + + InsertGuiPair(cannot_open_file, "I cannot open the file"); + InsertGuiPair(cannot_save_file, "I cannot save to such a file"); + InsertGuiPair(file_too_long, "The file is too long"); + InsertGuiPair(other_error, "There was a problem with this operation"); // for other kinds of errors + + } diff --git a/src/languages.h b/src/languages.h index 5096c07..5f19604 100644 --- a/src/languages.h +++ b/src/languages.h @@ -5,7 +5,7 @@ */ /* - * Copyright (c) 2006-2009, Tomasz Sowa + * Copyright (c) 2006-2010, Tomasz Sowa * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -131,6 +131,7 @@ public: menu_view_lang_chinese, menu_view_lang_russian, menu_view_lang_swedish, + menu_view_lang_italian, menu_view_close_program, menu_edit_undo, menu_edit_cut, @@ -142,6 +143,7 @@ public: menu_edit_copy_both, menu_edit_select_all, menu_edit_bracket, + menu_edit_swap, menu_help_help, menu_help_project_page, menu_help_check_update, @@ -187,6 +189,10 @@ public: pad_menu_edit_paste, pad_menu_edit_del, pad_menu_edit_select_all, + cannot_open_file, + cannot_save_file, + file_too_long, + other_error, unknown_error }; @@ -195,7 +201,7 @@ public: // (after conversion to 'int' we pass it into the std::vector) enum Country { - en = 0, pl, sp, da, chn, ru, swe + en = 0, pl, sp, da, chn, ru, swe, it }; diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index de85214..56b992c 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -5,7 +5,7 @@ */ /* - * Copyright (c) 2006-2009, Tomasz Sowa + * Copyright (c) 2006-2010, Tomasz Sowa * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -407,6 +407,7 @@ HMENU menu = GetMenu(hWnd); SetMenuLanguageItem(menu, IDM_LANGUAGE_CHINESE, Languages::menu_view_lang_chinese); SetMenuLanguageItem(menu, IDM_LANGUAGE_RUSSIAN, Languages::menu_view_lang_russian); SetMenuLanguageItem(menu, IDM_LANGUAGE_SWEDISH, Languages::menu_view_lang_swedish); + SetMenuLanguageItem(menu, IDM_LANGUAGE_ITALIAN, Languages::menu_view_lang_italian); SetMenuLanguageItem(menu, IDM_CLOSE_PROGRAM, Languages::menu_view_close_program); SetMenuLanguageItem(menu, IDM_EDIT_UNDO, Languages::menu_edit_undo); SetMenuLanguageItem(menu, IDM_EDIT_CUT, Languages::menu_edit_cut); @@ -418,6 +419,7 @@ HMENU menu = GetMenu(hWnd); SetMenuLanguageItem(menu, IDM_EDIT_COPY_BOTH, Languages::menu_edit_copy_both); SetMenuLanguageItem(menu, IDM_EDIT_SELECT_ALL, Languages::menu_edit_select_all); SetMenuLanguageItem(menu, IDM_EDIT_BRACKET, Languages::menu_edit_bracket); + SetMenuLanguageItem(menu, IDM_EDIT_SWAP, Languages::menu_edit_swap); SetMenuLanguageItem(menu, IDM_HELP_HELP, Languages::menu_help_help); SetMenuLanguageItem(menu, IDM_HELP_PROJECT_PAGE, Languages::menu_help_project_page); SetMenuLanguageItem(menu, IDM_HELP_CHECK_UPDATE, Languages::menu_help_check_update); @@ -814,6 +816,9 @@ void WmInitMenuPopUpView(HMENU menu) else if( lang == Languages::swe ) CheckMenuItem(menu, IDM_LANGUAGE_SWEDISH, MF_BYCOMMAND|MF_CHECKED); + else + if( lang == Languages::it ) + CheckMenuItem(menu, IDM_LANGUAGE_ITALIAN, MF_BYCOMMAND|MF_CHECKED); } @@ -902,6 +907,11 @@ bool edit_readonly = false; // the edit is read only EnableMenuItem(menu,IDM_EDIT_BRACKET,MF_BYCOMMAND | MF_GRAYED); } + // swap + if( output_size > 0 ) + EnableMenuItem(menu, IDM_EDIT_SWAP, MF_BYCOMMAND | MF_ENABLED); + else + EnableMenuItem(menu, IDM_EDIT_SWAP, MF_BYCOMMAND | MF_GRAYED); } @@ -1108,6 +1118,24 @@ return true; } +BOOL WmCommand_EditSwap(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + char * buf = GetPrgRes()->GetBufferTemp(); + GetDlgItemText(hWnd, IDC_OUTPUT_EDIT, buf, GetPrgRes()->GetBufferSize()); + + if( buf[0] == 0 ) + return true; // output edit is empty + + SetDlgItemText(hWnd, IDC_INPUT_EDIT, buf); + + // setting the caret at the end of the input edit + int len = SendDlgItemMessage(hWnd, IDC_INPUT_EDIT, EM_LINELENGTH, 0, 0); + SendDlgItemMessage(hWnd, IDC_INPUT_EDIT, EM_SETSEL, len, len); + +return true; +} + + BOOL WmCommand_EditCopyResult(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { CopyResult(); @@ -1115,6 +1143,7 @@ BOOL WmCommand_EditCopyResult(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa return true; } + BOOL WmCommand_EditCopyBoth(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { unsigned int in_len = SendDlgItemMessage(hWnd, IDC_INPUT_EDIT, EM_LINELENGTH, 0, 0); @@ -1310,6 +1339,18 @@ BOOL WmCommand_LanguageSwedish(HWND hWnd, UINT message, WPARAM wParam, LPARAM lP return true; } +BOOL WmCommand_LanguageItalian(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + GetPrgRes()->GetLanguages()->SetCurrentLanguage(Languages::it); + + SetMenuLanguage(hWnd); + SetOutputEditLanguage(hWnd); + TabWindowFunctions::SetLanguage( GetDlgItem(hWnd, IDC_TAB) ); + SetPadLanguage(); + +return true; +} + BOOL WmHelp(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { @@ -1404,6 +1445,7 @@ void CreateCommandMessagesTable(Messages & cmessages) cmessages.Associate(IDM_EDIT_PASTE, WmCommand_EditPaste); cmessages.Associate(IDM_EDIT_DEL, WmCommand_EditDel); cmessages.Associate(IDM_EDIT_BRACKET, WmCommand_EditBracket); + cmessages.Associate(IDM_EDIT_SWAP, WmCommand_EditSwap); cmessages.Associate(IDCANCEL, WmCommand_IDCANCEL); cmessages.Associate(IDM_EDIT_SELECT_ALL, WmCommand_IDCANCEL); cmessages.Associate(IDM_LANGUAGE_ENGLISH, WmCommand_LanguageEnglish); @@ -1413,6 +1455,7 @@ void CreateCommandMessagesTable(Messages & cmessages) cmessages.Associate(IDM_LANGUAGE_CHINESE, WmCommand_LanguageChinese); cmessages.Associate(IDM_LANGUAGE_RUSSIAN, WmCommand_LanguageRussian); cmessages.Associate(IDM_LANGUAGE_SWEDISH, WmCommand_LanguageSwedish); + cmessages.Associate(IDM_LANGUAGE_ITALIAN, WmCommand_LanguageItalian); cmessages.Associate(IDM_HELP_HELP, WmHelp); cmessages.Associate(IDM_HELP_PROJECT_PAGE, WmProjectPage); } diff --git a/src/pad.cpp b/src/pad.cpp index 2c082b6..023dde6 100644 --- a/src/pad.cpp +++ b/src/pad.cpp @@ -571,11 +571,12 @@ LRESULT PadOpen(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) std::ifstream file(file_name.c_str(), std::ios_base::in | std::ios_base::binary); - + Languages * lang = GetPrgRes()->GetLanguages(); if( !file ) { - MessageBox(hwnd, "I cannot open the file", "TTcalc", MB_ICONERROR); + MessageBox(hwnd, lang->GuiMessage(Languages::cannot_open_file), + lang->GuiMessage(Languages::message_box_error_caption), MB_ICONERROR); return 0; } @@ -584,7 +585,8 @@ LRESULT PadOpen(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) if( pos > 65530 ) { - MessageBox(hwnd, "The file is too long", "TTcalc", MB_ICONERROR); + MessageBox(hwnd, lang->GuiMessage(Languages::file_too_long), + lang->GuiMessage(Languages::message_box_error_caption), MB_ICONERROR); return 0; } @@ -644,7 +646,9 @@ void SaveBuffer(HWND hwnd, const char * buf) if( !file ) { - MessageBox(hwnd, "I cannot open the file for saving", "TTCalc", MB_ICONERROR); + Languages * lang = GetPrgRes()->GetLanguages(); + MessageBox(hwnd, lang->GuiMessage(Languages::cannot_save_file), + lang->GuiMessage(Languages::message_box_error_caption), MB_ICONERROR); return; } @@ -661,12 +665,13 @@ LRESULT PadSave(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) if( !SaveDialog(hwnd) ) return 0; - + Languages * lang = GetPrgRes()->GetLanguages(); HLOCAL handle = (HLOCAL)SendMessage(edit, EM_GETHANDLE, 0, 0); if( handle == 0 ) { - MessageBox(hwnd, "There was a problem with saving", "TTCalc", MB_ICONERROR); + MessageBox(hwnd, lang->GuiMessage(Languages::other_error), + lang->GuiMessage(Languages::message_box_error_caption), MB_ICONERROR); return 0; } @@ -675,7 +680,8 @@ LRESULT PadSave(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) if( buf ) SaveBuffer(hwnd, buf); else - MessageBox(hwnd, "There was a problem with saving", "TTCalc", MB_ICONERROR); + MessageBox(hwnd, lang->GuiMessage(Languages::other_error), + lang->GuiMessage(Languages::message_box_error_caption), MB_ICONERROR); LocalUnlock(handle); diff --git a/src/programresources.cpp b/src/programresources.cpp index 174b50e..86888f7 100644 --- a/src/programresources.cpp +++ b/src/programresources.cpp @@ -683,8 +683,8 @@ time_t ProgramResources::GetLastUpdate() ProgramResources::ProgramResources() { - // if you want to change the input buffer you have also to change - // ParserManager::ParserManager() : buffer_len(2048) in parsermanager.cpp + // if you want to change the input buffer you have to also change + // ParserManager::ParserManager() : buffer_len(20480) in parsermanager.cpp buffer_size = 20480; buffer = new char[buffer_size]; @@ -896,6 +896,9 @@ static const char help_name[] = "ttcalc.chm"; // which can be, for instance, as: // "C:\Documents and Settings\user\data application" on WinNT // or "C:\Windows\Data Application\" on Win9x + + // we don't use SHGetFolderLocation() because it is not available on Win9x + if( ReadTextValueFromRegistry( HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", @@ -1146,6 +1149,9 @@ std::string ini_value[30]; if( !ini_value[15].empty() ) SetRemovingZeroes( bool(atoi(ini_value[15].c_str())) ); + if( ini_value[13] == "7" ) + languages.SetCurrentLanguage(Languages::it); + else if( ini_value[13] == "6" ) languages.SetCurrentLanguage(Languages::swe); else diff --git a/src/resource.h b/src/resource.h index c5aee1e..9998841 100644 --- a/src/resource.h +++ b/src/resource.h @@ -5,7 +5,7 @@ */ /* - * Copyright (c) 2006-2009, Tomasz Sowa + * Copyright (c) 2006-2010, Tomasz Sowa * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -222,6 +222,7 @@ #define IDM_LANGUAGE_CHINESE 40014 #define IDM_LANGUAGE_RUSSIAN 40015 #define IDM_LANGUAGE_SWEDISH 40016 +#define IDM_LANGUAGE_ITALIAN 40017 #define IDM_CLOSE_PROGRAM 40020 #define IDM_EDIT_UNDO 40030 @@ -234,6 +235,7 @@ #define IDM_EDIT_PASTE_FORMULA 40037 #define IDM_EDIT_SELECT_ALL 40038 #define IDM_EDIT_BRACKET 40039 +#define IDM_EDIT_SWAP 40040 #define IDM_HELP_HELP 40050 #define IDM_HELP_PROJECT_PAGE 40051 diff --git a/src/resource.rc b/src/resource.rc index f187966..f63f897 100644 --- a/src/resource.rc +++ b/src/resource.rc @@ -34,6 +34,7 @@ BEGIN MENUITEM "Chinese", IDM_LANGUAGE_CHINESE MENUITEM "Russian", IDM_LANGUAGE_RUSSIAN MENUITEM "Swedish", IDM_LANGUAGE_SWEDISH + MENUITEM "Italian", IDM_LANGUAGE_ITALIAN END MENUITEM SEPARATOR MENUITEM "Close", IDM_CLOSE_PROGRAM @@ -53,6 +54,7 @@ BEGIN MENUITEM SEPARATOR MENUITEM "Select all", IDM_EDIT_SELECT_ALL MENUITEM "Bracket", IDM_EDIT_BRACKET + MENUITEM "Swap", IDM_EDIT_SWAP END POPUP "Help" BEGIN @@ -333,16 +335,16 @@ END #endif #ifndef TTCALC_PORTABLE -200 DIALOG DISCARDABLE 0, 0, 349, 256 +200 DIALOG DISCARDABLE 0, 0, 349, 284 STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "About" FONT 8, "MS Sans Serif" BEGIN - CONTROL IDB_BITMAP_ABOUT,0,"Static",SS_BITMAP | SS_REALSIZEIMAGE,3,3,115,250 - EDITTEXT IDC_ABOUT_TEXT,128,11,215,212,ES_MULTILINE | ES_READONLY | NOT - WS_BORDER | NOT WS_TABSTOP - DEFPUSHBUTTON "Close",IDOK,191,231,86,14 + CONTROL 1201,0,"Static",SS_BITMAP | SS_REALSIZEIMAGE,3,3,115,277 + EDITTEXT IDC_ABOUT_TEXT,128,11,215,243,ES_MULTILINE | ES_READONLY | + NOT WS_BORDER | NOT WS_TABSTOP + DEFPUSHBUTTON "Close",IDOK,191,259,86,14 END #else 200 DIALOG DISCARDABLE 0, 0, 268, 301 diff --git a/src/winmain.cpp b/src/winmain.cpp index 324376a..e6522d4 100644 --- a/src/winmain.cpp +++ b/src/winmain.cpp @@ -152,6 +152,10 @@ bool sent = true; sent = SendMessage(GetPrgRes()->GetMainWindow(), WM_COMMAND, IDM_EDIT_COPY_BOTH, 0); break; + case 'W': + sent = SendMessage(GetPrgRes()->GetMainWindow(), WM_COMMAND, IDM_EDIT_SWAP, 0); + break; + case '0': SendMessage(GetPrgRes()->GetMainWindow(), WM_COMMAND, IDC_BUTTON_BRACKETS_ALL, 0); break;