5 Commits
0.9.1 ... 0.9.2

Author SHA1 Message Date
e87308c721 added: blocks try{} catch(...) to first and second thread
changed: version of the program: 0.9.2 now



git-svn-id: svn://ttmath.org/publicrep/ttcalc/trunk@322 e52654a7-88a9-db11-a3e9-0013d4bc506e
2010-09-23 22:52:28 +00:00
eb7cec8ecc updated italian translation and about dialog (portable version)
git-svn-id: svn://ttmath.org/publicrep/ttcalc/trunk@308 e52654a7-88a9-db11-a3e9-0013d4bc506e
2010-09-15 12:19:09 +00:00
f67657c026 corrected the italian translation
git-svn-id: svn://ttmath.org/publicrep/ttcalc/trunk@307 e52654a7-88a9-db11-a3e9-0013d4bc506e
2010-09-14 19:03:18 +00:00
300f1aaa5f added: Italian translation made by
Damiano Monaco   <dmonax AnTispam gmail.com>
added:   menu: edit->swap (ctrl+W)
         swapping the input for the output edit



git-svn-id: svn://ttmath.org/publicrep/ttcalc/trunk@306 e52654a7-88a9-db11-a3e9-0013d4bc506e
2010-09-14 16:45:31 +00:00
cfcb654e53 added into the repository: src/threadcontroller.cpp
this file was out of controll by subversion (I forgot to add it)

added: the update can only download files from urles which begin with:
 http://downloads.sourceforge.net/
 ftp://ttmath.org/
this is in the case of someone hacked the server with *.ini file



git-svn-id: svn://ttmath.org/publicrep/ttcalc/trunk@293 e52654a7-88a9-db11-a3e9-0013d4bc506e
2010-02-17 17:05:00 +00:00
22 changed files with 745 additions and 72 deletions

View File

@@ -1,4 +1,18 @@
Version 0.9.1 (2009.02.07): Version 0.9.2 (2010.09.24):
* added: Italian translation made by
Damiano Monaco <dmonax at gmail.com>
* 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
* fixed: Big::ToString method
in some cases when in the output string the exponent should be equal zero
the method changes the exponent to one so the last digit from the mantissa
was lost
Version 0.9.1 (2010.02.07):
* fixed: the pad window didn't take into account following options (from display tab): * fixed: the pad window didn't take into account following options (from display tab):
grouping, input commas and parameter separators grouping, input commas and parameter separators
* updated: Chinese translation * updated: Chinese translation

3
README
View File

@@ -17,7 +17,8 @@ display values with the base (radix) from two to sixteen.
Author: Tomasz Sowa Author: Tomasz Sowa
Contact: t.sowa@ttmath.org Contact: t.sowa@ttmath.org
Licence: BSD (open source) 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/ Project page: http://ttcalc.sourceforge.net/
Bignum library: TTMath http://www.ttmath.org/ Bignum library: TTMath http://www.ttmath.org/
Operating systems: Microsoft Windows 9x/Me/NT/2000/XP/Vista/7 Operating systems: Microsoft Windows 9x/Me/NT/2000/XP/Vista/7

View File

@@ -44,7 +44,7 @@ display values with the base (radix) from two to sixteen.
<tr><td>Author:</td><td>Tomasz Sowa</td></tr> <tr><td>Author:</td><td>Tomasz Sowa</td></tr>
<tr><td>Contact:</td><td>t.sowa@ttmath.org</td></tr> <tr><td>Contact:</td><td>t.sowa@ttmath.org</td></tr>
<tr><td>Licence:</td><td>BSD (open source)</td></tr> <tr><td>Licence:</td><td>BSD (open source)</td></tr>
<tr><td>Interface:</td><td>English, Polish, Spanish, Danish, Chinese, Russian, Swedish</td></tr> <tr><td>Interface:</td><td>English, Polish, Spanish, Danish, Chinese, Russian, Swedish, Italian</td></tr>
<tr><td>Project page:</td><td><a href="http://ttcalc.sourceforge.net/">http://ttcalc.sourceforge.net/</a></td></tr> <tr><td>Project page:</td><td><a href="http://ttcalc.sourceforge.net/">http://ttcalc.sourceforge.net/</a></td></tr>
<tr><td>Bignum library:</td><td>TTMath <a href="http://ttmath.org/">http://www.ttmath.org/</a></td></tr> <tr><td>Bignum library:</td><td>TTMath <a href="http://ttmath.org/">http://www.ttmath.org/</a></td></tr>
<tr><td>Operating systems:</td><td>Microsoft Windows 9x/Me/NT/2000/XP/Vista/7</td></tr> <tr><td>Operating systems:</td><td>Microsoft Windows 9x/Me/NT/2000/XP/Vista/7</td></tr>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 KiB

After

Width:  |  Height:  |  Size: 227 KiB

View File

@@ -3,8 +3,8 @@
[Setup] [Setup]
AppName=TTCalc AppName=TTCalc
AppVerName=TTCalc 0.9.1 AppVerName=TTCalc 0.9.2
AppVersion=0.9.1 AppVersion=0.9.2
AppPublisher=Tomasz Sowa AppPublisher=Tomasz Sowa
AppPublisherURL=http://ttcalc.sourceforge.net AppPublisherURL=http://ttcalc.sourceforge.net
AppSupportURL=http://ttcalc.sourceforge.net AppSupportURL=http://ttcalc.sourceforge.net
@@ -30,6 +30,7 @@ Name: "danish"; MessagesFile: "compiler:Languages\Danish.isl"
Name: "chinese"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl" Name: "chinese"; MessagesFile: "compiler:Languages\ChineseSimp-12-5.1.11.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "swedish"; MessagesFile: "compiler:Languages\Swedish.isl" Name: "swedish"; MessagesFile: "compiler:Languages\Swedish.isl"
Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
[InstallDelete] [InstallDelete]
; prior to 0.8.3 we were using mingwm10.dll (now it is not needed and will be deleted if exists) ; prior to 0.8.3 we were using mingwm10.dll (now it is not needed and will be deleted if exists)

View File

@@ -1,6 +1,6 @@
CC = g++ CC = g++
#CFLAGS = -Wall -pedantic -s -O2 -mwindows -I../../ttmath -DTTMATH_RELEASE -DTTCALC_CONVERT #CFLAGS = -Wall -pedantic -s -O2 -mwindows -I../../ttmath -DTTCALC_CONVERT
CFLAGS = -Wall -pedantic -s -O2 -mwindows -I../../ttmath -DTTMATH_RELEASE CFLAGS = -Wall -pedantic -s -O2 -mwindows -I../../ttmath
name = ttcalc.exe name = ttcalc.exe
# the name of the help is also set in the html help workshop project file # the name of the help is also set in the html help workshop project file

View File

@@ -1,21 +1,26 @@
o = resource.o calculation.o convert.o download.o functions.o iniparser.o languages.o mainwindow.o pad.o parsermanager.o programresources.o tabs.o threadcontroller.o update.o variables.o winmain.o # add "resource.o" to "o" as well
o = resource.o calculation.o convert.o download.o functions.o iniparser.o languages.o mainwindow.o misc.o pad.o parsermanager.o programresources.o tabs.o threadcontroller.o update.o variables.o winmain.o
calculation.o: calculation.cpp compileconfig.h parsermanager.h resource.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h tabs.h messages.h calculation.o: calculation.cpp compileconfig.h parsermanager.h resource.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h tabs.h messages.h
convert.o: convert.cpp convert.h compileconfig.h bigtypes.h convert.o: convert.cpp convert.h compileconfig.h bigtypes.h
download.o: download.cpp compileconfig.h download.h download.o: download.cpp compileconfig.h download.h
functions.o: functions.cpp compileconfig.h tabs.h resource.h messages.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h functions.o: functions.cpp compileconfig.h tabs.h resource.h messages.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h
iniparser.o: iniparser.cpp compileconfig.h iniparser.h iniparser.o: iniparser.cpp compileconfig.h iniparser.h
languages.o: languages.cpp compileconfig.h languages.h bigtypes.h languages.o: languages.cpp compileconfig.h languages.h bigtypes.h
mainwindow.o: mainwindow.cpp compileconfig.h winmain.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h resource.h messages.h tabs.h pad.h update.h download.h mainwindow.o: mainwindow.cpp compileconfig.h winmain.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h resource.h messages.h tabs.h pad.h update.h download.h misc.h
misc.o: misc.cpp
pad.o: pad.cpp programresources.h compileconfig.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h resource.h messages.h pad.h pad.o: pad.cpp programresources.h compileconfig.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h resource.h messages.h pad.h
parsermanager.o: parsermanager.cpp compileconfig.h parsermanager.h resource.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h tabs.h messages.h parsermanager.o: parsermanager.cpp compileconfig.h parsermanager.h resource.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h tabs.h messages.h
programresources.o: programresources.cpp compileconfig.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h programresources.o: programresources.cpp compileconfig.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h
tabs.o: tabs.cpp compileconfig.h tabs.h resource.h messages.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h tabs.o: tabs.cpp compileconfig.h tabs.h resource.h messages.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h
threadcontroller.o: threadcontroller.cpp threadcontroller.h stopcalculating.h compileconfig.h threadcontroller.o: threadcontroller.cpp threadcontroller.h stopcalculating.h compileconfig.h
update.o: update.cpp compileconfig.h update.h download.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h messages.h resource.h winmain.h tabs.h pad.h update.o: update.cpp compileconfig.h update.h download.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h messages.h resource.h winmain.h tabs.h pad.h misc.h
variables.o: variables.cpp compileconfig.h tabs.h resource.h messages.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h variables.o: variables.cpp compileconfig.h tabs.h resource.h messages.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h
winmain.o: winmain.cpp compileconfig.h winmain.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h resource.h messages.h tabs.h pad.h update.h download.h winmain.o: winmain.cpp compileconfig.h winmain.h programresources.h iniparser.h languages.h bigtypes.h threadcontroller.h stopcalculating.h convert.h resource.h messages.h tabs.h pad.h update.h download.h
.SUFFIXES: .cpp .o .SUFFIXES: .cpp .o
.cpp.o: .cpp.o:

View File

@@ -1,5 +1,5 @@
CC = g++ 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 name = ttcalcp.exe
compressor = upx compressor = upx

View File

@@ -55,7 +55,7 @@
*/ */
#define TTCALC_MAJOR_VER 0 #define TTCALC_MAJOR_VER 0
#define TTCALC_MINOR_VER 9 #define TTCALC_MINOR_VER 9
#define TTCALC_REVISION_VER 1 #define TTCALC_REVISION_VER 2
#define TTCALC_PRERELEASE_VER 0 #define TTCALC_PRERELEASE_VER 0

View File

@@ -305,6 +305,37 @@ void Languages::InitErrorMessagesTab()
InsertErrorPair(ttmath::err_still_calculating,"R<EFBFBD>knar b<>vrar..."); InsertErrorPair(ttmath::err_still_calculating,"R<EFBFBD>knar b<>vrar...");
InsertErrorPair(ttmath::err_percent_from,"Incorrectly used percentage operator"); InsertErrorPair(ttmath::err_percent_from,"Incorrectly used percentage operator");
/*
italian traslation relating to ttmath library
*/
error_messages_tab.push_back( std::map<ttmath::ErrorCode, std::string>() );
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_item2, " ; or .");
InsertGuiPair(display_param_sep_item3, " ; or ,"); InsertGuiPair(display_param_sep_item3, " ; or ,");
InsertGuiPair(convert_type, "Type"); InsertGuiPair(convert_type, "Type");
InsertGuiPair(convert_input, "Input"); InsertGuiPair(convert_input, "Input");
InsertGuiPair(convert_output, "Output"); InsertGuiPair(convert_output, "Output");
@@ -464,6 +494,7 @@ void Languages::InitGuiMessagesTab()
InsertGuiPair(menu_view_lang_chinese, "&Chinese"); InsertGuiPair(menu_view_lang_chinese, "&Chinese");
InsertGuiPair(menu_view_lang_russian, "&Russian"); InsertGuiPair(menu_view_lang_russian, "&Russian");
InsertGuiPair(menu_view_lang_swedish, "S&wedish"); InsertGuiPair(menu_view_lang_swedish, "S&wedish");
InsertGuiPair(menu_view_lang_italian, "&Italian");
InsertGuiPair(menu_view_close_program, "&Close"); InsertGuiPair(menu_view_close_program, "&Close");
InsertGuiPair(menu_edit_undo, "&Undo \tCtrl+Z"); InsertGuiPair(menu_edit_undo, "&Undo \tCtrl+Z");
InsertGuiPair(menu_edit_cut, "Cu&t \tCtrl+X"); 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_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_select_all, "Select &all \tEsc");
InsertGuiPair(menu_edit_bracket, "Brac&ket \tCtrl+0"); // inserting brackets: (...) 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_help, "&Help");
InsertGuiPair(menu_help_project_page, "&Project page"); InsertGuiPair(menu_help_project_page, "&Project page");
InsertGuiPair(menu_help_check_update, "&Check update..."); InsertGuiPair(menu_help_check_update, "&Check update...");
InsertGuiPair(menu_help_about, "&About"); 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 // 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"); InsertGuiPair(cant_init_calculations, "I could not initialize the module for calculations");
@@ -520,6 +552,8 @@ void Languages::InitGuiMessagesTab()
" vdgladilovich@gmail.com\r\n" " vdgladilovich@gmail.com\r\n"
"Swedish Lars 'Bafvert' Gafvert\r\n" "Swedish Lars 'Bafvert' Gafvert\r\n"
" lars.gafvert@gmail.com\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_portable_version, " portable version");
InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.04\r\n"); 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_del, "&Del \tDel");
InsertGuiPair(pad_menu_edit_select_all, "Select &all \tCtrl+A"); 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 polish gui messages
@@ -661,6 +698,7 @@ void Languages::InitGuiMessagesTab()
InsertGuiPair(menu_view_lang_chinese, "&Chi<68>ski"); InsertGuiPair(menu_view_lang_chinese, "&Chi<68>ski");
InsertGuiPair(menu_view_lang_russian, "&Rosyjski"); InsertGuiPair(menu_view_lang_russian, "&Rosyjski");
InsertGuiPair(menu_view_lang_swedish, "&Szwedzki"); InsertGuiPair(menu_view_lang_swedish, "&Szwedzki");
InsertGuiPair(menu_view_lang_italian, "&W<>oski");
InsertGuiPair(menu_view_close_program, "&Zamknij"); InsertGuiPair(menu_view_close_program, "&Zamknij");
InsertGuiPair(menu_edit_undo, "&Cofnij \tCtrl+Z"); InsertGuiPair(menu_edit_undo, "&Cofnij \tCtrl+Z");
InsertGuiPair(menu_edit_cut, "Wy&tnij \tCtrl+X"); 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_copy_both, "Kopiuj &obydwa \tCtrl+B");
InsertGuiPair(menu_edit_select_all, "Zaznacz w&szystko \tEsc"); InsertGuiPair(menu_edit_select_all, "Zaznacz w&szystko \tEsc");
InsertGuiPair(menu_edit_bracket, "&Nawiasy \tCtrl+0"); InsertGuiPair(menu_edit_bracket, "&Nawiasy \tCtrl+0");
InsertGuiPair(menu_edit_swap, "&Zamiana \tCtrl+W");
InsertGuiPair(menu_help_help, "&Pomoc"); InsertGuiPair(menu_help_help, "&Pomoc");
InsertGuiPair(menu_help_project_page, "&Strona projektu"); InsertGuiPair(menu_help_project_page, "&Strona projektu");
InsertGuiPair(menu_help_check_update, "Sprawd<EFBFBD> &aktualizacj<63>..."); InsertGuiPair(menu_help_check_update, "Sprawd<EFBFBD> &aktualizacj<63>...");
@@ -716,6 +755,8 @@ void Languages::InitGuiMessagesTab()
" vdgladilovich@gmail.com\r\n" " vdgladilovich@gmail.com\r\n"
"Szwedzki Lars 'Bafvert' Gafvert\r\n" "Szwedzki Lars 'Bafvert' Gafvert\r\n"
" lars.gafvert@gmail.com\r\n" " lars.gafvert@gmail.com\r\n"
"W<EFBFBD>oski Damiano Monaco\r\n"
" dmonax@gmail.com\r\n"
); );
InsertGuiPair(about_text_portable_version, " wersja portable"); InsertGuiPair(about_text_portable_version, " wersja portable");
InsertGuiPair(about_text_exe_packer, "Paker exe: UPX 3.04\r\n"); 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<73> \tDel"); InsertGuiPair(pad_menu_edit_del, "&Usu<73> \tDel");
InsertGuiPair(pad_menu_edit_select_all, "Zaznacz wszystko \tCtrl+A"); InsertGuiPair(pad_menu_edit_select_all, "Zaznacz wszystko \tCtrl+A");
InsertGuiPair(cannot_open_file, "Nie mog<6F> otworzy<7A> podanego pliku");
InsertGuiPair(cannot_save_file, "Nie mog<6F> zapisa<73> podanego pliku");
InsertGuiPair(file_too_long, "Podany plik jest zbyt du<64>y");
InsertGuiPair(other_error, "Wyst<EFBFBD>pi<EFBFBD> problem z t<> operacj<63>"); // for other kinds of errors
/* /*
@@ -859,6 +904,7 @@ void Languages::InitGuiMessagesTab()
InsertGuiPair(menu_view_lang_chinese, "&Chino"); InsertGuiPair(menu_view_lang_chinese, "&Chino");
InsertGuiPair(menu_view_lang_russian, "&Ruso"); InsertGuiPair(menu_view_lang_russian, "&Ruso");
InsertGuiPair(menu_view_lang_swedish, "&Sueco"); InsertGuiPair(menu_view_lang_swedish, "&Sueco");
InsertGuiPair(menu_view_lang_italian, "I&talian");
InsertGuiPair(menu_view_close_program, "&Close"); InsertGuiPair(menu_view_close_program, "&Close");
InsertGuiPair(menu_edit_undo, "&Deshacer \tCtrl+Z"); 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_paste_formula, "Pegar &f<>rmula\tCtrl+V"); // pasting directly to the input edit
InsertGuiPair(menu_edit_select_all, "Seleccionar &todo \tEsc"); InsertGuiPair(menu_edit_select_all, "Seleccionar &todo \tEsc");
InsertGuiPair(menu_edit_bracket, "C&orchetes \tCtrl+0"); // inserting brackets: (...) 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<73>n disponible"); InsertGuiPair(menu_update_available, "&Nueva versi<73>n disponible");
InsertGuiPair(menu_help_help, "&Ayuda"); InsertGuiPair(menu_help_help, "&Ayuda");
@@ -916,6 +963,8 @@ void Languages::InitGuiMessagesTab()
" vdgladilovich@gmail.com\r\n" " vdgladilovich@gmail.com\r\n"
"Sueco Lars 'Bafvert' Gafvert\r\n" "Sueco Lars 'Bafvert' Gafvert\r\n"
" lars.gafvert@gmail.com\r\n" " lars.gafvert@gmail.com\r\n"
"Italian Damiano Monaco\r\n"
" dmonax@gmail.com\r\n"
); );
InsertGuiPair(about_text_portable_version, " versi<73>n portatil"); InsertGuiPair(about_text_portable_version, " versi<73>n portatil");
InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.04\r\n"); 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_del, "&Borrar \tDel");
InsertGuiPair(pad_menu_edit_select_all, "Seleccionar &todo \tCtrl+A"); 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_chinese, "&Kinesisk");
InsertGuiPair(menu_view_lang_russian, "&Russisk"); InsertGuiPair(menu_view_lang_russian, "&Russisk");
InsertGuiPair(menu_view_lang_swedish, "S&vensk"); InsertGuiPair(menu_view_lang_swedish, "S&vensk");
InsertGuiPair(menu_view_lang_italian, "&Italian");
InsertGuiPair(menu_view_close_program, "Afslu&t"); InsertGuiPair(menu_view_close_program, "Afslu&t");
InsertGuiPair(menu_edit_undo, "&Fortryd \tCtrl+Z"); InsertGuiPair(menu_edit_undo, "&Fortryd \tCtrl+Z");
InsertGuiPair(menu_edit_cut, "Kli&p \tCtrl+X"); InsertGuiPair(menu_edit_cut, "Kli&p \tCtrl+X");
@@ -1069,6 +1124,7 @@ void Languages::InitGuiMessagesTab()
InsertGuiPair(menu_edit_paste_formula, "Inds<EFBFBD>t f&ormular\tCtrl+V"); // pasting directly to the input edit InsertGuiPair(menu_edit_paste_formula, "Inds<EFBFBD>t f&ormular\tCtrl+V"); // pasting directly to the input edit
InsertGuiPair(menu_edit_select_all, "Marker &alt \tEsc"); InsertGuiPair(menu_edit_select_all, "Marker &alt \tEsc");
InsertGuiPair(menu_edit_bracket, "Bracke&t \tCtrl+0"); // inserting brackets: (...) 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<48>lp"); InsertGuiPair(menu_help_help, "&Hj<48>lp");
InsertGuiPair(menu_help_project_page, "&Projekt side"); InsertGuiPair(menu_help_project_page, "&Projekt side");
InsertGuiPair(menu_help_check_update, "O&pdater..."); InsertGuiPair(menu_help_check_update, "O&pdater...");
@@ -1113,6 +1169,8 @@ void Languages::InitGuiMessagesTab()
" vdgladilovich@gmail.com\r\n" " vdgladilovich@gmail.com\r\n"
"Swedish Lars 'Bafvert' Gafvert\r\n" "Swedish Lars 'Bafvert' Gafvert\r\n"
" lars.gafvert@gmail.com\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_portable_version, " transportabel version");
InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.04\r\n"); 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_del, "&Del \tDel");
InsertGuiPair(pad_menu_edit_select_all, "Marker &alt \tCtrl+A"); 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 chinese gui messages
@@ -1253,6 +1317,7 @@ void Languages::InitGuiMessagesTab()
InsertGuiPair(menu_view_lang_chinese, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); InsertGuiPair(menu_view_lang_chinese, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertGuiPair(menu_view_lang_russian, "&<26><><EFBFBD><EFBFBD>"); InsertGuiPair(menu_view_lang_russian, "&<26><><EFBFBD><EFBFBD>");
InsertGuiPair(menu_view_lang_swedish, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); InsertGuiPair(menu_view_lang_swedish, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertGuiPair(menu_view_lang_italian, "&Italian");
InsertGuiPair(menu_view_close_program, "&<26>ر<EFBFBD>"); InsertGuiPair(menu_view_close_program, "&<26>ر<EFBFBD>");
InsertGuiPair(menu_edit_undo, "<><C8A1> \tCtrl+Z"); InsertGuiPair(menu_edit_undo, "<><C8A1> \tCtrl+Z");
InsertGuiPair(menu_edit_cut, "&<26><><EFBFBD><EFBFBD> \tCtrl+X"); InsertGuiPair(menu_edit_cut, "&<26><><EFBFBD><EFBFBD> \tCtrl+X");
@@ -1264,6 +1329,7 @@ void Languages::InitGuiMessagesTab()
InsertGuiPair(menu_edit_copy_result, "&<26><><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD> \tCtrl+R"); InsertGuiPair(menu_edit_copy_result, "&<26><><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD> \tCtrl+R");
InsertGuiPair(menu_edit_select_all, "&ȫѡ\tEsc"); InsertGuiPair(menu_edit_select_all, "&ȫѡ\tEsc");
InsertGuiPair(menu_edit_bracket, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \tCtrl+0"); // inserting brackets: (...) InsertGuiPair(menu_edit_bracket, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \tCtrl+0"); // inserting brackets: (...)
InsertGuiPair(menu_edit_swap, "&Swap \tCtrl+W"); // swapping input edit for output edit
InsertGuiPair(menu_help_help, "&<26><><EFBFBD><EFBFBD>"); InsertGuiPair(menu_help_help, "&<26><><EFBFBD><EFBFBD>");
InsertGuiPair(menu_help_project_page, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ"); InsertGuiPair(menu_help_project_page, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ");
InsertGuiPair(menu_help_about, "&<26><><EFBFBD><EFBFBD>"); InsertGuiPair(menu_help_about, "&<26><><EFBFBD><EFBFBD>");
@@ -1309,6 +1375,8 @@ void Languages::InitGuiMessagesTab()
" vdgladilovich@gmail.com\r\n" " vdgladilovich@gmail.com\r\n"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Lars 'Bafvert' Gafvert\r\n" "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Lars 'Bafvert' Gafvert\r\n"
" lars.gafvert@gmail.com\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_portable_version, " portable version");
InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.04\r\n"); InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.04\r\n");
@@ -1351,6 +1419,12 @@ void Languages::InitGuiMessagesTab()
InsertGuiPair(pad_menu_edit_del, "<><C9BE> \tDel"); InsertGuiPair(pad_menu_edit_del, "<><C9BE> \tDel");
InsertGuiPair(pad_menu_edit_select_all, "&ȫѡ \tCtrl+A"); 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, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); InsertGuiPair(menu_view_lang_chinese, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertGuiPair(menu_view_lang_russian, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); InsertGuiPair(menu_view_lang_russian, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertGuiPair(menu_view_lang_swedish, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); InsertGuiPair(menu_view_lang_swedish, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertGuiPair(menu_view_lang_italian, "&Italian");
InsertGuiPair(menu_view_close_program, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); InsertGuiPair(menu_view_close_program, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertGuiPair(menu_edit_undo, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \tCtrl+Z"); InsertGuiPair(menu_edit_undo, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \tCtrl+Z");
@@ -1463,6 +1538,7 @@ void Languages::InitGuiMessagesTab()
InsertGuiPair(menu_edit_paste_formula, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \tCtrl+V"); // pasting directly to the input edit InsertGuiPair(menu_edit_paste_formula, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \tCtrl+V"); // pasting directly to the input edit
InsertGuiPair(menu_edit_select_all, "<EFBFBD><EFBFBD><EFBFBD>&<26><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> \tEsc"); InsertGuiPair(menu_edit_select_all, "<EFBFBD><EFBFBD><EFBFBD>&<26><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> \tEsc");
InsertGuiPair(menu_edit_bracket, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>&<26><><EFBFBD> \tCtrl+0"); // inserting brackets: (...) InsertGuiPair(menu_edit_bracket, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>&<26><><EFBFBD> \tCtrl+0"); // inserting brackets: (...)
InsertGuiPair(menu_edit_swap, "&Swap \tCtrl+W"); // swapping input edit for output edit
InsertGuiPair(menu_help_check_update, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..."); InsertGuiPair(menu_help_check_update, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...");
InsertGuiPair(menu_update_available, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"); InsertGuiPair(menu_update_available, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
@@ -1509,6 +1585,8 @@ void Languages::InitGuiMessagesTab()
" vdgladilovich@gmail.com\r\n" " vdgladilovich@gmail.com\r\n"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Lars 'Bafvert' Gafvert\r\n" "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Lars 'Bafvert' Gafvert\r\n"
" lars.gafvert@gmail.com\r\n" " lars.gafvert@gmail.com\r\n"
"Italian Damiano Monaco\r\n"
" dmonax@gmail.com\r\n"
); );
InsertGuiPair(about_text_portable_version, " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"); InsertGuiPair(about_text_portable_version, " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
InsertGuiPair(about_text_exe_packer, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EXE: UPX 3.04\r\n"); InsertGuiPair(about_text_exe_packer, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EXE: UPX 3.04\r\n");
@@ -1552,6 +1630,13 @@ void Languages::InitGuiMessagesTab()
InsertGuiPair(pad_menu_edit_del, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \tDel"); InsertGuiPair(pad_menu_edit_del, "&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \tDel");
InsertGuiPair(pad_menu_edit_select_all, "<EFBFBD><EFBFBD><EFBFBD>&<26><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> \tCtrl+A"); InsertGuiPair(pad_menu_edit_select_all, "<EFBFBD><EFBFBD><EFBFBD>&<26><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> \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_chinese, "&Kinesiska");
InsertGuiPair(menu_view_lang_russian, "&Ryska"); InsertGuiPair(menu_view_lang_russian, "&Ryska");
InsertGuiPair(menu_view_lang_swedish, "S&venska"); InsertGuiPair(menu_view_lang_swedish, "S&venska");
InsertGuiPair(menu_view_lang_italian, "&Italian");
InsertGuiPair(menu_view_close_program, "A&vsluta"); InsertGuiPair(menu_view_close_program, "A&vsluta");
InsertGuiPair(menu_edit_undo, "&<26>ngra \tCtrl+Z"); InsertGuiPair(menu_edit_undo, "&<26>ngra \tCtrl+Z");
InsertGuiPair(menu_edit_cut, "Cu&t \tCtrl+X"); 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_copy_both, "Copy &both \tCtrl+B");
InsertGuiPair(menu_edit_select_all, "Select &all \tEsc"); InsertGuiPair(menu_edit_select_all, "Select &all \tEsc");
InsertGuiPair(menu_edit_bracket, "B&racket \tCtrl+0"); InsertGuiPair(menu_edit_bracket, "B&racket \tCtrl+0");
InsertGuiPair(menu_edit_swap, "&Swap \tCtrl+W");
InsertGuiPair(menu_help_help, "&Hj<48>lp"); InsertGuiPair(menu_help_help, "&Hj<48>lp");
InsertGuiPair(menu_help_project_page, "&Projektsida"); InsertGuiPair(menu_help_project_page, "&Projektsida");
InsertGuiPair(menu_help_check_update, "&Check update..."); InsertGuiPair(menu_help_check_update, "&Check update...");
@@ -1706,6 +1793,8 @@ void Languages::InitGuiMessagesTab()
" vdgladilovich@gmail.com\r\n" " vdgladilovich@gmail.com\r\n"
"Swedish Lars 'Bafvert' Gafvert\r\n" "Swedish Lars 'Bafvert' Gafvert\r\n"
" lars.gafvert@gmail.com\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_portable_version, " transportabel version");
InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.04\r\n"); InsertGuiPair(about_text_exe_packer, "EXE Packer: UPX 3.04\r\n");
@@ -1747,8 +1836,215 @@ void Languages::InitGuiMessagesTab()
InsertGuiPair(pad_menu_edit_del, "&Del \tDel"); InsertGuiPair(pad_menu_edit_del, "&Del \tDel");
InsertGuiPair(pad_menu_edit_select_all, "Select &all \tCtrl+A"); 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<GuiMsg, std::string>() );
InsertGuiPair(button_ok,"Ok");
InsertGuiPair(button_cancel,"Annulla");
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, "Arrotonda");
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, "Raggruppo");
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&taliano");
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, "&Scambia \tCtrl+W");
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<70> 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, "Annulla");
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, "Non posso aprire il file");
InsertGuiPair(cannot_save_file, "Non posso salvare in tale file");
InsertGuiPair(file_too_long, "Il file e troppo lungo");
InsertGuiPair(other_error, "Si e verificato un problema con questa operazione"); // for other kinds of errors
} }

View File

@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2006-2009, Tomasz Sowa * Copyright (c) 2006-2010, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -131,6 +131,7 @@ public:
menu_view_lang_chinese, menu_view_lang_chinese,
menu_view_lang_russian, menu_view_lang_russian,
menu_view_lang_swedish, menu_view_lang_swedish,
menu_view_lang_italian,
menu_view_close_program, menu_view_close_program,
menu_edit_undo, menu_edit_undo,
menu_edit_cut, menu_edit_cut,
@@ -142,6 +143,7 @@ public:
menu_edit_copy_both, menu_edit_copy_both,
menu_edit_select_all, menu_edit_select_all,
menu_edit_bracket, menu_edit_bracket,
menu_edit_swap,
menu_help_help, menu_help_help,
menu_help_project_page, menu_help_project_page,
menu_help_check_update, menu_help_check_update,
@@ -187,6 +189,10 @@ public:
pad_menu_edit_paste, pad_menu_edit_paste,
pad_menu_edit_del, pad_menu_edit_del,
pad_menu_edit_select_all, pad_menu_edit_select_all,
cannot_open_file,
cannot_save_file,
file_too_long,
other_error,
unknown_error unknown_error
}; };
@@ -195,7 +201,7 @@ public:
// (after conversion to 'int' we pass it into the std::vector) // (after conversion to 'int' we pass it into the std::vector)
enum Country enum Country
{ {
en = 0, pl, sp, da, chn, ru, swe en = 0, pl, sp, da, chn, ru, swe, it
}; };

View File

@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2006-2009, Tomasz Sowa * Copyright (c) 2006-2010, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -41,33 +41,14 @@
#include "update.h" #include "update.h"
#include "pad.h" #include "pad.h"
#include "bigtypes.h" #include "bigtypes.h"
#include "misc.h"
namespace MainWindowFunctions namespace MainWindowFunctions
{ {
int ToLower(int c)
{
if( c>='A' && c<='Z' )
return c - 'A' + 'a';
return c;
}
/*!
this function compares two strings
(case insensitive)
*/
bool EqualStrings(const char * str1, const char * str2)
{
for( ; ToLower(*str1) == ToLower(*str2) ; ++str1, ++str2 )
if( *str1 == 0 )
return true; // *str2 will be 0 too
return false;
}
/*! /*!
@@ -426,6 +407,7 @@ HMENU menu = GetMenu(hWnd);
SetMenuLanguageItem(menu, IDM_LANGUAGE_CHINESE, Languages::menu_view_lang_chinese); SetMenuLanguageItem(menu, IDM_LANGUAGE_CHINESE, Languages::menu_view_lang_chinese);
SetMenuLanguageItem(menu, IDM_LANGUAGE_RUSSIAN, Languages::menu_view_lang_russian); SetMenuLanguageItem(menu, IDM_LANGUAGE_RUSSIAN, Languages::menu_view_lang_russian);
SetMenuLanguageItem(menu, IDM_LANGUAGE_SWEDISH, Languages::menu_view_lang_swedish); 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_CLOSE_PROGRAM, Languages::menu_view_close_program);
SetMenuLanguageItem(menu, IDM_EDIT_UNDO, Languages::menu_edit_undo); SetMenuLanguageItem(menu, IDM_EDIT_UNDO, Languages::menu_edit_undo);
SetMenuLanguageItem(menu, IDM_EDIT_CUT, Languages::menu_edit_cut); SetMenuLanguageItem(menu, IDM_EDIT_CUT, Languages::menu_edit_cut);
@@ -437,6 +419,7 @@ HMENU menu = GetMenu(hWnd);
SetMenuLanguageItem(menu, IDM_EDIT_COPY_BOTH, Languages::menu_edit_copy_both); 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_SELECT_ALL, Languages::menu_edit_select_all);
SetMenuLanguageItem(menu, IDM_EDIT_BRACKET, Languages::menu_edit_bracket); 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_HELP, Languages::menu_help_help);
SetMenuLanguageItem(menu, IDM_HELP_PROJECT_PAGE, Languages::menu_help_project_page); SetMenuLanguageItem(menu, IDM_HELP_PROJECT_PAGE, Languages::menu_help_project_page);
SetMenuLanguageItem(menu, IDM_HELP_CHECK_UPDATE, Languages::menu_help_check_update); SetMenuLanguageItem(menu, IDM_HELP_CHECK_UPDATE, Languages::menu_help_check_update);
@@ -833,6 +816,9 @@ void WmInitMenuPopUpView(HMENU menu)
else else
if( lang == Languages::swe ) if( lang == Languages::swe )
CheckMenuItem(menu, IDM_LANGUAGE_SWEDISH, MF_BYCOMMAND|MF_CHECKED); CheckMenuItem(menu, IDM_LANGUAGE_SWEDISH, MF_BYCOMMAND|MF_CHECKED);
else
if( lang == Languages::it )
CheckMenuItem(menu, IDM_LANGUAGE_ITALIAN, MF_BYCOMMAND|MF_CHECKED);
} }
@@ -921,6 +907,11 @@ bool edit_readonly = false; // the edit is read only
EnableMenuItem(menu,IDM_EDIT_BRACKET,MF_BYCOMMAND | MF_GRAYED); 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);
} }
@@ -1127,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) BOOL WmCommand_EditCopyResult(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{ {
CopyResult(); CopyResult();
@@ -1134,6 +1143,7 @@ BOOL WmCommand_EditCopyResult(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
return true; return true;
} }
BOOL WmCommand_EditCopyBoth(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) BOOL WmCommand_EditCopyBoth(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{ {
unsigned int in_len = SendDlgItemMessage(hWnd, IDC_INPUT_EDIT, EM_LINELENGTH, 0, 0); unsigned int in_len = SendDlgItemMessage(hWnd, IDC_INPUT_EDIT, EM_LINELENGTH, 0, 0);
@@ -1329,6 +1339,18 @@ BOOL WmCommand_LanguageSwedish(HWND hWnd, UINT message, WPARAM wParam, LPARAM lP
return true; 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) BOOL WmHelp(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{ {
@@ -1423,6 +1445,7 @@ void CreateCommandMessagesTable(Messages<BOOL> & cmessages)
cmessages.Associate(IDM_EDIT_PASTE, WmCommand_EditPaste); cmessages.Associate(IDM_EDIT_PASTE, WmCommand_EditPaste);
cmessages.Associate(IDM_EDIT_DEL, WmCommand_EditDel); cmessages.Associate(IDM_EDIT_DEL, WmCommand_EditDel);
cmessages.Associate(IDM_EDIT_BRACKET, WmCommand_EditBracket); cmessages.Associate(IDM_EDIT_BRACKET, WmCommand_EditBracket);
cmessages.Associate(IDM_EDIT_SWAP, WmCommand_EditSwap);
cmessages.Associate(IDCANCEL, WmCommand_IDCANCEL); cmessages.Associate(IDCANCEL, WmCommand_IDCANCEL);
cmessages.Associate(IDM_EDIT_SELECT_ALL, WmCommand_IDCANCEL); cmessages.Associate(IDM_EDIT_SELECT_ALL, WmCommand_IDCANCEL);
cmessages.Associate(IDM_LANGUAGE_ENGLISH, WmCommand_LanguageEnglish); cmessages.Associate(IDM_LANGUAGE_ENGLISH, WmCommand_LanguageEnglish);
@@ -1432,6 +1455,7 @@ void CreateCommandMessagesTable(Messages<BOOL> & cmessages)
cmessages.Associate(IDM_LANGUAGE_CHINESE, WmCommand_LanguageChinese); cmessages.Associate(IDM_LANGUAGE_CHINESE, WmCommand_LanguageChinese);
cmessages.Associate(IDM_LANGUAGE_RUSSIAN, WmCommand_LanguageRussian); cmessages.Associate(IDM_LANGUAGE_RUSSIAN, WmCommand_LanguageRussian);
cmessages.Associate(IDM_LANGUAGE_SWEDISH, WmCommand_LanguageSwedish); cmessages.Associate(IDM_LANGUAGE_SWEDISH, WmCommand_LanguageSwedish);
cmessages.Associate(IDM_LANGUAGE_ITALIAN, WmCommand_LanguageItalian);
cmessages.Associate(IDM_HELP_HELP, WmHelp); cmessages.Associate(IDM_HELP_HELP, WmHelp);
cmessages.Associate(IDM_HELP_PROJECT_PAGE, WmProjectPage); cmessages.Associate(IDM_HELP_PROJECT_PAGE, WmProjectPage);
} }

78
src/misc.cpp Normal file
View File

@@ -0,0 +1,78 @@
/*
* This file is a part of TTCalc - a mathematical calculator
* and is distributed under the (new) BSD licence.
* Author: Tomasz Sowa <t.sowa@ttmath.org>
*/
/*
* Copyright (c) 2006-2010, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* * Neither the name Tomasz Sowa nor the names of contributors to this
* project may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
int ToLower(int c)
{
if( c>='A' && c<='Z' )
return c - 'A' + 'a';
return c;
}
/*!
this function compares two strings
(case insensitive)
*/
bool EqualStrings(const char * str1, const char * str2)
{
for( ; ToLower(*str1) == ToLower(*str2) ; ++str1, ++str2 )
if( *str1 == 0 )
return true; // *str2 will be 0 too
return false;
}
/*!
returning true if short_str is a substring of long_str (no case-sensitive)
*/
bool IsSubStringNoCase(const char * short_str, const char * long_str)
{
while( *short_str && *long_str && ToLower(*short_str) == ToLower(*long_str) )
{
++short_str;
++long_str;
}
if( *short_str == 0 )
return true;
return false;
}

47
src/misc.h Normal file
View File

@@ -0,0 +1,47 @@
/*
* This file is a part of TTCalc - a mathematical calculator
* and is distributed under the (new) BSD licence.
* Author: Tomasz Sowa <t.sowa@ttmath.org>
*/
/*
* Copyright (c) 2006-2010, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* * Neither the name Tomasz Sowa nor the names of contributors to this
* project may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef headerfilemisc
#define headerfilemisc
int ToLower(int c);
bool EqualStrings(const char * str1, const char * str2);
bool IsSubStringNoCase(const char * short_str, const char * long_str);
#endif

View File

@@ -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); std::ifstream file(file_name.c_str(), std::ios_base::in | std::ios_base::binary);
Languages * lang = GetPrgRes()->GetLanguages();
if( !file ) 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; return 0;
} }
@@ -584,7 +585,8 @@ LRESULT PadOpen(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
if( pos > 65530 ) 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; return 0;
} }
@@ -644,7 +646,9 @@ void SaveBuffer(HWND hwnd, const char * buf)
if( !file ) 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; return;
} }
@@ -661,12 +665,13 @@ LRESULT PadSave(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
if( !SaveDialog(hwnd) ) if( !SaveDialog(hwnd) )
return 0; return 0;
Languages * lang = GetPrgRes()->GetLanguages();
HLOCAL handle = (HLOCAL)SendMessage(edit, EM_GETHANDLE, 0, 0); HLOCAL handle = (HLOCAL)SendMessage(edit, EM_GETHANDLE, 0, 0);
if( handle == 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; return 0;
} }
@@ -675,7 +680,8 @@ LRESULT PadSave(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
if( buf ) if( buf )
SaveBuffer(hwnd, buf); SaveBuffer(hwnd, buf);
else 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); LocalUnlock(handle);

View File

@@ -683,8 +683,8 @@ time_t ProgramResources::GetLastUpdate()
ProgramResources::ProgramResources() ProgramResources::ProgramResources()
{ {
// if you want to change the input buffer you have also to change // if you want to change the input buffer you have to also change
// ParserManager::ParserManager() : buffer_len(2048) in parsermanager.cpp // ParserManager::ParserManager() : buffer_len(20480) in parsermanager.cpp
buffer_size = 20480; buffer_size = 20480;
buffer = new char[buffer_size]; buffer = new char[buffer_size];
@@ -896,6 +896,9 @@ static const char help_name[] = "ttcalc.chm";
// which can be, for instance, as: // which can be, for instance, as:
// "C:\Documents and Settings\user\data application" on WinNT // "C:\Documents and Settings\user\data application" on WinNT
// or "C:\Windows\Data Application\" on Win9x // or "C:\Windows\Data Application\" on Win9x
// we don't use SHGetFolderLocation() because it is not available on Win9x
if( ReadTextValueFromRegistry( if( ReadTextValueFromRegistry(
HKEY_CURRENT_USER, HKEY_CURRENT_USER,
"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders",
@@ -1146,6 +1149,9 @@ std::string ini_value[30];
if( !ini_value[15].empty() ) if( !ini_value[15].empty() )
SetRemovingZeroes( bool(atoi(ini_value[15].c_str())) ); SetRemovingZeroes( bool(atoi(ini_value[15].c_str())) );
if( ini_value[13] == "7" )
languages.SetCurrentLanguage(Languages::it);
else
if( ini_value[13] == "6" ) if( ini_value[13] == "6" )
languages.SetCurrentLanguage(Languages::swe); languages.SetCurrentLanguage(Languages::swe);
else else

View File

@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2006-2009, Tomasz Sowa * Copyright (c) 2006-2010, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -222,6 +222,7 @@
#define IDM_LANGUAGE_CHINESE 40014 #define IDM_LANGUAGE_CHINESE 40014
#define IDM_LANGUAGE_RUSSIAN 40015 #define IDM_LANGUAGE_RUSSIAN 40015
#define IDM_LANGUAGE_SWEDISH 40016 #define IDM_LANGUAGE_SWEDISH 40016
#define IDM_LANGUAGE_ITALIAN 40017
#define IDM_CLOSE_PROGRAM 40020 #define IDM_CLOSE_PROGRAM 40020
#define IDM_EDIT_UNDO 40030 #define IDM_EDIT_UNDO 40030
@@ -234,6 +235,7 @@
#define IDM_EDIT_PASTE_FORMULA 40037 #define IDM_EDIT_PASTE_FORMULA 40037
#define IDM_EDIT_SELECT_ALL 40038 #define IDM_EDIT_SELECT_ALL 40038
#define IDM_EDIT_BRACKET 40039 #define IDM_EDIT_BRACKET 40039
#define IDM_EDIT_SWAP 40040
#define IDM_HELP_HELP 40050 #define IDM_HELP_HELP 40050
#define IDM_HELP_PROJECT_PAGE 40051 #define IDM_HELP_PROJECT_PAGE 40051

View File

@@ -34,6 +34,7 @@ BEGIN
MENUITEM "Chinese", IDM_LANGUAGE_CHINESE MENUITEM "Chinese", IDM_LANGUAGE_CHINESE
MENUITEM "Russian", IDM_LANGUAGE_RUSSIAN MENUITEM "Russian", IDM_LANGUAGE_RUSSIAN
MENUITEM "Swedish", IDM_LANGUAGE_SWEDISH MENUITEM "Swedish", IDM_LANGUAGE_SWEDISH
MENUITEM "Italian", IDM_LANGUAGE_ITALIAN
END END
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Close", IDM_CLOSE_PROGRAM MENUITEM "Close", IDM_CLOSE_PROGRAM
@@ -53,6 +54,7 @@ BEGIN
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Select all", IDM_EDIT_SELECT_ALL MENUITEM "Select all", IDM_EDIT_SELECT_ALL
MENUITEM "Bracket", IDM_EDIT_BRACKET MENUITEM "Bracket", IDM_EDIT_BRACKET
MENUITEM "Swap", IDM_EDIT_SWAP
END END
POPUP "Help" POPUP "Help"
BEGIN BEGIN
@@ -333,27 +335,27 @@ END
#endif #endif
#ifndef TTCALC_PORTABLE #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 | STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION |
WS_SYSMENU WS_SYSMENU
CAPTION "About" CAPTION "About"
FONT 8, "MS Sans Serif" FONT 8, "MS Sans Serif"
BEGIN BEGIN
CONTROL IDB_BITMAP_ABOUT,0,"Static",SS_BITMAP | SS_REALSIZEIMAGE,3,3,115,250 CONTROL 1201,0,"Static",SS_BITMAP | SS_REALSIZEIMAGE,3,3,115,277
EDITTEXT IDC_ABOUT_TEXT,128,11,215,212,ES_MULTILINE | ES_READONLY | NOT EDITTEXT IDC_ABOUT_TEXT,128,11,215,243,ES_MULTILINE | ES_READONLY |
WS_BORDER | NOT WS_TABSTOP NOT WS_BORDER | NOT WS_TABSTOP
DEFPUSHBUTTON "Close",IDOK,191,231,86,14 DEFPUSHBUTTON "Close",IDOK,191,259,86,14
END END
#else #else
200 DIALOG DISCARDABLE 0, 0, 268, 301 200 DIALOG DISCARDABLE 0, 0, 268, 322
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION |
WS_SYSMENU WS_SYSMENU
CAPTION "About" CAPTION "About"
FONT 8, "MS Sans Serif" FONT 8, "MS Sans Serif"
BEGIN BEGIN
EDITTEXT IDC_ABOUT_TEXT,16,18,234,245,ES_MULTILINE | ES_READONLY | EDITTEXT IDC_ABOUT_TEXT,16,18,234,269,ES_MULTILINE | ES_READONLY |
NOT WS_BORDER | NOT WS_TABSTOP NOT WS_BORDER | NOT WS_TABSTOP
DEFPUSHBUTTON "Close",IDOK,90,274,86,14 DEFPUSHBUTTON "Close",IDOK,90,292,86,14
END END
#endif #endif

151
src/threadcontroller.cpp Normal file
View File

@@ -0,0 +1,151 @@
/*
* This file is a part of TTCalc - a mathematical calculator
* and is distributed under the (new) BSD licence.
* Author: Tomasz Sowa <t.sowa@ttmath.org>
*/
/*
* Copyright (c) 2006-2008, Tomasz Sowa
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* * Neither the name Tomasz Sowa nor the names of contributors to this
* project may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "threadcontroller.h"
#include <cstdio>
ThreadController::ThreadController()
{
calculations = 0;
ready_for_stop = 0;
exit_thread = false;
}
ThreadController::~ThreadController()
{
if(calculations) CloseHandle(calculations);
if(ready_for_stop) CloseHandle(ready_for_stop);
}
bool ThreadController::Init() volatile
{
char * buffer = new char[300];
// with 'GetTickCount()' we're generating an unique identifier of our event
// (there can be another window of ttcalc)
sprintf((char*)buffer,"TTCalcEventForManagingThreads9928%u",
(unsigned int)GetTickCount());
// 'calculations' will be for auto-reseting and initialized as non-signaled
if( (calculations = CreateEvent(0,false,false,(char*)buffer))==NULL)
{
delete [] buffer;
return false;
}
sprintf((char*)buffer,"TTCalcEventReadyForStop5567%u",
(unsigned int)GetTickCount());
// 'ready_for_stop' will be for manual-reseting and initialized as signaled
// 'manual-reset' means that we must call ResetEvent() function (from WinAPI)
// to manually reset the state to nonsignaled
if( (ready_for_stop = CreateEvent(0,true,true,(char*)buffer))==NULL)
{
delete [] buffer;
return false;
}
delete [] buffer;
return stop_calculating.Init();
}
void ThreadController::ReadyForStop() volatile
{
SetEvent( ready_for_stop );
}
void ThreadController::StopCalculatingAndExitThread() volatile
{
WaitForSingleObject(ready_for_stop,INFINITE);
stop_calculating.Stop();
exit_thread = true;
SetEvent(calculations);
}
void ThreadController::StopCalculating() volatile
{
WaitForSingleObject(ready_for_stop, INFINITE);
stop_calculating.Stop();
}
void ThreadController::StartCalculating() volatile
{
SetEvent(calculations);
}
volatile bool ThreadController::WaitForCalculatingAndBlockForStop() volatile
{
WaitForSingleObject(calculations,INFINITE);
ResetEvent(ready_for_stop);
stop_calculating.Start();
return !exit_thread;
}
const volatile ttmath::StopCalculating * ThreadController::GetStopObject() volatile const
{
return &stop_calculating;
}
bool ThreadController::WasStopSignal() volatile const
{
return stop_calculating.WasStopSignal();
}
// private
ThreadController::ThreadController(const ThreadController &)
{
}

View File

@@ -1,19 +1,19 @@
# this file is downloaded from a webserver during checking for an update # this file is downloaded from a webserver during checking for an update
[normal] [normal]
url = http://downloads.sourceforge.net/project/ttcalc/ttcalc/ttcalc-0.9.1/ttcalc-0.9.1-setup.exe?use_mirror=dfn url = http://downloads.sourceforge.net/project/ttcalc/ttcalc/ttcalc-0.9.2/ttcalc-0.9.2-setup.exe
filename = ttcalc-0.9.1-setup.exe filename = ttcalc-0.9.2-setup.exe
version.major = 0 version.major = 0
version.minor = 9 version.minor = 9
version.revision = 1 version.revision = 2
version.prerelease = 0 version.prerelease = 0
[portable] [portable]
url = http://downloads.sourceforge.net/project/ttcalc/ttcalc/ttcalc-0.9.1/ttcalc-portable-0.9.1-bin.tar.gz?use_mirror=dfn url = http://downloads.sourceforge.net/project/ttcalc/ttcalc/ttcalc-0.9.2/ttcalc-portable-0.9.2-bin.tar.gz
filename = ttcalc-portable-0.9.1-bin.tar.gz filename = ttcalc-portable-0.9.2-bin.tar.gz
version.major = 0 version.major = 0
version.minor = 9 version.minor = 9
version.revision = 1 version.revision = 2
version.prerelease = 0 version.prerelease = 0

View File

@@ -5,7 +5,7 @@
*/ */
/* /*
* Copyright (c) 2006-2009, Tomasz Sowa * Copyright (c) 2006-2010, Tomasz Sowa
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -48,6 +48,8 @@
#include "resource.h" #include "resource.h"
#include "languages.h" #include "languages.h"
#include "winmain.h" #include "winmain.h"
#include "misc.h"
namespace Update namespace Update
@@ -258,6 +260,20 @@ void DownloadProgram::Close()
/*
we check whether the download url is correct
this is in the case of someone hacked the server with *.ini file
*/
bool IsServerCorrect(const std::string & url)
{
if( IsSubStringNoCase("http://downloads.sourceforge.net/", url.c_str()) ||
IsSubStringNoCase("ftp://ttmath.org/", url.c_str()) )
return true;
return false;
}
/* /*
this method is called from the other thread too this method is called from the other thread too
@@ -298,7 +314,7 @@ DownloadIni down_ini;
IniParser::Error err = iparser.ReadFromFile( down_ini.GetFileName() ); IniParser::Error err = iparser.ReadFromFile( down_ini.GetFileName() );
if( err == IniParser::err_ok ) if( err == IniParser::err_ok && IsServerCorrect(url_) )
{ {
major_ = atoi(ini_value[0].c_str()); major_ = atoi(ini_value[0].c_str());
minor_ = atoi(ini_value[1].c_str()); minor_ = atoi(ini_value[1].c_str());
@@ -578,10 +594,16 @@ unsigned __stdcall UpdateBackgroundProc(void *)
{ {
using namespace Background; using namespace Background;
if( CheckUpdateFromIni(0, url_, remote_file_name_, major_, minor_, revision_, prerelease_, 0) ) try
{
if( CheckUpdateFromIni(0, url_, remote_file_name_, major_, minor_, revision_, prerelease_, 0) )
{
HWND main = GetPrgRes()->GetMainWindow();
SendMessage(main, WM_UPDATE_EXISTS, 0, 0);
}
}
catch(...)
{ {
HWND main = GetPrgRes()->GetMainWindow();
SendMessage(main, WM_UPDATE_EXISTS, 0, 0);
} }
_endthreadex(0); _endthreadex(0);

View File

@@ -53,6 +53,8 @@
*/ */
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int) int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int)
{ {
try
{
GetPrgRes()->SetInstance(hInstance); GetPrgRes()->SetInstance(hInstance);
// we're using GetLanguages() simultaneously in two threads, this is to be sure // we're using GetLanguages() simultaneously in two threads, this is to be sure
@@ -112,6 +114,12 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int)
DestroyPadWindow(); DestroyPadWindow();
CloseHandle( (HANDLE)thread_handle ); CloseHandle( (HANDLE)thread_handle );
}
catch(...)
{
ShowError( Languages::unknown_error );
}
return 0; return 0;
} }
@@ -152,6 +160,10 @@ bool sent = true;
sent = SendMessage(GetPrgRes()->GetMainWindow(), WM_COMMAND, IDM_EDIT_COPY_BOTH, 0); sent = SendMessage(GetPrgRes()->GetMainWindow(), WM_COMMAND, IDM_EDIT_COPY_BOTH, 0);
break; break;
case 'W':
sent = SendMessage(GetPrgRes()->GetMainWindow(), WM_COMMAND, IDM_EDIT_SWAP, 0);
break;
case '0': case '0':
SendMessage(GetPrgRes()->GetMainWindow(), WM_COMMAND, IDC_BUTTON_BRACKETS_ALL, 0); SendMessage(GetPrgRes()->GetMainWindow(), WM_COMMAND, IDC_BUTTON_BRACKETS_ALL, 0);
break; break;