Changeset 109

Show
Ignore:
Timestamp:
03/16/12 02:00:46 (9 years ago)
Author:
vsilva
Message:

Improve Verify Xades-T Feature, Improve some dialogs and translations

Location:
middleware-offline/trunk/_src/eidmw
Files:
6 added
47 modified

Legend:

Unmodified
Added
Removed
  • middleware-offline/trunk/_src/eidmw/FreeImagePTEiD/Makefile.osx

    r59 r109  
    77# General configuration variables: 
    88 
    9 CC_I386 = gcc-4.0 
    10 CC_X86_64 = gcc-4.0 
    11 CPP_I386 = g++-4.0 
    12 CPP_X86_64 = g++-4.0 
     9CC_I386 = gcc-4.2 
     10CC_X86_64 = gcc-4.2 
     11CPP_I386 = g++-4.2 
     12CPP_X86_64 = g++-4.2 
    1313COMPILERFLAGS = -Os -fexceptions -fvisibility=hidden -DNO_LCMS 
    1414COMPILERFLAGS_I386 = -arch i386 
     
    1616COMPILERPPFLAGS = -Wno-ctor-dtor-privacy 
    1717INCLUDE +=  
    18 INCLUDE_I386 = -isysroot /Developer/SDKs/MacOSX10.6.sdk 
    19 INCLUDE_X86_64 = -isysroot /Developer/SDKs/MacOSX10.6.sdk 
     18INCLUDE_I386 = -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/ 
     19INCLUDE_X86_64 = -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/ 
    2020CFLAGS_I386 = $(COMPILERFLAGS) $(COMPILERFLAGS_I386) $(INCLUDE) $(INCLUDE_I386) 
    2121CFLAGS_X86_64 = $(COMPILERFLAGS) $(COMPILERFLAGS_X86_64) $(INCLUDE) $(INCLUDE_X86_64) 
    2222CPPFLAGS_I386 = $(COMPILERPPFLAGS) $(CFLAGS_I386) 
    2323CPPFLAGS_X86_64 = $(COMPILERPPFLAGS) $(CFLAGS_X86_64) 
    24 LIBRARIES_I386 = -Wl,-syslibroot /Developer/SDKs/MacOSX10.6.sdk 
    25 LIBRARIES_X86_64 = -Wl,-syslibroot /Developer/SDKs/MacOSX10.6.sdk 
     24LIBRARIES_I386 = -Wl,-syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/ 
     25LIBRARIES_X86_64 = -Wl,-syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/ 
    2626LIBTOOL = libtool 
    2727LIPO = lipo 
  • middleware-offline/trunk/_src/eidmw/acsccid-1.0.3/MacOSX/configure

    r37 r109  
    5555 
    5656# Build a Universal Binary 
    57 CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch ppc -arch i386 -arch x86_64" 
    58 LDFLAGS="-arch ppc -arch i386 -arch x86_64" 
     57CFLAGS="$CFLAGS -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/ -arch x86_64" 
     58LDFLAGS="-arch x86_64" 
    5959CONFIGURE_ARGS="--disable-dependency-tracking" 
    6060 
  • middleware-offline/trunk/_src/eidmw/applayer/APLCard.cpp

    r82 r109  
    159159 
    160160        CByteArray &signature = sig.SignXades(paths, n_paths, false); 
    161         StoreSignatureToDisk (signature, paths, n_paths,output_path); 
     161        StoreSignatureToDisk (signature, NULL, paths, n_paths,output_path); 
    162162 
    163163        //Write zip container signature and referenced files in zip container 
     
    218218} 
    219219 
    220 // Implementation of the PIN-caching version of Xades-T 
     220// Implementation of the PIN-caching version of SignXades() 
    221221// It signs each input file seperately and creates a .zip container for each 
    222222void APL_Card::SignIndividual(const char ** paths, unsigned int n_paths, const char *output_dir, bool timestamp) 
     
    236236                 
    237237                const char *output_file = generateFinalPath(output_dir, paths[i]); 
    238                 StoreSignatureToDisk (signature, files_to_sign, 1, output_file); 
     238                StoreSignatureToDisk (signature, NULL, files_to_sign, 1, output_file); 
    239239                delete []output_file; 
    240240 
     
    256256 
    257257        CByteArray &signature = sig.SignXades(paths, n_paths, true); 
    258         StoreSignatureToDisk (signature, paths, n_paths, output_file); 
     258        CByteArray *ts_data = &XadesSignature::mp_timestamp_data; 
    259259 
    260260        //Write zip container signature and referenced files in zip container 
     261        StoreSignatureToDisk (signature, ts_data, paths, n_paths, output_file); 
    261262 
    262263        return signature; 
     
    271272        tHashedFile **hashes = NULL; 
    272273        int i = 0; 
     274        bool result = false; 
    273275        Container *container = new Container(container_path); 
    274276        int n_files = 0; 
     
    276278        hashes = container->getHashes(&n_files); 
    277279 
    278         CByteArray *sig_content = container->ExtractSignature(); 
     280        CByteArray sig_content = container->ExtractSignature(); 
     281        CByteArray timestamp = container->ExtractTimestamp(); 
    279282 
    280283        delete container; 
    281         if (sig_content == NULL) 
    282                 throw CMWEXCEPTION(EIDMW_ERR_CHECK); 
    283284         
    284         return XadesSignature::ValidateXades(*sig_content, hashes, errors, error_len); 
     285        result = XadesSignature::ValidateXades(sig_content, hashes, errors, error_len); 
     286         
     287        if (timestamp.Size() > 0) 
     288                result &= XadesSignature::ValidateTimestamp(sig_content, timestamp, errors, error_len); 
     289 
     290        else if (result) 
     291        //This indicates that we don't have any "success message" on *errors* parameter 
     292                *error_len = 0;                  
     293 
     294        return result; 
     295 
    285296} 
    286297 
  • middleware-offline/trunk/_src/eidmw/applayer/CardPteid.cpp

    r82 r109  
    272272void APL_EidFile_ID::EmptyFields() 
    273273{ 
    274         m_IDFile.clear(); 
    275274        m_DocumentVersion.clear(); 
    276275        m_Country.clear(); 
  • middleware-offline/trunk/_src/eidmw/applayer/CardPteid.h

    r82 r109  
    193193        virtual bool ShowData(); 
    194194 
    195         std::string m_IDFile;                                                                   /**< Whole ID Field */ 
    196195        std::string m_DocumentVersion;                                                  /**< Field DocumentVersion */ 
    197196        std::string m_Country;                                                                  /**< Field Country */ 
  • middleware-offline/trunk/_src/eidmw/applayer/EMV-Cap-Helper.cpp

    r15 r109  
    2828#include "APLReader.h" 
    2929#include "Reader.h" 
     30#include "sslconnection.h" 
    3031 
    3132#include "EMV-Cap-Helper.h" 
     
    5354        oresp.Append(0x01); 
    5455        oresp2 = m_card->getCalReader()->SendAPDU(oresp); 
     56 
     57    std::cout << "TESTE\n" << std::endl; 
     58 
     59    CByteArray pan, arqc; 
     60    std::string panstr = GetPan().ToString(); 
     61    std::string arqcstr = GetArqc().ToString(); 
     62 
     63    getparameters("4786", panstr.c_str(), arqcstr.c_str(), 
     64                  CDOL1, ATC, PANSEQNUMBER, COUNTER, PINTRYCOUNTER); 
     65 
    5566} 
    5667 
     
    6475        osecpan.Append(0x80); 
    6576        osecpan.Append(0xA8); 
    66         osecpan.Append(0x00); 
     77    osecpan.Append(0x00); 
    6778        osecpan.Append(0x00); 
    6879        osecpan.Append(0x02); 
     
    8192 
    8293        CByteArray pannr = osecpanrespget.GetBytes(21,8); 
    83         std::cout << "PAN " << pannr.ToString() << std::endl; 
     94    std::cout << "PAN " << pannr.ToString() << std::endl; 
    8495 
    8596        return pannr; 
     
    93104                                                                  0x00, 0x34, 0x00, 0x00, 0x01, 0x00, 0x01}; 
    94105 
    95         GetPan(); 
    96  
    97106        CByteArray askarqc; 
    98107        askarqc.Append(apdu, sizeof(apdu)); 
     
    100109        CByteArray aer= m_card->getCalReader()->SendAPDU(askarqc); 
    101110        CByteArray arqnr = aer.GetBytes(15,8); 
    102         std::cout << "ARQC  " << arqnr.ToString() << std::endl; 
     111    std::cout << "ARQC  " << arqnr.ToString() << std::endl; 
    103112 
    104113        return arqnr; 
  • middleware-offline/trunk/_src/eidmw/applayer/SigContainer.cpp

    r82 r109  
    4040        } 
    4141 
    42         CByteArray *Container::ExtractFile(const char *entry) 
     42        CByteArray &Container::ExtractFile(const char *entry) 
    4343        { 
    4444                void *p; 
     
    4848                if (!p) 
    4949                { 
    50                         MWLOG(LEV_ERROR, MOD_APL, L"Error in ExtractFile() %S\n", entry); 
    51                         return ba; 
     50                        MWLOG(LEV_ERROR, MOD_APL, L"Error in ExtractFile() %s\n", entry); 
     51                        return *ba; 
    5252                } 
    5353 
    5454                ba->Append ((const unsigned char *)p, uncompressed_size); 
    5555 
    56                 return ba; 
     56                return *ba; 
    5757        } 
    5858 
     
    7070                } 
    7171                else 
    72                         MWLOG(LEV_ERROR, MOD_APL, L"SigContainer::readFile() Error opening file %S\n", path); 
     72                        MWLOG(LEV_ERROR, MOD_APL, L"SigContainer::readFile() Error opening file %s\n", path); 
    7373 
    7474                file.close(); 
     
    7676        } 
    7777         
    78         CByteArray* Container::ExtractSignature() 
    79         { 
    80  
     78        CByteArray& Container::ExtractSignature() 
     79        { 
    8180                return ExtractFile(SIG_INTERNAL_PATH); 
    82  
     81        } 
     82 
     83        CByteArray& Container::ExtractTimestamp() 
     84        { 
     85                return ExtractFile(TS_INTERNAL_PATH); 
    8386        } 
    8487 
     
    106109                        // Exclude from signed file checking the Signature itself  
    107110                        // and the README file that gets added to all signed containers 
     111                        // and the "workaround timestamp response" file 
    108112                        if (strcmp(file_stat.m_filename, SIG_INTERNAL_PATH) != 0 
    109                                 && strcmp(file_stat.m_filename, "README.txt") != 0) 
     113                                && strcmp(file_stat.m_filename, "README.txt") != 0 
     114                                && strcmp(file_stat.m_filename, TS_INTERNAL_PATH) != 0) 
    110115                        { 
    111116                                p = mz_zip_reader_extract_file_to_heap(&zip_archive,file_stat.m_filename, &uncomp_size, 0); 
     
    143148                mz_bool status = MZ_FALSE; 
    144149 
    145                 #ifdef WIN32 
    146                 //TODO: Convert README to "system codepage" or something 
    147  
    148                 #endif 
    149  
    150150                status = mz_zip_add_mem_to_archive_file_in_place (output, "README.txt", README, strlen(README), 
    151151                                "", (unsigned short)0, MZ_BEST_COMPRESSION); 
     
    157157        } 
    158158 
    159         void StoreSignatureToDisk(CByteArray& sig, const char **paths, int num_paths, const char *output_file) 
     159        void StoreSignatureToDisk(CByteArray& sig, CByteArray *ts_data, const char **paths, int num_paths, const char *output_file) 
    160160        { 
    161161 
     
    212212                } 
    213213 
     214                if (ts_data != NULL) 
     215                { 
     216                        status = mz_zip_add_mem_to_archive_file_in_place(output_file, TS_INTERNAL_PATH, ts_data->GetBytes(), 
     217                                        ts_data->Size(), "", (unsigned short)0, MZ_BEST_COMPRESSION); 
     218 
     219                        if (!status) 
     220                        {    
     221                                MWLOG(LEV_ERROR, MOD_APL, L"mz_zip_add_mem_to_archive_file_in_place failed for the Timestamp file"); 
     222                                return ; 
     223                        } 
     224                } 
     225 
    214226                //Add a README file to the container  
    215227 
  • middleware-offline/trunk/_src/eidmw/applayer/SigContainer.h

    r82 r109  
    33 
    44#define SIG_INTERNAL_PATH "META-INF/signature.xml" 
     5#define TS_INTERNAL_PATH "META-INF/ts_resp.bin" 
     6 
    57#include <cstdio> 
    68#include "ByteArray.h" 
     
    6062                        Container(const char *zip_path); 
    6163                        ~Container(); 
    62                         CByteArray *ExtractFile(const char *entry); 
    63                         CByteArray *ExtractSignature(); 
     64                        CByteArray &ExtractFile(const char *entry); 
     65                        CByteArray &ExtractSignature(); 
     66                        CByteArray &ExtractTimestamp(); 
    6467                        //Array of pointers to tHashedFiles 
    6568                        tHashedFile **getHashes(int *); 
     
    7275 
    7376 
    74         void StoreSignatureToDisk(CByteArray& sig, const char **paths, int num_paths, const char *output_file); 
     77        void StoreSignatureToDisk(CByteArray& sig, CByteArray* ts_data, const char **paths, int num_paths, const char *output_file); 
     78 
    7579} 
    7680 
  • middleware-offline/trunk/_src/eidmw/applayer/XadesSignature.cpp

    r59 r109  
    11/** 
    22 * 
    3  * XAdES signature generation for PTEid Middleware 
     3 * XAdES and XAdES-T signature generation for PT-Eid Middleware 
    44 * 
    5  * Author: Andre Guerreiro <andre.guerreiro@caixamagica.pt> 
     5 * Author: André Guerreiro <andre.guerreiro@caixamagica.pt> 
    66 * 
    77 */ 
     
    1818#include "MWException.h" 
    1919#include "eidErrors.h" 
     20 
    2021#include "MiscUtil.h" 
     22 
     23// Timestamp.cc contains the implementation for local 
     24// timestamp validation using OpenSSL 1.0. ATM its disabled because 
     25// it complicates the deployment 
     26//#include "Timestamp.h" 
    2127 
    2228#include "Log.h" 
     
    5864#include <openssl/sha.h> 
    5965#include <openssl/evp.h> 
     66#include <openssl/bio.h> 
    6067 
    6168//stat 
     
    8491 
    8592        CByteArray XadesSignature::mp_timestamp_data = CByteArray(); 
     93 
     94        CByteArray XadesSignature::mp_validate_data = CByteArray(); 
     95 
    8696        CByteArray XadesSignature::HashFile(const char *file_path) 
    8797        { 
     
    110120                SHA1 ((unsigned char *)in, size, out); 
    111121                return CByteArray((const unsigned char*)out, 20L); 
    112                  
    113122 
    114123        } 
     
    163172        } 
    164173         
     174        size_t XadesSignature::curl_write_validation_data(char *ptr, size_t size, size_t nmemb, void * stream) 
     175        { 
     176                size_t realsize = size * nmemb; 
     177                mp_validate_data.Append((const unsigned char*)ptr, realsize); 
     178 
     179                return realsize; 
     180 
     181        } 
     182 
    165183        void XadesSignature::generate_asn1_request_struct(unsigned char *sha_1) 
    166184        { 
     
    168186                for (unsigned int i=0; i != SHA1_LEN; i++) 
    169187                    timestamp_asn1_request[SHA1_OFFSET +i] = sha_1[i]; 
     188        } 
     189 
     190        std::string XadesSignature::getTS_CAPath() 
     191        { 
     192                APL_Config certs_dir(CConfig::EIDMW_CONFIG_PARAM_GENERAL_CERTS_DIR); 
     193                std::string m_certs_dir = certs_dir.getString(); 
     194                return m_certs_dir + "tsa_chain.pem"; 
    170195        } 
    171196 
     
    260285        } 
    261286 
    262         void XadesSignature::timestamp_data(const unsigned char *input, unsigned int data_len) 
     287        void base64Decode(const char *array, unsigned int inlen, unsigned char *&decoded, unsigned int &decoded_len) 
     288        { 
     289 
     290                BIO *bio, *b64; 
     291                unsigned int outlen = 0; 
     292                unsigned char *inbuf = new unsigned char[512]; 
     293                memset(inbuf, 0, 512); 
     294 
     295                b64 = BIO_new(BIO_f_base64()); 
     296                BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL); 
     297 
     298                bio = BIO_new_mem_buf((void *)array, inlen); 
     299                bio = BIO_push(b64, bio); 
     300 
     301                outlen = BIO_read(bio, inbuf, 512); 
     302                decoded = inbuf; 
     303 
     304                decoded_len = outlen; 
     305 
     306                BIO_free_all(bio); 
     307        } 
     308 
     309        char *strip_backslashes(const char *str) 
     310        { 
     311                char *cleaned = new char[strlen(str)]; 
     312                int j = 0; 
     313                for (unsigned int i=0; i < strlen(str); i++) 
     314                { 
     315                        if (str[i] != '\n') //Skips all backslash sequences, it works for base64 strings 
     316                                cleaned[j++] = str[i];  
     317                } 
     318                cleaned[j] = 0; 
     319                return cleaned; 
     320        } 
     321 
     322 
     323        /* This function validates timestamps using the HTTP Form available 
     324         at http://ts.cartaodecidadao.pt/tsaclient/validate.html */ 
     325        #define TSA_VALIDATE_URL "http://ts.cartaodecidadao.pt/tsaclient/validate.html" 
     326 
     327        void XadesSignature::do_post_validate_timestamp(char *input, unsigned int input_len, char *sha1_string) 
    263328        { 
    264329 
     
    270335                APL_Config tsa_url(CConfig::EIDMW_CONFIG_PARAM_XSIGN_TSAURL); 
    271336                const char * TSA_URL = tsa_url.getString(); 
     337                static const char expect_header[] = "Expect:"; 
     338 
     339                curl_global_init(CURL_GLOBAL_ALL); 
     340 
     341                curl = curl_easy_init(); 
     342 
     343                if (curl)  
     344                { 
     345 
     346                        struct curl_slist *headers= NULL; 
     347                        struct curl_httppost* formpost = NULL; 
     348                        struct curl_httppost* lastptr = NULL; 
     349 
     350                        headers = curl_slist_append(headers, "User-Agent: PTeID Middleware v2"); 
     351                        headers = curl_slist_append(headers, expect_header); 
     352 
     353                        /* Build the form contents */ 
     354 
     355                        curl_formadd(&formpost, 
     356                                     &lastptr, 
     357                                    CURLFORM_COPYNAME, "hash", 
     358                                    CURLFORM_COPYCONTENTS, sha1_string, 
     359                                    CURLFORM_END); 
     360 
     361                        curl_formadd(&formpost, 
     362                                     &lastptr, 
     363                                    CURLFORM_COPYNAME, "filename", "filename.xml", 
     364                                    CURLFORM_COPYCONTENTS, generateId(20),  //It should have some randomness 
     365                                    CURLFORM_END); 
     366 
     367                        curl_formadd(&formpost, 
     368                                     &lastptr, 
     369                                     CURLFORM_COPYNAME, "fileUpload", 
     370                                     CURLFORM_BUFFER, "ts_resp", 
     371                                     CURLFORM_BUFFERPTR, input, 
     372                                     CURLFORM_BUFFERLENGTH, input_len, 
     373                                     CURLFORM_END); 
     374 
     375                        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); 
     376 
     377                        /* Now specify the POST data */  
     378                        curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost); 
     379 
     380                        curl_easy_setopt(curl, CURLOPT_URL, TSA_VALIDATE_URL); 
     381 
     382                        curl_easy_setopt(curl, CURLOPT_TIMEOUT, 15L); 
     383 
     384                        curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error_buf); 
     385 
     386                        //curl_easy_setopt(curl, CURLOPT_VERBOSE, 1); 
     387 
     388                        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, &XadesSignature::curl_write_validation_data); 
     389 
     390                        /* Perform the request, res will get the return code */  
     391                        res = curl_easy_perform(curl); 
     392 
     393                        if (res != 0) 
     394                        { 
     395                                MWLOG(LEV_ERROR, MOD_APL, L"Timestamp Validation error in HTTP POST request. LibcURL returned %S\n",  
     396                                                (char *)error_buf); 
     397                        } 
     398 
     399                        /* always cleanup */  
     400                        curl_easy_cleanup(curl); 
     401 
     402                        curl_slist_free_all(headers); 
     403                        curl_formfree(formpost); 
     404 
     405 
     406                } 
     407 
     408 
     409        } 
     410 
     411 
     412        void XadesSignature::timestamp_data(const unsigned char *input, unsigned int data_len) 
     413        { 
     414 
     415                CURL *curl; 
     416                CURLcode res; 
     417                char error_buf[CURL_ERROR_SIZE]; 
     418 
     419                //Get Timestamping server URL from config 
     420                APL_Config tsa_url(CConfig::EIDMW_CONFIG_PARAM_XSIGN_TSAURL); 
     421                const char * TSA_URL = tsa_url.getString(); 
     422 
     423                curl_global_init(CURL_GLOBAL_ALL); 
    272424 
    273425                curl = curl_easy_init(); 
     
    303455                        if (res != 0) 
    304456                        { 
    305                                 MWLOG(LEV_ERROR, MOD_APL, L"Timestamping error in HTTP POST request. LibcURL returned %s\n",  
     457                                MWLOG(LEV_ERROR, MOD_APL, L"Timestamping error in HTTP POST request. LibcURL returned %S\n",  
    306458                                                (char *)error_buf); 
    307459                        } 
     
    414566} 
    415567 
    416  
    417 /*TODO: We'll have to to validate the timestamp if the signature 
    418  *      actually contains one  */ 
     568/* 
     569 * A little HTML-scraping to get the validation result 
     570 */ 
     571bool XadesSignature::grep_validation_result (char *time_and_date) 
     572{ 
     573         
     574        // Accented 'a' encoded in latin-1 as expected 
     575        const char * valid_timestamp_pattern = "Selo Temporal V\xE1lido."; 
     576        const char * invalid_timestamp_pattern = "Selo Temporal n\xE3o corresponde ao ficheiro seleccionado"; 
     577        const char * general_error_pattern = "Ocorreu um erro"; 
     578        unsigned char *haystack = mp_validate_data.GetBytes(); 
     579 
     580        if (mp_validate_data.Size() == 0) 
     581        { 
     582                MWLOG(LEV_DEBUG, MOD_APL, L"ValidateTimestamp: grep_validation_result called with empty mp_timestamp_data"); 
     583                return false; 
     584        } 
     585         
     586        const char *ts_str = strstr((const char *)haystack, valid_timestamp_pattern); 
     587 
     588        if (ts_str != NULL) 
     589        { 
     590                //Grab the TimeDate string 
     591                strncpy(time_and_date, ts_str+36, 27); 
     592                time_and_date[27] = 0; 
     593 
     594                return true;  
     595        } 
     596        else 
     597        { 
     598                if (strstr((const char *)haystack, invalid_timestamp_pattern) == NULL) 
     599                //Unexpected output but invalid nonetheless! 
     600                        MWLOG(LEV_ERROR, MOD_APL,  
     601        L"ValidateTimestamp: Unexpected output in the timestamp validation form, considered invalid"); 
     602 
     603                return false;  
     604        } 
     605 
     606} 
     607 
     608char *getHexString(unsigned char *bytes, unsigned int len) 
     609{ 
     610        char *hex = new char[len*2+1]; 
     611        memset (hex, 0, len*2+1); 
     612         
     613        for (unsigned int i = 0; i!=len; i++) 
     614                sprintf(hex+(i*2), "%02x", bytes[i]); 
     615 
     616        return hex; 
     617} 
     618 
     619bool XadesSignature::ValidateTimestamp (CByteArray signature, CByteArray ts_resp, char *errors, 
     620                                unsigned long *error_length) 
     621{ 
     622 
     623//TODO: The DOMDocument should be already cached by ValidateXades() 
     624        bool errorsOccured = false; 
     625 
     626        bool result = false; 
     627        unsigned char *signature_bin; 
     628        MWLOG(LEV_DEBUG, MOD_APL, L"ValidateTimestamp() called with XML content of %d bytes." 
     629                L"Error buffer addr: 0x%x, error_length=%d ", signature.Size(), errors, *error_length); 
     630 
     631        if (signature.Size() == 0) 
     632        { 
     633                int err_len = _snprintf(errors, *error_length, getString(0)); 
     634                *error_length = err_len; 
     635                MWLOG(LEV_ERROR, MOD_APL, L"ValidateTimestamp() received empty Signature. This most likely means a corrupt zipfile"); 
     636                return false; 
     637        } 
     638 
     639        initXerces(); 
     640 
     641        //Load XML from a MemoryBuffer 
     642        MemBufInputSource * source = new MemBufInputSource(signature.GetBytes(), 
     643                        (XMLSize_t)signature.Size(), 
     644                        XMLString::transcode(generateId(20))); 
     645 
     646        XercesDOMParser * parser = new XercesDOMParser; 
     647        Janitor<XercesDOMParser> j_parser(parser); 
     648 
     649        parser->setDoNamespaces(true); 
     650        parser->setCreateEntityReferenceNodes(true); 
     651 
     652        // Now parse out file 
     653 
     654        xsecsize_t errorCount = 0; 
     655        try 
     656        { 
     657                parser->parse(*source); 
     658        } 
     659 
     660        catch (const XMLException& e) 
     661        { 
     662                MWLOG(LEV_ERROR, MOD_APL, L"An error occured during parsing\n   Message: %s", 
     663                                XMLString::transcode(e.getMessage())); 
     664                errorsOccured = true; 
     665        } 
     666        catch (const DOMException& e) 
     667        { 
     668                MWLOG(LEV_ERROR, MOD_APL, L"A DOM error occured during parsing\n   DOMException code: %d", 
     669                                e.code); 
     670                errorsOccured = true; 
     671        } 
     672 
     673        if (errorsOccured) 
     674                return false; 
     675 
     676        DOMNode *doc; 
     677 
     678        doc = parser->getDocument(); 
     679 
     680        // Find the signature node 
     681         
     682        DOMNode *sigNode = findDSIGNode(doc, "Signature"); 
     683 
     684        XSECProvider prov; 
     685        unsigned char signature_hash[SHA1_LEN]; 
     686        char time_and_date[100]; 
     687        unsigned int sig_len = 0; 
     688        XERCES_NS DOMDocument * theDOM = dynamic_cast<XERCES_NS DOMDocument *>(doc); 
     689        DSIGSignature * sig = prov.newSignatureFromDOM(theDOM, sigNode); 
     690         
     691        sig->load(); 
     692 
     693        const char* tmp = XMLString::transcode(sig->getSignatureValue()); 
     694        char *tmp2 = strip_backslashes(tmp); 
     695        base64Decode(tmp2, strlen(tmp2), signature_bin, sig_len); 
     696        SHA1(signature_bin, sig_len, signature_hash); 
     697 
     698        char * sha1_string = getHexString(signature_hash, SHA1_LEN); 
     699 
     700        //std::cerr << "POST Parameter (hash): " << sha1_string << std::endl;  
     701         
     702        do_post_validate_timestamp((char *)ts_resp.GetBytes(), ts_resp.Size(), sha1_string); 
     703 
     704        if (mp_validate_data.Size() == 0) 
     705        { 
     706                *error_length = _snprintf(errors, *error_length, getString(8)); 
     707                return false; 
     708        } 
     709         
     710        result = grep_validation_result(time_and_date); 
     711 
     712        if (result) 
     713                *error_length = _snprintf(errors, *error_length, "%s", time_and_date); 
     714        else 
     715                *error_length = _snprintf(errors, *error_length, getString(2)); 
     716 
     717        return result; 
     718 
     719} 
     720 
     721 
    419722bool XadesSignature::ValidateXades(CByteArray signature, tHashedFile **hashes, char *errors, unsigned long *error_length) 
    420723{ 
     
    422725         
    423726        MWLOG(LEV_DEBUG, MOD_APL, L"ValidateXades() called with XML content of %d bytes." 
    424                 L"Error buffer addr: 0x%x, error_length=%d ",signature.Size(), errors, *error_length); 
     727                L"Error buffer addr: 0x%x, error_length=%d ", signature.Size(), errors, *error_length); 
    425728 
    426729        if (signature.Size() == 0) 
     
    470773        if (errorsOccured) { 
    471774                //Write to output report  
    472                 int err_len = _snprintf(errors, *error_length, "Signature Validation error: Malformed XML Document"); 
     775                int err_len = _snprintf(errors, *error_length, getString(4)); 
    473776                *error_length = err_len; 
    474777                MWLOG(LEV_ERROR, MOD_APL, L"Errors parsing XML Signature, bailing out"); 
     
    525828                if (!extern_result) 
    526829                { 
    527                         int err_len = _snprintf(errors, *error_length, 
    528                         "Signature Validation error: At least one of the signed file(s) was changed or is missing"); 
     830                        int err_len = _snprintf(errors, *error_length, getString(6)); 
    529831                        *error_length = err_len; 
    530832                        return false; 
     
    556858        return result; 
    557859 
     860} 
     861 
     862const XMLCh * locateTimestamp(XERCES_NS DOMDocument *doc) 
     863{ 
     864        safeBuffer str; 
     865        //Qualified Tag Name 
     866        makeQName(str, XMLString::transcode("etsi") ,"EncapsulatedTimeStamp"); 
     867        DOMNodeList *list = doc->getElementsByTagNameNS(XMLString::transcode("*"), 
     868                        XMLString::transcode("EncapsulatedTimeStamp")); 
     869 
     870        if (list->getLength() == 0) 
     871        { 
     872           return NULL; 
     873        } 
     874 
     875 
     876        DOMNode * timestamp = list->item(0); 
     877 
     878        return timestamp->getFirstChild()->getNodeValue(); 
     879         
    558880} 
    559881 
     
    6821004 
    6831005                        if (timestamp_blob->Size() == 0) 
    684                                 MWLOG(LEV_ERROR, MOD_APL, L"An error occurred in timestamp_data.IIt's possible that the timestamp service is down "); 
     1006                                MWLOG(LEV_ERROR, MOD_APL, 
     1007                            L"An error occurred in timestamp_data. It's possible that the timestamp service is down "); 
    6851008                        else 
    6861009                        { 
     
    6991022        { 
    7001023                MWLOG(LEV_ERROR, MOD_APL, L"An error occured during a signature load. Message: %s\n", 
    701                  e.getMsg());; 
     1024                 e.getMsg()); 
    7021025                 
    7031026        } 
  • middleware-offline/trunk/_src/eidmw/applayer/XadesSignature.h

    r41 r109  
    3737        }; 
    3838 
     39        static char *XADES_STRINGS[] =  
     40        { 
     41                "Signature Validation error: Couldn't extract signature from zip container",  
     42                "Erro de validação da assinatura: Não foi possível extrair a assinatura", 
     43                "Timestamp Validation: The timestamp does not match the signed content",  
     44                "Validação de Selo Temporal: O selo temporal não corresponde ao conteúdo assinado", 
     45                "Signature Validation error: Malformed XML Document", 
     46                "Erro de validação da assinatura: Erro de sintaxe na assinatura XML", 
     47                "Signature Validation error: At least one of the signed file(s) was changed or is missing", 
     48                "Erro de validação da assinatura: Pelo menos um dos ficheiros assinados foi alterado ou está em falta", 
     49                "Timestamp Validation: Internal Error, couldn't validate timestamp",  
     50                "Validação de Selo Temporal: Erro Interno, não foi possível validar o selo temporal",  
     51        }; 
     52 
    3953        class XadesSignature 
    4054        { 
     
    5771                static bool ValidateXades(CByteArray signature, tHashedFile **hashes, char *errors, unsigned long *error_length); 
    5872                 
     73                static bool ValidateTimestamp (CByteArray signature, CByteArray ts_resp, char *errors, unsigned long *error_length); 
     74                static bool grep_validation_result (char *time_and_date); 
     75 
     76                static CByteArray mp_timestamp_data; 
     77                static CByteArray mp_validate_data; 
     78                static void do_post_validate_timestamp(char *input, unsigned int input_len, char *sha1_string); 
    5979 
    6080                private: 
     81                 
     82                std::string getTS_CAPath(); 
    6183                 
    6284                CByteArray HashFile(const char *file_path); 
     
    6587                //Utility methods for signature 
    6688                void loadCert(CByteArray &ba, EVP_PKEY *pub_key); 
     89 
     90 
     91                //Locate the text subnode of an EncapsulatedTimestamp 
     92                static XMLCh * locateTimestamp(XERCES_NS DOMDocument *doc); 
    6793                 
    6894                int appendOID(XMLByte *toFill); 
     
    74100                //Utility methods for timestamping 
    75101                 
    76                 //Curl write_function callback: it writes the data to the static array mp_timestamp_data 
     102                //Curl write_function callback: it writes the data to the static CByteArray mp_timestamp_data 
    77103                static size_t curl_write_data(char *ptr, size_t size, size_t nmemb, void * stream);  
    78104 
     105                //Curl write_function callback: it writes the data to the static CByteArray mp_validate_data 
     106                static size_t curl_write_validation_data(char *ptr, size_t size, size_t nmemb, void * stream);  
     107 
    79108                void timestamp_data(const unsigned char *input, unsigned int data_len); 
     109 
     110         
    80111                void generate_asn1_request_struct(unsigned char *sha_1); 
    81112 
    82113                static void initXerces(); 
    83114 
     115                static const char * getString(unsigned int id) 
     116                { 
     117                         
     118                        std::wstring language = CConfig::GetString(CConfig::EIDMW_CONFIG_PARAM_GENERAL_LANGUAGE); 
     119                        if(wcscmp(L"nl", language.c_str())==0) 
     120                        { 
     121                                return XADES_STRINGS[id+1]; 
     122                        } 
     123                        else 
     124                                return XADES_STRINGS[id]; 
     125                } 
    84126                 
    85127                X509 * mp_cert; 
    86128                APL_Card *mp_card; 
    87                 static CByteArray mp_timestamp_data; 
    88129 
    89130 
  • middleware-offline/trunk/_src/eidmw/applayer/pteid35applayer.vcproj

    r82 r109  
    299299                        <Tool 
    300300                                Name="VCCLCompilerTool" 
    301                                 AdditionalIncludeDirectories="../common;../dialogs;..\FreeImagePTEiD\Source;../cardlayer;&quot;$(PTEID_DIR_OPENSSL_098G)\include&quot;;&quot;$(PTEID_DIR_XERCES_310)\include&quot;;&quot;..\..\ThirdParty\libcurl-7.24\include&quot;;&quot;..\xml-security-c-1.6.1&quot;;&quot;..\..\ThirdParty\xerces\Xerces-3.1.0\include&quot;;&quot;$(PTEID_DIR_PLATFORMSDK_2003)\include&quot;;..\..\ThirdParty\MSPlatformSDK_2003\Include;..\..\ThirdParty\MSPlatformSDK\Include" 
     301                                AdditionalIncludeDirectories="../eidlib;../common;../dialogs;..\FreeImagePTEiD\Source;../cardlayer;&quot;$(PTEID_DIR_OPENSSL_098G)\include&quot;;&quot;$(PTEID_DIR_XERCES_310)\include&quot;;&quot;..\..\ThirdParty\libcurl-7.24\include&quot;;&quot;..\xml-security-c-1.6.1&quot;;&quot;..\..\ThirdParty\xerces\Xerces-3.1.0\include&quot;;&quot;$(PTEID_DIR_PLATFORMSDK_2003)\include&quot;;..\..\ThirdParty\MSPlatformSDK_2003\Include;..\..\ThirdParty\MSPlatformSDK\Include" 
    302302                                PreprocessorDefinitions="PTEID_35;WIN32;NDEBUG;_WINDOWS;_USRDLL;EIDMW_APPLAYER_EXPORTS" 
    303303                                RuntimeLibrary="2" 
     
    321321                                Name="VCLinkerTool" 
    322322                                LinkLibraryDependencies="false" 
    323                                 AdditionalDependencies="wsock32.lib Shlwapi.lib pteid35DlgsWin32.lib pteid35cardlayer.lib pteid35common.lib libeay32.lib ssleay32.lib xerces-c_3.lib freeimage.lib xsec_1.lib libcurl.lib" 
    324                                 OutputFile="..\_Binaries35\$(PlatformName)\$(ConfigurationName)\pteid35$(ProjectName).dll" 
     323                                AdditionalDependencies="wsock32.lib Shlwapi.lib pteidDlgsWin32.lib pteidcardlayer.lib pteidcommon.lib libeay32.lib ssleay32.lib xerces-c_3.lib freeimage.lib xsec_1.lib libcurl.lib" 
     324                                OutputFile="..\_Binaries35\$(PlatformName)\$(ConfigurationName)\pteid$(ProjectName).dll" 
    325325                                LinkIncremental="1" 
    326326                                AdditionalLibraryDirectories="&quot;..\_Binaries35\x64\$(ConfigurationName)&quot;;&quot;$(PTEID_DIR_OPENSSL_098G)\lib&quot;;..\..\ThirdParty\openssl.0.9.8g\bin;&quot;$(PTEID_DIR_XERCES_310)\lib&quot;;&quot;..\..\ThirdParty\xerces\Xerces-3.1.0\lib&quot;;&quot;..\..\ThirdParty\libcurl-7.24\lib&quot;" 
  • middleware-offline/trunk/_src/eidmw/applayer/sslcommon.cpp

    r15 r109  
    5555SSL_CTX *initialize_ctx() 
    5656{ 
    57         #ifdef WIN32 
    58         const SSL_METHOD *meth; 
    59         #endif 
    60         SSL_METHOD *meth; 
     57        const SSL_METHOD *meth; 
    6158        SSL_CTX *ctx; 
    6259 
  • middleware-offline/trunk/_src/eidmw/cardlayer/PinpadLib.cpp

    r5 r109  
    7979        bool bRet = false; 
    8080        // Load the pinpad lib 
    81         unsigned long ulRes = m_oPinpadLib.Open(csPinpadDir + csFileName); 
    82         if (ulRes == EIDMW_OK) 
    83         { 
    84                 // Get the 2 functions 
     81    unsigned long ulRes = m_oPinpadLib.Open(csPinpadDir + csFileName); 
     82     
     83    if (ulRes == EIDMW_OK) 
     84    { 
     85        // Get the 2 functions 
    8586                EIDMW_PP2_INIT ppInit2 = (EIDMW_PP2_INIT) m_oPinpadLib.GetAddress("EIDMW_PP2_Init"); 
    8687                m_ppCmd2 = (EIDMW_PP2_COMMAND) m_oPinpadLib.GetAddress("EIDMW_PP2_Command"); 
    87                 if (ppInit2 == NULL || m_ppCmd2 == NULL) 
     88        if (ppInit2 == NULL || m_ppCmd2 == NULL) 
    8889                        m_oPinpadLib.Close(); 
    8990                else 
    90                 { 
     91        { 
    9192                        long lRet = ppInit2(PTEID_MINOR_VERSION, hContext, hCard, csReader, 
    9293                                ulLanguage, InitGuiInfo(), 0, NULL); 
     
    9596                        else 
    9697                                m_oPinpadLib.Close(); 
    97                 } 
    98         } 
     98        } 
     99    } 
    99100 
    100101        if (!bRet) 
     
    300301                        csPinpadPrefix, iVersion); 
    301302                const char *csSearchFor = strSearchFor.c_str(); 
    302  
    303303                // Search for files in csPinpadDir that are candidate pinpad lib, 
    304304                // load them and ask them if they support this reader + pinpad lib version 
     
    323323                        } 
    324324                        closedir(pDir); 
    325                 } 
     325        } else { 
     326            std::string altstrSearchFor = GetSearchString("./", "", iVersion); 
     327            const char *altcsSearchFor = altstrSearchFor.c_str(); 
     328            // Search for files in csPinpadDir that are candidate pinpad lib, 
     329            // load them and ask them if they support this reader + pinpad lib version 
     330            DIR *altpDir = opendir(altcsSearchFor); 
     331            // If pDir is NULL then the dir doesn't exist 
     332 
     333            struct dirent *altpFile = readdir(altpDir); 
     334            char altcsBuf[50]; 
     335            sprintf_s(altcsBuf,sizeof(altcsBuf), "lib%s%i", csPinpadPrefix.c_str(), iVersion); 
     336            altcsBuf[sizeof(altcsBuf) - 1] = '\0'; 
     337            for ( ;altpFile != NULL; altpFile = readdir(altpDir)) 
     338            { 
     339              // only look at files called libpteidpp<version> 
     340              if(strstr(altpFile->d_name, altcsBuf) == NULL ) continue; 
     341 
     342                bPinpadLibFound = CheckLib(altstrSearchFor, altpFile->d_name, 
     343                               ulLanguage, iVersion, hContext, hCard, csReader); 
     344 
     345              if (bPinpadLibFound){ 
     346                break; // OK: a good pinpad lib was found and loaded 
     347              } 
     348            } 
     349            closedir(altpDir); 
     350        } 
    326351        } 
    327352        return bPinpadLibFound; 
  • middleware-offline/trunk/_src/eidmw/cardlayer/pteid35cardlayer.vcproj

    r82 r109  
    22<VisualStudioProject 
    33        ProjectType="Visual C++" 
    4         Version="8,00" 
     4        Version="8.00" 
    55        Name="cardlayer" 
    66        ProjectGUID="{C7DE2B79-F890-4ACB-804A-BDD14E1A9CAE}" 
     
    102102                </Configuration> 
    103103                <Configuration 
    104                         Name="Release|Win32" 
    105                         OutputDirectory="$(SolutionDir)$(ConfigurationName)" 
    106                         IntermediateDirectory="$(ConfigurationName)" 
    107                         ConfigurationType="2" 
    108                         CharacterSet="1" 
    109                         WholeProgramOptimization="1" 
    110                         > 
    111                         <Tool 
    112                                 Name="VCPreBuildEventTool" 
    113                         /> 
    114                         <Tool 
    115                                 Name="VCCustomBuildTool" 
    116                         /> 
    117                         <Tool 
    118                                 Name="VCXMLDataGeneratorTool" 
    119                         /> 
    120                         <Tool 
    121                                 Name="VCWebServiceProxyGeneratorTool" 
    122                         /> 
    123                         <Tool 
    124                                 Name="VCMIDLTool" 
    125                         /> 
    126                         <Tool 
    127                                 Name="VCCLCompilerTool" 
    128                                 WholeProgramOptimization="true" 
    129                                 AdditionalIncludeDirectories="../common;cardpluginPteid;cardpluginSIS" 
    130                                 PreprocessorDefinitions="PTEID_35;WIN32;NDEBUG;_WINDOWS;_USRDLL;EIDMW_CAL_EXPORT;CARDPLUGIN_IN_CAL;CAL_PTEID;PTEID_OLD_PINPAD" 
    131                                 RuntimeLibrary="2" 
    132                                 TreatWChar_tAsBuiltInType="true" 
    133                                 UsePrecompiledHeader="0" 
    134                                 WarningLevel="3" 
    135                                 Detect64BitPortabilityProblems="true" 
    136                                 DebugInformationFormat="3" 
    137                         /> 
    138                         <Tool 
    139                                 Name="VCManagedResourceCompilerTool" 
    140                         /> 
    141                         <Tool 
    142                                 Name="VCResourceCompilerTool" 
    143                                 PreprocessorDefinitions="PTEID_35;_UNICODE;UNICODE" 
    144                         /> 
    145                         <Tool 
    146                                 Name="VCPreLinkEventTool" 
    147                         /> 
    148                         <Tool 
    149                                 Name="VCLinkerTool" 
    150                                 LinkLibraryDependencies="false" 
    151                                 AdditionalDependencies="WS2_32.Lib pteidDlgsWin32.lib pteidcommon.lib winscard.lib" 
    152                                 OutputFile="..\_Binaries35\$(ConfigurationName)\pteid$(ProjectName).dll" 
    153                                 LinkIncremental="1" 
    154                                 AdditionalLibraryDirectories="..\_Binaries35/$(ConfigurationName)" 
    155                                 GenerateDebugInformation="true" 
    156                                 SubSystem="2" 
    157                                 OptimizeReferences="2" 
    158                                 EnableCOMDATFolding="2" 
    159                                 TargetMachine="1" 
    160                         /> 
    161                         <Tool 
    162                                 Name="VCALinkTool" 
    163                         /> 
    164                         <Tool 
    165                                 Name="VCManifestTool" 
    166                         /> 
    167                         <Tool 
    168                                 Name="VCXDCMakeTool" 
    169                         /> 
    170                         <Tool 
    171                                 Name="VCBscMakeTool" 
    172                         /> 
    173                         <Tool 
    174                                 Name="VCFxCopTool" 
    175                         /> 
    176                         <Tool 
    177                                 Name="VCAppVerifierTool" 
    178                         /> 
    179                         <Tool 
    180                                 Name="VCWebDeploymentTool" 
    181                         /> 
    182                         <Tool 
    183                                 Name="VCPostBuildEventTool" 
    184                         /> 
    185                 </Configuration> 
    186                 <Configuration 
    187104                        Name="Debug|x64" 
    188105                        OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" 
     
    268185                </Configuration> 
    269186                <Configuration 
    270                         Name="Release|x64" 
    271                         OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" 
    272                         IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" 
     187                        Name="Release|Win32" 
     188                        OutputDirectory="$(SolutionDir)$(ConfigurationName)" 
     189                        IntermediateDirectory="$(ConfigurationName)" 
    273190                        ConfigurationType="2" 
    274191                        CharacterSet="1" 
     
    289206                        <Tool 
    290207                                Name="VCMIDLTool" 
    291                                 TargetEnvironment="3" 
    292208                        /> 
    293209                        <Tool 
     
    316232                                Name="VCLinkerTool" 
    317233                                LinkLibraryDependencies="false" 
    318                                 AdditionalDependencies="WS2_32.Lib pteid35DlgsWin32.lib pteid35common.lib winscard.lib" 
    319                                 OutputFile="..\_Binaries35\$(PlatformName)\$(ConfigurationName)\pteid35$(ProjectName).dll" 
     234                                AdditionalDependencies="WS2_32.Lib pteidDlgsWin32.lib pteidcommon.lib winscard.lib" 
     235                                OutputFile="..\_Binaries35\$(ConfigurationName)\pteid$(ProjectName).dll" 
     236                                LinkIncremental="1" 
     237                                AdditionalLibraryDirectories="..\_Binaries35/$(ConfigurationName)" 
     238                                GenerateDebugInformation="true" 
     239                                SubSystem="2" 
     240                                OptimizeReferences="2" 
     241                                EnableCOMDATFolding="2" 
     242                                TargetMachine="1" 
     243                        /> 
     244                        <Tool 
     245                                Name="VCALinkTool" 
     246                        /> 
     247                        <Tool 
     248                                Name="VCManifestTool" 
     249                        /> 
     250                        <Tool 
     251                                Name="VCXDCMakeTool" 
     252                        /> 
     253                        <Tool 
     254                                Name="VCBscMakeTool" 
     255                        /> 
     256                        <Tool 
     257                                Name="VCFxCopTool" 
     258                        /> 
     259                        <Tool 
     260                                Name="VCAppVerifierTool" 
     261                        /> 
     262                        <Tool 
     263                                Name="VCWebDeploymentTool" 
     264                        /> 
     265                        <Tool 
     266                                Name="VCPostBuildEventTool" 
     267                        /> 
     268                </Configuration> 
     269                <Configuration 
     270                        Name="Release|x64" 
     271                        OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" 
     272                        IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" 
     273                        ConfigurationType="2" 
     274                        CharacterSet="1" 
     275                        WholeProgramOptimization="1" 
     276                        > 
     277                        <Tool 
     278                                Name="VCPreBuildEventTool" 
     279                        /> 
     280                        <Tool 
     281                                Name="VCCustomBuildTool" 
     282                        /> 
     283                        <Tool 
     284                                Name="VCXMLDataGeneratorTool" 
     285                        /> 
     286                        <Tool 
     287                                Name="VCWebServiceProxyGeneratorTool" 
     288                        /> 
     289                        <Tool 
     290                                Name="VCMIDLTool" 
     291                                TargetEnvironment="3" 
     292                        /> 
     293                        <Tool 
     294                                Name="VCCLCompilerTool" 
     295                                WholeProgramOptimization="true" 
     296                                AdditionalIncludeDirectories="../common;cardpluginPteid;cardpluginSIS" 
     297                                PreprocessorDefinitions="PTEID_35;WIN32;NDEBUG;_WINDOWS;_USRDLL;EIDMW_CAL_EXPORT;CARDPLUGIN_IN_CAL;CAL_PTEID;PTEID_OLD_PINPAD" 
     298                                RuntimeLibrary="2" 
     299                                TreatWChar_tAsBuiltInType="true" 
     300                                UsePrecompiledHeader="0" 
     301                                WarningLevel="3" 
     302                                Detect64BitPortabilityProblems="true" 
     303                                DebugInformationFormat="3" 
     304                        /> 
     305                        <Tool 
     306                                Name="VCManagedResourceCompilerTool" 
     307                        /> 
     308                        <Tool 
     309                                Name="VCResourceCompilerTool" 
     310                                PreprocessorDefinitions="PTEID_35;_UNICODE;UNICODE" 
     311                        /> 
     312                        <Tool 
     313                                Name="VCPreLinkEventTool" 
     314                        /> 
     315                        <Tool 
     316                                Name="VCLinkerTool" 
     317                                LinkLibraryDependencies="false" 
     318                                AdditionalDependencies="WS2_32.Lib pteidDlgsWin32.lib pteidcommon.lib winscard.lib" 
     319                                OutputFile="..\_Binaries35\$(PlatformName)\$(ConfigurationName)\pteid$(ProjectName).dll" 
    320320                                LinkIncremental="1" 
    321321                                AdditionalLibraryDirectories="..\_Binaries35\$(PlatformName)\$(ConfigurationName)" 
  • middleware-offline/trunk/_src/eidmw/common/pteid35common.vcproj

    r82 r109  
    316316                                LinkLibraryDependencies="false" 
    317317                                AdditionalDependencies="WS2_32.lib" 
    318                                 OutputFile="..\_Binaries35\$(PlatformName)\$(ConfigurationName)\pteid35$(ProjectName).dll" 
     318                                OutputFile="..\_Binaries35\$(PlatformName)\$(ConfigurationName)\pteid$(ProjectName).dll" 
    319319                                LinkIncremental="1" 
    320320                                GenerateDebugInformation="true" 
  • middleware-offline/trunk/_src/eidmw/configure_mac.sh

    r5 r109  
    55ver=`sw_vers -productVersion` 
    66 
    7 if [[ $ver > "10.6.0" || $ver = "10.6.0" ]] 
     7if [[ $ver > "10.7.0" || $ver = "10.7.0" ]] 
    88then 
    9         OSDEF=osx10_6 
    10  
     9        OSDEF=osx10_7 
     10else    if [[ $ver > "10.6.0" || $ver = "10.6.0" ]] 
     11        then 
     12                OSDEF=osx10_6 
    1113else    if [[ $ver > "10.5.0" || $ver = "10.5.0" ]] 
    1214        then 
     
    2022                        exit -1 
    2123                fi 
     24        fi 
    2225        fi 
    2326fi 
  • middleware-offline/trunk/_src/eidmw/dialogs/dialogsQTsrv/dlgWndAskPIN.ui

    r5 r109  
    237237   <property name="geometry"> 
    238238    <rect> 
    239      <x>230</x> 
     239     <x>220</x> 
    240240     <y>170</y> 
    241241     <width>161</width> 
     
    255255     <x>230</x> 
    256256     <y>200</y> 
    257      <width>75</width> 
     257     <width>71</width> 
    258258     <height>27</height> 
    259259    </rect> 
     
    293293     <x>310</x> 
    294294     <y>200</y> 
    295      <width>75</width> 
     295     <width>71</width> 
    296296     <height>27</height> 
    297297    </rect> 
     
    301301   </property> 
    302302  </widget> 
    303   <widget class="QWidget" name=""> 
     303  <widget class="QWidget" name="layoutWidget"> 
    304304   <property name="geometry"> 
    305305    <rect> 
     
    333333   </layout> 
    334334  </widget> 
    335   <widget class="QWidget" name=""> 
     335  <widget class="QWidget" name="layoutWidget"> 
     336   <property name="geometry"> 
     337    <rect> 
     338     <x>0</x> 
     339     <y>0</y> 
     340     <width>263</width> 
     341     <height>22</height> 
     342    </rect> 
     343   </property> 
    336344   <layout class="QHBoxLayout"> 
    337345    <item> 
     
    352360 </widget> 
    353361 <layoutdefault spacing="6" margin="11"/> 
    354  <resources> 
    355   <include location="dlgs.qrc"/> 
    356  </resources> 
     362 <resources/> 
    357363 <connections> 
    358364  <connection> 
  • middleware-offline/trunk/_src/eidmw/dialogs/dialogsQTsrv/dlgWndAskPINs.cpp

    r82 r109  
    2222#include "../langUtil.h" 
    2323 
     24#include <iostream> 
    2425#include <stdio.h> 
    2526 
     
    3132 
    3233        setFixedSize(416, 258); 
     34 
     35    if(PINName.contains("Assinatura", Qt::CaseInsensitive)) 
     36        this->setStyleSheet("background-image: url(:/Resources/bg_SignaturePin.png);"); 
     37    else 
     38        this->setStyleSheet("background-image: url(:/Resources/bg_AuthenticationPin.png);"); 
    3339 
    3440        //this->resize( 350, 280 ); 
     
    7581        this->setWindowTitle( Title ); 
    7682 
    77         ui.lblHeader->setText( QString::fromWCharArray(GETSTRING_DLG(EnterYourPin)) ); 
    78         ui.lblHeader->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(EnterYourPin)) ); 
    79         ui.lblPINName_2->setText( QString::fromWCharArray(GETSTRING_DLG(Pin)) ); 
    80         ui.lblPINName_2->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(Pin)) ); 
    81  
    82         ui.lblOldPINName->setText( QString::fromWCharArray(GETSTRING_DLG(CurrentPin)) ); 
    83         ui.lblOldPINName->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(CurrentPin)) ); 
     83        ui.lblHeader->setText( QString::fromWCharArray(GETSTRING_DLG(EnterYourPin)) ); 
     84        ui.lblHeader->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(EnterYourPin)) ); 
     85        ui.lblPINName_2->setText( QString::fromWCharArray(GETSTRING_DLG(Pin)) ); 
     86        ui.lblPINName_2->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(Pin)) ); 
     87 
     88        ui.lblOldPINName->setText( QString::fromWCharArray(GETSTRING_DLG(CurrentPin)) ); 
     89        ui.lblOldPINName->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(CurrentPin)) ); 
    8490        ui.lblNewPIN1->setText( QString::fromWCharArray(GETSTRING_DLG(NewPin)) ); 
    8591        ui.lblNewPIN1->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(NewPin)) ); 
    86         ui.lblNewPIN2->setText( QString::fromWCharArray(GETSTRING_DLG(ConfirmNewPin)) ); 
    87         ui.lblNewPIN2->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(ConfirmNewPin)) ); 
     92        ui.lblNewPIN2->setText( QString::fromWCharArray(GETSTRING_DLG(ConfirmNewPin)) ); 
     93        ui.lblNewPIN2->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(ConfirmNewPin)) ); 
    8894 
    8995        ui.btnOk->setText( QString::fromWCharArray(GETSTRING_DLG(Ok)) ); 
     
    9298        ui.btnCancel->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(Cancel)) ); 
    9399 
    94         ui.lblIcon->setPixmap( QPixmap( ":/Resources/ICO_CARD_PIN_128x128.png" ) ); 
     100    //ui.lblIcon->setPixmap( QPixmap( ":/Resources/ICO_CARD_PIN_128x128.png" ) ); 
    95101 
    96102        if( m_UseKeypad = UseKeypad ) 
     
    116122                ui.tbtClear->setIcon( QIcon( ":/Resources/KeyPadButtonCE.png" ) ); 
    117123 
    118                 ui.fraPIN_Normal->setVisible( false ); 
     124        //ui.fraPIN_Normal->setVisible( false ); 
    119125                connect( ui.btnOk, SIGNAL( clicked() ), this, SLOT( NextField() ) ); 
    120126                m_ulPinMaxLen=m_ulPin1MaxLen; 
     
    127133                if( !PINName.isEmpty() ) 
    128134                { 
    129                         ui.lblHeader->setText( QString::fromWCharArray(GETSTRING_DLG(EnterYour)) + " " + PINName + " " + QString::fromWCharArray(GETSTRING_DLG(Code)) ); 
    130                         ui.lblHeader->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(EnterYour)) + " " + PINName + " " + QString::fromWCharArray(GETSTRING_DLG(Code)) ); 
     135            ui.lblHeader->setText( QString::fromWCharArray(GETSTRING_DLG(EnterYour)) + " " + PINName + " " + QString::fromWCharArray(GETSTRING_DLG(Code)) ); 
     136            ui.lblHeader->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(EnterYour)) + " " + PINName + " " + QString::fromWCharArray(GETSTRING_DLG(Code)) ); 
    131137                } 
    132138        } 
     
    138144                if( !Header.isEmpty() ) 
    139145                { 
    140                         ui.lblHeader->setText( Header ); 
    141                         ui.lblHeader->setAccessibleName( Header ); 
    142                 } 
    143                 if( !PINName.isEmpty() ) 
    144                 { 
    145                         ui.lblOldPINName->setText( PINName ); 
    146                         ui.lblOldPINName->setAccessibleName( PINName ); 
    147                 } 
    148         } 
    149  
    150         ui.lblError->setVisible( false ); 
     146            ui.lblHeader->setText( Header ); 
     147            ui.lblHeader->setAccessibleName( Header ); 
     148                } 
     149        } 
     150 
     151    //ui.lblError->setVisible( false ); 
    151152        OldPIN_OK = NewPIN1_OK = NewPIN2_OK = false; 
    152153 
     
    217218void dlgWndAskPINs::NextField() 
    218219{ 
    219         switch( m_UK_InputField ) 
     220    switch( m_UK_InputField ) 
    220221        { 
    221222                case INPUTFIELD_OLD: // 0  
     
    240241                        ui.lblHeader->setText( QString::fromWCharArray(GETSTRING_DLG(EnterYourNewPinCodeAgainToConfirm))); 
    241242                        ui.lblHeader->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(EnterYourNewPinCodeAgainToConfirm))); 
    242                         ui.lblError->setVisible( false ); 
     243            //ui.lblError->setVisible( false ); 
    243244                        break; 
    244245                } 
     
    264265        else 
    265266        { 
    266                 ui.lblError->setText( QString::fromWCharArray(GETSTRING_DLG(ErrorTheNewPinCodesAreNotIdentical)) ); 
    267                 ui.lblError->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(ErrorTheNewPinCodesAreNotIdentical)) ); 
    268                 ui.lblError->setVisible( true ); 
     267        //ui.lblError->setText( QString::fromWCharArray(GETSTRING_DLG(ErrorTheNewPinCodesAreNotIdentical)) ); 
     268        //ui.lblError->setAccessibleName( QString::fromWCharArray(GETSTRING_DLG(ErrorTheNewPinCodesAreNotIdentical)) ); 
     269        //ui.lblError->setVisible( true ); 
    269270                if( m_UseKeypad ) 
    270271                { 
  • middleware-offline/trunk/_src/eidmw/dialogs/dialogsQTsrv/dlgWndAskPINs.ui

    r5 r109  
    1 <ui version="4.0" > 
     1<?xml version="1.0" encoding="UTF-8"?> 
     2<ui version="4.0"> 
    23 <class>dlgWndAskPINsClass</class> 
    3  <widget class="QDialog" name="dlgWndAskPINsClass" > 
    4   <property name="geometry" > 
     4 <widget class="QDialog" name="dlgWndAskPINsClass"> 
     5  <property name="geometry"> 
    56   <rect> 
    67    <x>0</x> 
    78    <y>0</y> 
    8     <width>348</width> 
    9     <height>381</height> 
     9    <width>419</width> 
     10    <height>252</height> 
    1011   </rect> 
    1112  </property> 
    12   <property name="windowTitle" > 
     13  <property name="windowTitle"> 
    1314   <string>dlgWndAskPINs</string> 
    1415  </property> 
    15   <layout class="QGridLayout" > 
    16    <item row="0" column="0" > 
    17     <widget class="QFrame" name="fraPIN_Keypad" > 
    18      <property name="frameShape" > 
    19       <enum>QFrame::StyledPanel</enum> 
    20      </property> 
    21      <property name="frameShadow" > 
    22       <enum>QFrame::Raised</enum> 
    23      </property> 
    24      <layout class="QGridLayout" > 
    25       <item row="0" column="0" colspan="3" > 
    26        <layout class="QHBoxLayout" > 
    27         <item> 
    28          <widget class="QLabel" name="lblPINName_2" > 
    29           <property name="layoutDirection" > 
    30            <enum>Qt::RightToLeft</enum> 
    31           </property> 
    32           <property name="text" > 
    33            <string>PIN</string> 
    34           </property> 
    35          </widget> 
    36         </item> 
    37         <item> 
    38          <widget class="QLineEdit" name="txtPIN_Keypad" > 
    39           <property name="echoMode" > 
    40            <enum>QLineEdit::Password</enum> 
    41           </property> 
    42          </widget> 
    43         </item> 
    44        </layout> 
    45       </item> 
    46       <item row="1" column="0" > 
    47        <widget class="QToolButton" name="tbtNUM_1" > 
    48         <property name="text" > 
    49          <string>&amp;1</string> 
     16  <property name="styleSheet"> 
     17   <string notr="true">background-image: url(:/Resources/bg_AuthenticationPin.png);</string> 
     18  </property> 
     19  <widget class="QFrame" name="fraPIN_Keypad"> 
     20   <property name="geometry"> 
     21    <rect> 
     22     <x>0</x> 
     23     <y>150</y> 
     24     <width>115</width> 
     25     <height>20</height> 
     26    </rect> 
     27   </property> 
     28   <property name="frameShape"> 
     29    <enum>QFrame::StyledPanel</enum> 
     30   </property> 
     31   <property name="frameShadow"> 
     32    <enum>QFrame::Raised</enum> 
     33   </property> 
     34   <layout class="QGridLayout"> 
     35    <item row="0" column="0" colspan="3"> 
     36     <layout class="QHBoxLayout"> 
     37      <item> 
     38       <widget class="QLabel" name="lblPINName_2"> 
     39        <property name="layoutDirection"> 
     40         <enum>Qt::RightToLeft</enum> 
    5041        </property> 
    51         <property name="popupMode" > 
    52          <enum>QToolButton::DelayedPopup</enum> 
    53         </property> 
    54         <property name="toolButtonStyle" > 
    55          <enum>Qt::ToolButtonIconOnly</enum> 
     42        <property name="text"> 
     43         <string>PIN</string> 
    5644        </property> 
    5745       </widget> 
    5846      </item> 
    59       <item row="1" column="1" > 
    60        <widget class="QToolButton" name="tbtNUM_2" > 
    61         <property name="text" > 
    62          <string>&amp;2</string> 
    63         </property> 
    64        </widget> 
    65       </item> 
    66       <item row="1" column="2" > 
    67        <widget class="QToolButton" name="tbtNUM_3" > 
    68         <property name="text" > 
    69          <string>&amp;3</string> 
    70         </property> 
    71        </widget> 
    72       </item> 
    73       <item row="2" column="0" > 
    74        <widget class="QToolButton" name="tbtNUM_4" > 
    75         <property name="text" > 
    76          <string>&amp;4</string> 
    77         </property> 
    78        </widget> 
    79       </item> 
    80       <item row="2" column="1" > 
    81        <widget class="QToolButton" name="tbtNUM_5" > 
    82         <property name="text" > 
    83          <string>&amp;5</string> 
    84         </property> 
    85        </widget> 
    86       </item> 
    87       <item row="2" column="2" > 
    88        <widget class="QToolButton" name="tbtNUM_6" > 
    89         <property name="text" > 
    90          <string>&amp;6</string> 
    91         </property> 
    92        </widget> 
    93       </item> 
    94       <item row="3" column="0" > 
    95        <widget class="QToolButton" name="tbtNUM_7" > 
    96         <property name="text" > 
    97          <string>&amp;7</string> 
    98         </property> 
    99        </widget> 
    100       </item> 
    101       <item row="3" column="1" > 
    102        <widget class="QToolButton" name="tbtNUM_8" > 
    103         <property name="text" > 
    104          <string>&amp;8</string> 
    105         </property> 
    106        </widget> 
    107       </item> 
    108       <item row="3" column="2" > 
    109        <widget class="QToolButton" name="tbtNUM_9" > 
    110         <property name="text" > 
    111          <string>&amp;9</string> 
    112         </property> 
    113        </widget> 
    114       </item> 
    115       <item row="4" column="1" > 
    116        <widget class="QToolButton" name="tbtNUM_0" > 
    117         <property name="text" > 
    118          <string>&amp;0</string> 
    119         </property> 
    120        </widget> 
    121       </item> 
    122       <item row="4" column="2" > 
    123        <widget class="QToolButton" name="tbtClear" > 
    124         <property name="text" > 
    125          <string>C&amp;E</string> 
     47      <item> 
     48       <widget class="QLineEdit" name="txtPIN_Keypad"> 
     49        <property name="echoMode"> 
     50         <enum>QLineEdit::Password</enum> 
    12651        </property> 
    12752       </widget> 
    12853      </item> 
    12954     </layout> 
    130     </widget> 
    131    </item> 
    132    <item row="1" column="0" > 
    133     <layout class="QHBoxLayout" > 
    134      <item> 
    135       <widget class="QLabel" name="lblIcon" > 
    136        <property name="text" > 
    137         <string/> 
    138        </property> 
    139       </widget> 
    140      </item> 
    141      <item> 
    142       <widget class="QLabel" name="lblHeader" > 
    143        <property name="text" > 
    144         <string>Enter you PIN</string> 
    145        </property> 
    146        <property name="wordWrap" > 
    147         <bool>true</bool> 
    148        </property> 
    149       </widget> 
    150      </item> 
    151     </layout> 
    152    </item> 
    153    <item row="2" column="0" > 
    154     <widget class="QFrame" name="fraPIN_Normal" > 
    155      <property name="frameShape" > 
    156       <enum>QFrame::NoFrame</enum> 
    157      </property> 
    158      <property name="frameShadow" > 
    159       <enum>QFrame::Plain</enum> 
    160      </property> 
    161      <layout class="QGridLayout" > 
    162       <item row="0" column="1" > 
    163        <spacer> 
    164         <property name="orientation" > 
    165          <enum>Qt::Vertical</enum> 
    166         </property> 
    167         <property name="sizeHint" > 
    168          <size> 
    169           <width>20</width> 
    170           <height>16</height> 
    171          </size> 
    172         </property> 
    173        </spacer> 
    174       </item> 
    175       <item rowspan="3" row="1" column="0" > 
    176        <spacer> 
    177         <property name="orientation" > 
    178          <enum>Qt::Horizontal</enum> 
    179         </property> 
    180         <property name="sizeType" > 
    181          <enum>QSizePolicy::MinimumExpanding</enum> 
    182         </property> 
    183         <property name="sizeHint" > 
    184          <size> 
    185           <width>10</width> 
    186           <height>71</height> 
    187          </size> 
    188         </property> 
    189        </spacer> 
    190       </item> 
    191       <item row="1" column="1" > 
    192        <widget class="QLabel" name="lblOldPINName" > 
    193         <property name="layoutDirection" > 
    194          <enum>Qt::RightToLeft</enum> 
    195         </property> 
    196         <property name="text" > 
    197          <string>Current PIN</string> 
    198         </property> 
    199         <property name="alignment" > 
    200          <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> 
    201         </property> 
    202        </widget> 
    203       </item> 
    204       <item row="1" column="2" > 
    205        <widget class="QLineEdit" name="txtOldPIN" > 
    206         <property name="echoMode" > 
    207          <enum>QLineEdit::Password</enum> 
    208         </property> 
    209        </widget> 
    210       </item> 
    211       <item rowspan="3" row="1" column="3" > 
    212        <spacer> 
    213         <property name="orientation" > 
    214          <enum>Qt::Horizontal</enum> 
    215         </property> 
    216         <property name="sizeType" > 
    217          <enum>QSizePolicy::MinimumExpanding</enum> 
    218         </property> 
    219         <property name="sizeHint" > 
    220          <size> 
    221           <width>10</width> 
    222           <height>71</height> 
    223          </size> 
    224         </property> 
    225        </spacer> 
    226       </item> 
    227       <item row="2" column="1" > 
    228        <widget class="QLabel" name="lblNewPIN1" > 
    229         <property name="layoutDirection" > 
    230          <enum>Qt::RightToLeft</enum> 
    231         </property> 
    232         <property name="text" > 
    233          <string>New PIN</string> 
    234         </property> 
    235         <property name="alignment" > 
    236          <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> 
    237         </property> 
    238        </widget> 
    239       </item> 
    240       <item row="2" column="2" > 
    241        <widget class="QLineEdit" name="txtNewPIN1" > 
    242         <property name="echoMode" > 
    243          <enum>QLineEdit::Password</enum> 
    244         </property> 
    245        </widget> 
    246       </item> 
    247       <item row="3" column="1" > 
    248        <widget class="QLabel" name="lblNewPIN2" > 
    249         <property name="layoutDirection" > 
    250          <enum>Qt::RightToLeft</enum> 
    251         </property> 
    252         <property name="text" > 
    253          <string>Confirm new PIN</string> 
    254         </property> 
    255         <property name="alignment" > 
    256          <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> 
    257         </property> 
    258        </widget> 
    259       </item> 
    260       <item row="3" column="2" > 
    261        <widget class="QLineEdit" name="txtNewPIN2" > 
    262         <property name="echoMode" > 
    263          <enum>QLineEdit::Password</enum> 
    264         </property> 
    265        </widget> 
    266       </item> 
    267       <item row="4" column="1" > 
    268        <spacer> 
    269         <property name="orientation" > 
    270          <enum>Qt::Vertical</enum> 
    271         </property> 
    272         <property name="sizeHint" > 
    273          <size> 
    274           <width>20</width> 
    275           <height>16</height> 
    276          </size> 
    277         </property> 
    278        </spacer> 
    279       </item> 
    280      </layout> 
    281     </widget> 
    282    </item> 
    283    <item row="3" column="0" > 
    284     <widget class="QLabel" name="lblError" > 
    285      <property name="palette" > 
    286       <palette> 
    287        <active> 
    288         <colorrole role="WindowText" > 
    289          <brush brushstyle="SolidPattern" > 
    290           <color alpha="255" > 
    291            <red>255</red> 
    292            <green>0</green> 
    293            <blue>0</blue> 
    294           </color> 
    295          </brush> 
    296         </colorrole> 
    297        </active> 
    298        <inactive> 
    299         <colorrole role="WindowText" > 
    300          <brush brushstyle="SolidPattern" > 
    301           <color alpha="255" > 
    302            <red>255</red> 
    303            <green>0</green> 
    304            <blue>0</blue> 
    305           </color> 
    306          </brush> 
    307         </colorrole> 
    308        </inactive> 
    309        <disabled> 
    310         <colorrole role="WindowText" > 
    311          <brush brushstyle="SolidPattern" > 
    312           <color alpha="255" > 
    313            <red>106</red> 
    314            <green>104</green> 
    315            <blue>100</blue> 
    316           </color> 
    317          </brush> 
    318         </colorrole> 
    319        </disabled> 
    320       </palette> 
    321      </property> 
    322      <property name="text" > 
    323       <string>Error: </string> 
    324      </property> 
    325     </widget> 
    326    </item> 
    327    <item row="4" column="0" > 
    328     <layout class="QHBoxLayout" > 
    329      <item> 
    330       <spacer> 
    331        <property name="orientation" > 
    332         <enum>Qt::Horizontal</enum> 
    333        </property> 
    334        <property name="sizeHint" > 
    335         <size> 
    336          <width>161</width> 
    337          <height>20</height> 
    338         </size> 
    339        </property> 
    340       </spacer> 
    341      </item> 
    342      <item> 
    343       <widget class="QPushButton" name="btnOk" > 
    344        <property name="enabled" > 
    345         <bool>false</bool> 
    346        </property> 
    347        <property name="text" > 
    348         <string>&amp;Ok</string> 
    349        </property> 
    350       </widget> 
    351      </item> 
    352      <item> 
    353       <widget class="QPushButton" name="btnCancel" > 
    354        <property name="text" > 
    355         <string>&amp;Cancel</string> 
    356        </property> 
    357       </widget> 
    358      </item> 
    359     </layout> 
    360    </item> 
    361   </layout> 
     55    </item> 
     56    <item row="1" column="0"> 
     57     <widget class="QToolButton" name="tbtNUM_1"> 
     58      <property name="text"> 
     59       <string>&amp;1</string> 
     60      </property> 
     61      <property name="popupMode"> 
     62       <enum>QToolButton::DelayedPopup</enum> 
     63      </property> 
     64      <property name="toolButtonStyle"> 
     65       <enum>Qt::ToolButtonIconOnly</enum> 
     66      </property> 
     67     </widget> 
     68    </item> 
     69    <item row="1" column="1"> 
     70     <widget class="QToolButton" name="tbtNUM_2"> 
     71      <property name="text"> 
     72       <string>&amp;2</string> 
     73      </property> 
     74     </widget> 
     75    </item> 
     76    <item row="1" column="2"> 
     77     <widget class="QToolButton" name="tbtNUM_3"> 
     78      <property name="text"> 
     79       <string>&amp;3</string> 
     80      </property> 
     81     </widget> 
     82    </item> 
     83    <item row="2" column="0"> 
     84     <widget class="QToolButton" name="tbtNUM_4"> 
     85      <property name="text"> 
     86       <string>&amp;4</string> 
     87      </property> 
     88     </widget> 
     89    </item> 
     90    <item row="2" column="1"> 
     91     <widget class="QToolButton" name="tbtNUM_5"> 
     92      <property name="text"> 
     93       <string>&amp;5</string> 
     94      </property> 
     95     </widget> 
     96    </item> 
     97    <item row="2" column="2"> 
     98     <widget class="QToolButton" name="tbtNUM_6"> 
     99      <property name="text"> 
     100       <string>&amp;6</string> 
     101      </property> 
     102     </widget> 
     103    </item> 
     104    <item row="3" column="0"> 
     105     <widget class="QToolButton" name="tbtNUM_7"> 
     106      <property name="text"> 
     107       <string>&amp;7</string> 
     108      </property> 
     109     </widget> 
     110    </item> 
     111    <item row="3" column="1"> 
     112     <widget class="QToolButton" name="tbtNUM_8"> 
     113      <property name="text"> 
     114       <string>&amp;8</string> 
     115      </property> 
     116     </widget> 
     117    </item> 
     118    <item row="3" column="2"> 
     119     <widget class="QToolButton" name="tbtNUM_9"> 
     120      <property name="text"> 
     121       <string>&amp;9</string> 
     122      </property> 
     123     </widget> 
     124    </item> 
     125    <item row="4" column="1"> 
     126     <widget class="QToolButton" name="tbtNUM_0"> 
     127      <property name="text"> 
     128       <string>&amp;0</string> 
     129      </property> 
     130     </widget> 
     131    </item> 
     132    <item row="4" column="2"> 
     133     <widget class="QToolButton" name="tbtClear"> 
     134      <property name="text"> 
     135       <string>C&amp;E</string> 
     136      </property> 
     137     </widget> 
     138    </item> 
     139   </layout> 
     140  </widget> 
     141  <widget class="QWidget" name="widget" native="true"> 
     142   <property name="geometry"> 
     143    <rect> 
     144     <x>0</x> 
     145     <y>0</y> 
     146     <width>421</width> 
     147     <height>251</height> 
     148    </rect> 
     149   </property> 
     150   <property name="autoFillBackground"> 
     151    <bool>false</bool> 
     152   </property> 
     153   <property name="styleSheet"> 
     154    <string notr="true"/> 
     155   </property> 
     156   <widget class="QLabel" name="lblOldPINName"> 
     157    <property name="enabled"> 
     158     <bool>true</bool> 
     159    </property> 
     160    <property name="geometry"> 
     161     <rect> 
     162      <x>200</x> 
     163      <y>100</y> 
     164      <width>131</width> 
     165      <height>32</height> 
     166     </rect> 
     167    </property> 
     168    <property name="acceptDrops"> 
     169     <bool>false</bool> 
     170    </property> 
     171    <property name="layoutDirection"> 
     172     <enum>Qt::RightToLeft</enum> 
     173    </property> 
     174    <property name="autoFillBackground"> 
     175     <bool>false</bool> 
     176    </property> 
     177    <property name="styleSheet"> 
     178     <string notr="true">background-image: url(:/Resources/alpha.png);</string> 
     179    </property> 
     180    <property name="text"> 
     181     <string>Current PIN</string> 
     182    </property> 
     183    <property name="alignment"> 
     184     <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> 
     185    </property> 
     186   </widget> 
     187   <widget class="QLineEdit" name="txtOldPIN"> 
     188    <property name="geometry"> 
     189     <rect> 
     190      <x>330</x> 
     191      <y>100</y> 
     192      <width>71</width> 
     193      <height>25</height> 
     194     </rect> 
     195    </property> 
     196    <property name="echoMode"> 
     197     <enum>QLineEdit::Password</enum> 
     198    </property> 
     199   </widget> 
     200   <widget class="QLineEdit" name="txtNewPIN1"> 
     201    <property name="geometry"> 
     202     <rect> 
     203      <x>330</x> 
     204      <y>130</y> 
     205      <width>71</width> 
     206      <height>25</height> 
     207     </rect> 
     208    </property> 
     209    <property name="echoMode"> 
     210     <enum>QLineEdit::Password</enum> 
     211    </property> 
     212   </widget> 
     213   <widget class="QLineEdit" name="txtNewPIN2"> 
     214    <property name="geometry"> 
     215     <rect> 
     216      <x>330</x> 
     217      <y>160</y> 
     218      <width>71</width> 
     219      <height>25</height> 
     220     </rect> 
     221    </property> 
     222    <property name="echoMode"> 
     223     <enum>QLineEdit::Password</enum> 
     224    </property> 
     225   </widget> 
     226   <widget class="QLabel" name="lblNewPIN2"> 
     227    <property name="geometry"> 
     228     <rect> 
     229      <x>200</x> 
     230      <y>160</y> 
     231      <width>131</width> 
     232      <height>32</height> 
     233     </rect> 
     234    </property> 
     235    <property name="layoutDirection"> 
     236     <enum>Qt::RightToLeft</enum> 
     237    </property> 
     238    <property name="styleSheet"> 
     239     <string notr="true">background-image: url(:/Resources/alpha.png);</string> 
     240    </property> 
     241    <property name="text"> 
     242     <string>Confirm new PIN</string> 
     243    </property> 
     244    <property name="alignment"> 
     245     <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> 
     246    </property> 
     247   </widget> 
     248   <widget class="QPushButton" name="btnCancel"> 
     249    <property name="geometry"> 
     250     <rect> 
     251      <x>310</x> 
     252      <y>200</y> 
     253      <width>75</width> 
     254      <height>25</height> 
     255     </rect> 
     256    </property> 
     257    <property name="text"> 
     258     <string>&amp;Cancel</string> 
     259    </property> 
     260   </widget> 
     261   <widget class="QPushButton" name="btnOk"> 
     262    <property name="enabled"> 
     263     <bool>false</bool> 
     264    </property> 
     265    <property name="geometry"> 
     266     <rect> 
     267      <x>230</x> 
     268      <y>200</y> 
     269      <width>75</width> 
     270      <height>25</height> 
     271     </rect> 
     272    </property> 
     273    <property name="text"> 
     274     <string>&amp;Ok</string> 
     275    </property> 
     276   </widget> 
     277   <widget class="QLabel" name="lblHeader"> 
     278    <property name="geometry"> 
     279     <rect> 
     280      <x>220</x> 
     281      <y>40</y> 
     282      <width>171</width> 
     283      <height>51</height> 
     284     </rect> 
     285    </property> 
     286    <property name="styleSheet"> 
     287     <string notr="true">background-image: url(:/Resources/alpha.png);</string> 
     288    </property> 
     289    <property name="text"> 
     290     <string>Enter you PIN</string> 
     291    </property> 
     292    <property name="wordWrap"> 
     293     <bool>true</bool> 
     294    </property> 
     295   </widget> 
     296   <widget class="QLabel" name="lblIcon"> 
     297    <property name="geometry"> 
     298     <rect> 
     299      <x>20</x> 
     300      <y>0</y> 
     301      <width>102</width> 
     302      <height>15</height> 
     303     </rect> 
     304    </property> 
     305    <property name="text"> 
     306     <string/> 
     307    </property> 
     308   </widget> 
     309   <widget class="QLabel" name="lblNewPIN1"> 
     310    <property name="geometry"> 
     311     <rect> 
     312      <x>200</x> 
     313      <y>130</y> 
     314      <width>131</width> 
     315      <height>32</height> 
     316     </rect> 
     317    </property> 
     318    <property name="layoutDirection"> 
     319     <enum>Qt::RightToLeft</enum> 
     320    </property> 
     321    <property name="autoFillBackground"> 
     322     <bool>false</bool> 
     323    </property> 
     324    <property name="styleSheet"> 
     325     <string notr="true">background-image: url(:/Resources/alpha.png);</string> 
     326    </property> 
     327    <property name="frameShape"> 
     328     <enum>QFrame::NoFrame</enum> 
     329    </property> 
     330    <property name="frameShadow"> 
     331     <enum>QFrame::Plain</enum> 
     332    </property> 
     333    <property name="text"> 
     334     <string>New PIN</string> 
     335    </property> 
     336    <property name="textFormat"> 
     337     <enum>Qt::AutoText</enum> 
     338    </property> 
     339    <property name="scaledContents"> 
     340     <bool>false</bool> 
     341    </property> 
     342    <property name="alignment"> 
     343     <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> 
     344    </property> 
     345   </widget> 
     346  </widget> 
     347  <widget class="QWidget" name="layoutWidget"> 
     348   <property name="geometry"> 
     349    <rect> 
     350     <x>0</x> 
     351     <y>0</y> 
     352     <width>2</width> 
     353     <height>2</height> 
     354    </rect> 
     355   </property> 
     356   <layout class="QHBoxLayout"/> 
     357  </widget> 
    362358 </widget> 
    363  <layoutdefault spacing="6" margin="11" /> 
    364  <resources> 
    365   <include location="dlgs.qrc" /> 
    366  </resources> 
     359 <layoutdefault spacing="6" margin="11"/> 
     360 <resources/> 
    367361 <connections> 
    368362  <connection> 
     
    372366   <slot>reject()</slot> 
    373367   <hints> 
    374     <hint type="sourcelabel" > 
     368    <hint type="sourcelabel"> 
    375369     <x>556</x> 
    376370     <y>364</y> 
    377371    </hint> 
    378     <hint type="destinationlabel" > 
     372    <hint type="destinationlabel"> 
    379373     <x>424</x> 
    380374     <y>237</y> 
  • middleware-offline/trunk/_src/eidmw/dialogs/dialogsQTsrv/dlgWndBadPIN.ui

    r25 r109  
    8181    <property name="geometry"> 
    8282     <rect> 
    83       <x>180</x> 
     83      <x>170</x> 
    8484      <y>140</y> 
    8585      <width>111</width> 
     
    9494    <property name="geometry"> 
    9595     <rect> 
    96       <x>70</x> 
     96      <x>50</x> 
    9797      <y>140</y> 
    9898      <width>111</width> 
     
    107107 </widget> 
    108108 <layoutdefault spacing="6" margin="11"/> 
    109  <resources> 
    110   <include location="dlgs.qrc"/> 
    111  </resources> 
     109 <resources/> 
    112110 <connections> 
    113111  <connection> 
  • middleware-offline/trunk/_src/eidmw/dialogs/dialogsQTsrv/dlgWndPinpadInfo.cpp

    r82 r109  
    3030        ui.setupUi(this); 
    3131    setFixedSize(417, 259); 
     32 
     33    if(PINName.contains("Assinatura", Qt::CaseInsensitive)) 
     34        this->setStyleSheet("background-image: url(:/Resources/bg_SignaturePin.png);"); 
     35    else 
     36        this->setStyleSheet("background-image: url(:/Resources/bg_AuthenticationPin.png);"); 
    3237 
    3338        QString Title=""; 
     
    6469    ui.label->setAccessibleName(QString::fromWCharArray(GETSTRING_DLG(PleaseEnterYourPinOnThePinpadReader))); 
    6570        m_ulHandle = ulHandle; 
    66 //      ui.lblIcon->setPixmap( QPixmap( ":/Resources/ICO_CARD_PIN_128x128.png" ) ); 
    67  
    6871} 
    6972 
  • middleware-offline/trunk/_src/eidmw/dialogs/dialogsQTsrv/dlgWndPinpadInfo.ui

    r82 r109  
    3535   <string>dlgWndPinpadInfo</string> 
    3636  </property> 
     37  <property name="styleSheet"> 
     38   <string notr="true">background-image: url(:/Resources/bg_AuthenticationPin.png);</string> 
     39  </property> 
    3740  <widget class="QWidget" name="widget" native="true"> 
    3841   <property name="geometry"> 
     
    4548   </property> 
    4649   <property name="styleSheet"> 
    47     <string notr="true">background-image: url(:/Resources/bg_AuthenticationPin.png);</string> 
     50    <string notr="true"/> 
    4851   </property> 
    4952   <widget class="QLabel" name="label"> 
  • middleware-offline/trunk/_src/eidmw/dialogs/dialogsQTsrv/main.cpp

    r82 r109  
    277277                                } 
    278278 
    279                                 Header += PINName; 
     279                switch( oData->usage ) 
     280                { 
     281                    case DLG_PIN_AUTH: 
     282                        Header += QString::fromUtf8("Pin da Autenticação"); 
     283                        PINName = QString::fromUtf8("Pin da Autenticação"); 
     284                        break; 
     285                    case DLG_PIN_SIGN: 
     286                        Header +=  QString::fromWCharArray(oData->pinName); 
     287                        PINName = QString::fromWCharArray(oData->pinName); 
     288                        break; 
     289                    case DLG_PIN_ADDRESS: 
     290                        Header +=  QString::fromWCharArray(oData->pinName); 
     291                        PINName = QString::fromWCharArray(oData->pinName); 
     292                        break; 
     293                    default: 
     294                        Header += PINName; 
     295                        break; 
     296                } 
     297 
    280298                                Header += " "; 
    281                                 Header += GETQSTRING_DLG(Code); 
    282299 
    283300                                dlg = new dlgWndAskPINs(   
     
    674691                 
    675692                                        MWLOG(LEV_DEBUG, MOD_DLG, L"  %s child process : dlgWndPinpadInfo created", argv[0]); 
    676                                         dlg->raise(); 
     693                    dlg->raise(); 
    677694                                        dlg->exec(); 
    678695 
  • middleware-offline/trunk/_src/eidmw/dialogs/dialogsWin32/DlgsWin32.cpp

    r5 r109  
    4545unsigned long dlgPinPadInfoCollectorIndex = 0; 
    4646 
     47std::wstring lang1 = CConfig::GetString(CConfig::EIDMW_CONFIG_PARAM_GENERAL_LANGUAGE); 
    4748 
    4849#ifdef _MANAGED 
     
    9899        { 
    99100                std::wstring PINName; 
    100                 if( usage == DLG_PIN_UNKNOWN ) 
    101                         PINName = csPinName; 
     101 
     102                if(wcscmp(L"nl",lang1.c_str())==0) 
     103                { 
     104                        if (usage == DLG_PIN_AUTH) 
     105                                PINName.append(L"Pin da Autenticação"); 
     106                        else if (usage == DLG_PIN_ADDRESS) 
     107                                PINName.append(L"Pin da Morada"); 
     108                        else 
     109                                PINName.append(L"Pin da Assinatura"); 
     110                } 
    102111                else 
    103112                        PINName = GETSTRING_DLG(Pin); 
     
    110119                        { 
    111120                        case DLG_PIN_AUTH: 
    112                                 sMessage = GETSTRING_DLG(PleaseEnterYourPin); 
     121                                if(wcscmp(L"nl",lang1.c_str())==0) 
     122                                { 
     123                                        //sMessage += (L"PIN da Autenticação"); 
     124                                        sMessage += L"\n\n"; 
     125                                        sMessage += (L"Introduza o Código PIN"); 
     126                                } 
     127                                else 
     128                                { 
     129                                        //sMessage += GETSTRING_DLG(Pin);  
     130                                        sMessage += L"\n\n"; 
     131                                        sMessage += GETSTRING_DLG(PleaseEnterYourPin); 
     132                                } 
    113133                                sMessage += L", "; 
    114134                                sMessage += GETSTRING_DLG(InOrderToAuthenticateYourself); 
     
    116136                                break; 
    117137                        case DLG_PIN_SIGN: 
    118                                 sMessage = GETSTRING_DLG(Caution); 
     138                                sMessage += L"\n\n"; 
     139                                if(wcscmp(L"nl",lang1.c_str())==0) 
     140                                { 
     141                                        sMessage += (L"Atenção"); 
     142                                } 
     143                                else 
     144                                        sMessage += GETSTRING_DLG(Caution); 
    119145                                sMessage += L" "; 
    120                                 sMessage += GETSTRING_DLG(YouAreAboutToMakeALegallyBindingElectronic); 
     146                                if(wcscmp(L"nl",lang1.c_str())==0) 
     147                                { 
     148                                        sMessage += (L"Voce está prestes a realizar uma assinatura electrónica legalmente válida com o seu Cartão de Cidadão."); 
     149                                } 
     150                                else 
     151                                        sMessage += GETSTRING_DLG(YouAreAboutToMakeALegallyBindingElectronic); 
     152                                /*sMessage += L"\n"; 
     153                                if(wcscmp(L"nl",lang1.c_str())==0) 
     154                                { 
     155                                        sMessage += (L"Introduza o código PIN"); 
     156                                } 
     157                                else  
     158                                        sMessage += GETSTRING_DLG(PleaseEnterYourPin);*/ 
     159                                //sMessage += L", "; 
     160                                //sMessage += GETSTRING_DLG(ToContinueOrClickTheCancelButton); 
     161                                //sMessage += L"\n\n"; 
     162                                break; 
     163                        case DLG_PIN_ADDRESS: 
     164                                sMessage += L"\n\n"; 
     165                                if(wcscmp(L"nl",lang1.c_str())==0) 
     166                                { 
     167                                        sMessage += (L"Introduza o Código PIN"); 
     168                                } 
     169                                else 
     170                                        sMessage += (L"Please Enter your PIN"); 
    121171                                sMessage += L"\n"; 
    122                                 sMessage += GETSTRING_DLG(PleaseEnterYourPin); 
    123                                 sMessage += L", "; 
    124                                 sMessage += GETSTRING_DLG(ToContinueOrClickTheCancelButton); 
     172                                break; 
     173                        default: 
    125174                                sMessage += L"\n\n"; 
    126                                 sMessage += GETSTRING_DLG(Warning); 
    127                                 sMessage += L" "; 
    128                                 sMessage += GETSTRING_DLG(IfYouOnlyWantToLogOnToA); 
     175                                if(wcscmp(L"nl",lang1.c_str())==0) 
     176                                { 
     177                                        sMessage += (L"Introduza o Código PIN"); 
     178                                } 
     179                                else 
     180                                        sMessage += GETSTRING_DLG(PleaseEnterYourPin); 
    129181                                sMessage += L"\n"; 
    130182                                break; 
    131                         default: 
    132                                 sMessage = GETSTRING_DLG(PleaseEnterYourPin); 
    133                                 sMessage += L"\n"; 
    134                                 break; 
    135183                        } 
    136  
    137184                        break; 
    138185                case DLG_PIN_OP_UNBLOCK_NO_CHANGE: 
     
    200247                { 
    201248                case DLG_PIN_OP_CHANGE: 
    202                         if( usage == DLG_PIN_UNKNOWN ) 
     249                        if( usage == DLG_PIN_AUTH ) 
     250                        { 
     251                                if(wcscmp(L"nl",lang1.c_str())==0) 
     252                                        PINName = (L"Pin da Autenticação"); 
     253                                else 
     254                                        PINName = csPinName; 
     255                        } 
     256                        else 
    203257                                PINName = csPinName; 
    204                         else 
    205                                 PINName = GETSTRING_DLG(Pin); 
    206258                        break; 
    207259                case DLG_PIN_OP_UNBLOCK_CHANGE: 
     
    218270                Header += PINName; 
    219271                Header += L" "; 
    220                 Header += GETSTRING_DLG(Code); 
    221272 
    222273                dlg = new dlgWndAskPINs( pin1Info, pin2Info, Header, PINName, DlgGetKeyPad() ); 
  • middleware-offline/trunk/_src/eidmw/dialogs/dialogsWin32/DlgsWin32.rc

    r5 r109  
    22// 
    33#include "resource.h" 
    4  
    5 #include "../../_Builds/pteidversions.h" 
    64 
    75#define APSTUDIO_READONLY_SYMBOLS 
     
    3028// 
    3129 
    32 1 TEXTINCLUDE 
     301 TEXTINCLUDE  
    3331BEGIN 
    3432    "resource.h\0" 
    3533END 
    3634 
    37 2 TEXTINCLUDE 
     352 TEXTINCLUDE  
    3836BEGIN 
    3937    "#include ""afxres.h""\r\n" 
     
    4139END 
    4240 
    43 3 TEXTINCLUDE 
     413 TEXTINCLUDE  
    4442BEGIN 
    4543    "\r\n" 
     
    4947#endif    // APSTUDIO_INVOKED 
    5048 
     49 
     50///////////////////////////////////////////////////////////////////////////// 
     51// 
     52// Bitmap 
     53// 
     54 
     55IDB_BITMAP1             BITMAP                  "Images\\bg_AuthenticationPin.bmp" 
     56IDB_BITMAP2             BITMAP                  "Images\\bg_SignaturePin.bmp" 
    5157#endif    // English (U.S.) resources 
    5258///////////////////////////////////////////////////////////////////////////// 
     
    6874 
    6975VS_VERSION_INFO VERSIONINFO 
    70  FILEVERSION WIN_DLG_VERSION1,WIN_DLG_VERSION2,WIN_DLG_VERSION3,WIN_DLG_VERSION4 
    71  PRODUCTVERSION WIN_DLG_VERSION1,WIN_DLG_VERSION2,WIN_DLG_VERSION3,WIN_DLG_VERSION4 
     76 FILEVERSION 1,0,1,6483 
     77 PRODUCTVERSION 1,0,1,6483 
    7278 FILEFLAGSMASK 0x17L 
    7379#ifdef _DEBUG 
     
    8591        BEGIN 
    8692            VALUE "FileDescription", "Dialogs for Portugal eID MiddleWare" 
    87             VALUE "CompanyName", PTEID_COMPANY_NAME 
    88             VALUE "FileVersion", WIN_DLG_VERSION_STRING 
     93            VALUE "CompanyName", "Portuguese Government" 
     94            VALUE "FileVersion", "1, 0, 1, 6483" 
    8995            VALUE "InternalName", "pteidDlgsWin32D" 
    90             VALUE "LegalCopyright", PTEID_COPYRIGHT 
     96            VALUE "LegalCopyright", "Copyright (C) 2010-2011" 
    9197            VALUE "OriginalFilename", "pteidDlgsWin32.dll" 
    92             VALUE "ProductName", PTEID_PRODUCT_NAME 
    93             VALUE "ProductVersion", PTEID_PRODUCT_VERSION 
     98            VALUE "ProductName", "Portugal eID MiddleWare" 
     99            VALUE "ProductVersion", "1.0" 
    94100        END 
    95101    END 
     
    100106END 
    101107 
     108 
    102109///////////////////////////////////////////////////////////////////////////// 
    103110// 
     
    106113 
    107114IDB_PINSIGN             BITMAP                  "Images\\ICO_CARD_SIGN_128x128.bmp" 
    108  
    109 ///////////////////////////////////////////////////////////////////////////// 
    110 // 
    111 // Bitmap 
    112 // 
    113  
    114115IDB_PIN                 BITMAP                  "Images\\ICO_CARD_PIN_128x128.bmp" 
    115116IDB_ICO_INFO            BITMAP                  "Images\\ICO_CARD_INFO_64x64.bmp" 
     
    142143 
    143144 
     145 
    144146#ifndef APSTUDIO_INVOKED 
    145147///////////////////////////////////////////////////////////////////////////// 
  • middleware-offline/trunk/_src/eidmw/dialogs/dialogsWin32/dlgWndAskPIN.cpp

    r91 r109  
    2525#include "../langUtil.h" 
    2626#include "Log.h" 
    27  
    2827#include "Config.h" 
    2928 
     
    3837#define KP_LBL_SIZE 24 
    3938 
     39std::wstring lang = CConfig::GetString(CConfig::EIDMW_CONFIG_PARAM_GENERAL_LANGUAGE); 
     40 
    4041dlgWndAskPIN::dlgWndAskPIN( DlgPinInfo pinInfo, DlgPinUsage PinPusage, std::wstring & Header, std::wstring & PINName, bool UseKeypad, HWND Parent ) 
    4142:Win32Dialog(L"WndAskPIN") 
     
    4546        PinResult[0] = ' '; 
    4647        PinResult[1] = (char)0; 
    47  
    48         std::wstring lang = CConfig::GetString(CConfig::EIDMW_CONFIG_PARAM_GENERAL_LANGUAGE); 
    4948 
    5049        std::wstring tmpTitle = L""; 
     
    8079                Height = 480; 
    8180 
    82         if( CreateWnd( tmpTitle.c_str() , 480, Height, 0, Parent ) ) 
     81        if( CreateWnd( tmpTitle.c_str() , 420, Height, 0, Parent ) ) 
    8382        { 
    8483                RECT clientRect; 
     
    9291                HWND hOkButton = CreateWindow( 
    9392                        L"BUTTON", GETSTRING_DLG(Ok), WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON,  
    94                         clientRect.right - 160, clientRect.bottom - 36, 72, 24,  
     93                        clientRect.right - 180, clientRect.bottom - 65, 72, 24,  
    9594                        m_hWnd, (HMENU)IDB_OK, m_hInstance, NULL ); 
    9695                EnableWindow( hOkButton, false ); 
     
    9998                HWND hCancelButton = CreateWindow( 
    10099                        L"BUTTON", GETSTRING_DLG(Cancel), WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_TEXT,  
    101                         clientRect.right - 80, clientRect.bottom - 36, 72, 24,  
     100                        clientRect.right - 100, clientRect.bottom - 65, 72, 24,  
    102101                        m_hWnd, (HMENU)IDB_CANCEL, m_hInstance, NULL ); 
    103102 
     
    152151 
    153152                LONG pinTop=0; 
    154                 LONG pinLeft=clientRect.right/2 - 100 + 40; 
     153                LONG pinLeft=clientRect.right/2 - 100 + 120; 
    155154 
    156155                if( m_UseKeypad ) 
    157156                        pinTop = clientRect.top + 20; 
    158157                else 
    159                         pinTop = clientRect.bottom - 80; 
     158                        pinTop = clientRect.bottom - 100; 
    160159 
    161160                HWND hTextEdit = CreateWindowEx( WS_EX_CLIENTEDGE, 
     
    166165 
    167166                HWND hStaticText = CreateWindow(  
    168                         L"STATIC", szPIN, WS_CHILD | WS_VISIBLE | SS_RIGHT,  
    169                         pinLeft-100, pinTop +4 , 96, 22,  
     167                        L"STATIC", szPIN, WS_CHILD | WS_VISIBLE | SS_LEFT,  
     168                        pinLeft, pinTop - 125 , 126, 16,  
    170169                        m_hWnd, (HMENU)IDC_STATIC, m_hInstance, NULL ); 
    171170 
     
    176175 
    177176                if( PinPusage == DLG_PIN_SIGN ) 
    178                         ImagePIN = LoadBitmap( m_hInstance, MAKEINTRESOURCE(IDB_PINSIGN) ); 
     177                        ImagePIN = LoadBitmap( m_hInstance, MAKEINTRESOURCE(IDB_BITMAP2) ); 
    179178                else 
    180                         ImagePIN = LoadBitmap( m_hInstance, MAKEINTRESOURCE(IDB_PIN) ); 
     179                        ImagePIN = LoadBitmap( m_hInstance, MAKEINTRESOURCE(IDB_BITMAP1) ); 
    181180                CreateBitapMask( ImagePIN, ImagePIN_Mask ); 
    182181 
     
    342341 
    343342                        GetClientRect( m_hWnd, &rect ); 
     343                        //Size of the background Image 
    344344                        MaskBlt( m_hDC, 4, m_KeypadHeight + 8, 
    345                                 IMG_SIZE, IMG_SIZE,     hdcMem, 0, 0, 
     345                                410, 261,       hdcMem, 0, 0, 
    346346                                ImagePIN_Mask, 0, 0, MAKEROP4( SRCCOPY, 0x00AA0029 ) ); 
    347347                 
     
    361361                        } 
    362362 
     363                        //Change top header dimensions 
    363364                        GetClientRect( m_hWnd, &rect ); 
    364                         rect.left += IMG_SIZE + 16; 
    365                         rect.top = m_KeypadHeight + 8; 
    366                         rect.right -= 8; 
    367                         rect.bottom = rect.bottom - 40; 
     365                        rect.left += IMG_SIZE + 100; 
     366                        rect.top = m_KeypadHeight + 60; 
     367                        rect.right -= 20; 
     368                        rect.bottom = rect.bottom - 60; 
    368369                        SetBkColor( m_hDC, GetSysColor( COLOR_3DFACE ) ); 
    369370                        SelectObject( m_hDC, TextFont ); 
  • middleware-offline/trunk/_src/eidmw/dialogs/dialogsWin32/dlgWndAskPINs.cpp

    r5 r109  
    2424#include "../langUtil.h" 
    2525#include "Log.h" 
     26#include "Config.h" 
    2627 
    2728#define IDC_STATIC 0 
     
    4243#define INPUTFIELD_CONFIRM 2 
    4344 
     45std::wstring langchange = CConfig::GetString(CConfig::EIDMW_CONFIG_PARAM_GENERAL_LANGUAGE); 
     46 
    4447dlgWndAskPINs::dlgWndAskPINs( DlgPinInfo pinInfo1, DlgPinInfo pinInfo2, std::wstring & Header, std::wstring & PINName, bool UseKeypad, HWND Parent ) 
    4548:Win32Dialog(L"WndAskPINs") 
     
    5558 
    5659        std::wstring tmpTitle = L""; 
    57         tmpTitle += GETSTRING_DLG(RenewingPinCode); 
     60        if(wcscmp(L"nl",langchange.c_str())==0) 
     61                tmpTitle += (L"Renovar o código PIN"); 
     62        else 
     63                tmpTitle += GETSTRING_DLG(RenewingPinCode); 
    5864 
    5965        m_ulPinMaxLen = pinInfo1.ulMaxLen; 
     
    6672        szPIN = PINName.c_str(); 
    6773 
    68         int Height = 300; 
     74        int Height = 263; 
    6975        if( m_UseKeypad ) 
    7076                Height = 430; 
    7177 
    72         if( CreateWnd( tmpTitle.c_str() , 280, Height, 0, Parent ) ) 
     78        if( CreateWnd( tmpTitle.c_str() , 420, Height, 0, Parent ) ) 
    7379        { 
    7480                RECT clientRect; 
     
    8288                HWND hOkButton = CreateWindow( 
    8389                        L"BUTTON", GETSTRING_DLG(Ok), WS_CHILD | WS_VISIBLE | WS_TABSTOP,  
    84                         clientRect.right - 160, clientRect.bottom - 36, 72, 24,  
     90                        clientRect.right - 180, clientRect.bottom - 55, 72, 24,  
    8591                        m_hWnd, (HMENU)IDB_OK, m_hInstance, NULL ); 
    8692                EnableWindow( hOkButton, false ); 
     
    8894                HWND hCancelButton = CreateWindow( 
    8995                        L"BUTTON", GETSTRING_DLG(Cancel), WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_DEFPUSHBUTTON,  
    90                         clientRect.right - 80, clientRect.bottom - 36, 72, 24,  
     96                        clientRect.right - 100, clientRect.bottom - 55, 72, 24,  
    9197                        m_hWnd, (HMENU)IDB_CANCEL, m_hInstance, NULL ); 
    9298 
     
    165171                        HWND hTextEdit1 = CreateWindowEx( WS_EX_CLIENTEDGE, 
    166172                                L"EDIT", L"", dwStyle,  
    167                                 clientRect.right/2 - 30, clientRect.bottom - 150, 160, 26,  
     173                                clientRect.right/2 + 110, clientRect.bottom - 150, 80, 26,  
    168174                                m_hWnd, (HMENU)IDC_EDIT_PIN1, m_hInstance, NULL ); 
    169175                        SendMessage( hTextEdit1, EM_LIMITTEXT, m_ulPin1MaxLen, 0 ); 
     
    176182                        HWND hTextEdit2 = CreateWindowEx( WS_EX_CLIENTEDGE, 
    177183                                L"EDIT", L"", dwStyle,  
    178                                 clientRect.right/2 - 30, clientRect.bottom - 120, 160, 26,  
     184                                clientRect.right/2 + 110, clientRect.bottom - 120, 80, 26,  
    179185                                m_hWnd, (HMENU)IDC_EDIT_PIN2, m_hInstance, NULL ); 
    180186                        SendMessage( hTextEdit2, EM_LIMITTEXT, m_ulPin2MaxLen, 0 ); 
     
    182188                        HWND hTextEdit3 = CreateWindowEx( WS_EX_CLIENTEDGE, 
    183189                                L"EDIT", L"", dwStyle,  
    184                                 clientRect.right/2 - 30, clientRect.bottom - 90, 160, 26,  
     190                                clientRect.right/2 + 110, clientRect.bottom - 90, 80, 26,  
    185191                                m_hWnd, (HMENU)IDC_EDIT_PIN3, m_hInstance, NULL ); 
    186192                        SendMessage( hTextEdit3, EM_LIMITTEXT, m_ulPin2MaxLen, 0 ); 
     
    188194 
    189195                        HWND hStaticText1 = CreateWindow(  
    190                                 L"STATIC", GETSTRING_DLG(CurrentPin), WS_CHILD | WS_VISIBLE | SS_RIGHT, 
    191                                 0, clientRect.bottom - 146, clientRect.right/2 - 35, 22,  
     196                                L"STATIC", GETSTRING_DLG(CurrentPin), WS_CHILD | WS_VISIBLE | SS_LEFT, 
     197                                210, clientRect.bottom - 146, clientRect.right/2 - 120, 22,  
    192198                                m_hWnd, (HMENU)IDC_STATIC, m_hInstance, NULL ); 
    193199 
    194200                        HWND hStaticText2 = CreateWindow(  
    195                                 L"STATIC", GETSTRING_DLG(NewPin), WS_CHILD | WS_VISIBLE | SS_RIGHT, 
    196                                 0, clientRect.bottom - 116, clientRect.right/2 - 35, 22, 
     201                                L"STATIC", GETSTRING_DLG(NewPin), WS_CHILD | WS_VISIBLE | SS_LEFT, 
     202                                210, clientRect.bottom - 116, clientRect.right/2 - 100, 22, 
    197203                                m_hWnd, (HMENU)IDC_STATIC, m_hInstance, NULL ); 
    198204 
     205                        wstring confirm; 
     206                        if(wcscmp(L"nl",langchange.c_str())==0) 
     207                                confirm = (L"Confirmar novo PIN"); 
     208                        else 
     209                                confirm = (L"Confirm new PIN"); 
     210 
    199211                        HWND hStaticText3 = CreateWindow(  
    200                                 L"STATIC", GETSTRING_DLG(ConfirmNewPin), WS_CHILD | WS_VISIBLE | SS_RIGHT, 
    201                                 0, clientRect.bottom - 86, clientRect.right/2 - 35, 22,  
     212                                L"STATIC", confirm.c_str(), WS_CHILD | WS_VISIBLE | SS_LEFT, 
     213                                210, clientRect.bottom - 86, clientRect.right/2 - 100, 22,  
    202214                                m_hWnd, (HMENU)IDC_STATIC, m_hInstance, NULL ); 
    203215 
     
    213225                SendMessage( hCancelButton, WM_SETFONT, (WPARAM)TextFont, 0 ); 
    214226 
    215                 ImagePIN = LoadBitmap( m_hInstance, MAKEINTRESOURCE(IDB_PIN) ); 
     227                if(wcscmp(L"PIN da Assinatura", PINName.c_str())==0) 
     228                        ImagePIN = LoadBitmap( m_hInstance, MAKEINTRESOURCE(IDB_BITMAP2) ); 
     229                else 
     230                        ImagePIN = LoadBitmap( m_hInstance, MAKEINTRESOURCE(IDB_BITMAP1) ); 
     231 
    216232                CreateBitapMask( ImagePIN, ImagePIN_Mask ); 
    217233 
     
    266282        rect.bottom -= 40; 
    267283        rect.top = rect.bottom - IMG_SIZE + 32; 
    268         rect.left += 136; 
    269         rect.right -= 8; 
     284        rect.left += 286; 
     285        rect.right -= 20; 
    270286        InvalidateRect( m_hWnd, &rect, TRUE ); 
    271287        UpdateWindow( m_hWnd ); 
     
    448464                                SelectObject( hdcMem , ImageKP_BTN[11] ); 
    449465                                MaskBlt( lpDrawItem->hDC, (lpDrawItem->rcItem.right - KP_BTN_SIZE) / 2, (lpDrawItem->rcItem.bottom - KP_BTN_SIZE) / 2, 
    450                                         KP_BTN_SIZE, KP_BTN_SIZE, hdcMem, 0, 0, 
     466                                        410, 262, hdcMem, 0, 0, 
    451467                                        ImageKP_BTN_Mask, 0, 0, MAKEROP4( SRCCOPY, 0x00AA0029 ) ); 
    452468 
     
    514530                                else 
    515531                                { 
    516                                         MaskBlt( m_hDC, 4, 4, IMG_SIZE, IMG_SIZE, 
     532                                        MaskBlt( m_hDC, 4, 4, 410, 261, 
    517533                                                hdcMem, 0, 0, ImagePIN_Mask, 0, 0, 
    518534                                                MAKEROP4( SRCCOPY, 0x00AA0029 ) ); 
    519                                         rect.bottom = IMG_SIZE + 32; 
    520                                         rect.top += 32; 
     535                                        rect.bottom = IMG_SIZE + 52; 
     536                                        rect.top += 52; 
    521537                                } 
    522538 
    523539                                DeleteDC(hdcMem); 
    524540 
    525                                 rect.left += 136; 
    526                                 rect.right -= 8; 
     541                                rect.left += 225; 
     542                                rect.right -= 20; 
    527543                                SetBkColor( m_hDC, GetSysColor( COLOR_3DFACE ) ); 
    528544                                SelectObject( m_hDC, TextFont ); 
  • middleware-offline/trunk/_src/eidmw/dialogs/dialogsWin32/dlgWndBadPIN.cpp

    r5 r109  
    2525#include "../langUtil.h" 
    2626#include "Log.h" 
     27#include "Config.h" 
    2728 
    2829#define IDC_STATIC 0 
     
    3233#define IMG_SIZE 128 
    3334 
     35std::wstring langbad = CConfig::GetString(CConfig::EIDMW_CONFIG_PARAM_GENERAL_LANGUAGE); 
     36 
    3437dlgWndBadPIN::dlgWndBadPIN( std::wstring & PINName, unsigned long RemainingTries, HWND Parent ) 
    3538:Win32Dialog(L"WndBadPIN") 
     
    3740        std::wstring tmpTitle = L""; 
    3841 
    39         tmpTitle += GETSTRING_DLG(Notification); 
     42        if(wcscmp(L"nl",langbad.c_str())==0) 
     43                tmpTitle += (L"Atenção"); 
     44        else 
     45                tmpTitle += GETSTRING_DLG(Notification); 
    4046        tmpTitle += L": "; 
    4147        tmpTitle += GETSTRING_DLG(Bad);  
    4248        tmpTitle += L" "; 
    43         tmpTitle += PINName; 
     49 
     50        if ( wcsstr(const_cast<wchar_t*>( PINName.c_str()), (L"PIN da Autentica")) != 0) 
     51                tmpTitle += (L"Pin da Autenticação"); 
     52        else 
     53                tmpTitle += PINName; 
    4454 
    4555        wchar_t tmpBuf[128]; 
     
    5161        tmpStr = GETSTRING_DLG(Bad); 
    5262        tmpStr += L" \"";  
    53         tmpStr += PINName; 
     63        if ( wcsstr(const_cast<wchar_t*>( PINName.c_str()), (L"PIN da Autentica")) != 0) 
     64                tmpStr += (L"Pin da Autenticação"); 
     65        else 
     66                tmpStr += PINName; 
    5467        tmpStr += L"\": "; 
    5568        tmpStr += tmpBuf; 
     
    5972        if( RemainingTries == 0 ) 
    6073        { 
    61                 tmpStr = PINName; 
     74                if ( wcsstr(const_cast<wchar_t*>( PINName.c_str()), (L"PIN da Autentica")) != 0) 
     75                        tmpTitle += (L"Pin da Autenticação"); 
     76                else 
     77                        tmpTitle += PINName; 
    6278                tmpStr += L" "; 
    6379                tmpStr = GETSTRING_DLG(PinBlocked); 
  • middleware-offline/trunk/_src/eidmw/dialogs/dialogsWin32/pteid35DlgsWin32.vcproj

    r82 r109  
    22<VisualStudioProject 
    33        ProjectType="Visual C++" 
    4         Version="8,00" 
     4        Version="8.00" 
    55        Name="DlgsWin32" 
    66        ProjectGUID="{E27CF8F7-E472-4966-B7D6-448B1427A0D6}" 
     
    253253                        <Tool 
    254254                                Name="VCLinkerTool" 
    255                                 AdditionalDependencies="pteid35common.lib psapi.lib" 
     255                                AdditionalDependencies="pteidcommon.lib psapi.lib" 
    256256                                OutputFile="..\..\_Binaries35\$(ConfigurationName)\pteid35$(ProjectName).dll" 
    257257                                LinkIncremental="1" 
     
    490490                        > 
    491491                        <File 
     492                                RelativePath=".\Images\bg_AuthenticationPin.bmp" 
     493                                > 
     494                        </File> 
     495                        <File 
     496                                RelativePath=".\Images\bg_SignaturePin.bmp" 
     497                                > 
     498                        </File> 
     499                        <File 
    492500                                RelativePath=".\DlgsWin32.rc" 
    493501                                > 
  • middleware-offline/trunk/_src/eidmw/dialogs/dialogsWin32/resource.h

    r5 r109  
    33// Used by DlgsWin32.rc 
    44// 
     5#define BASE_VERSION2                   0 
     6#define BASE_VERSION1                   1 
     7#define BASE_VERSION3                   1 
    58#define IDB_PIN                         106 
    69#define IDB_ICO_INFO                    107 
     
    2124#define IDB_KP_CE                       126 
    2225#define IDB_PINSIGN                     128 
     26#define IDB_BITMAP1                     129 
     27#define IDB_BITMAP2                     131 
     28#define SVN_REVISION                    6483 
    2329 
    2430// Next default values for new objects 
     
    2632#ifdef APSTUDIO_INVOKED 
    2733#ifndef APSTUDIO_READONLY_SYMBOLS 
    28 #define _APS_NEXT_RESOURCE_VALUE        129 
     34#define _APS_NEXT_RESOURCE_VALUE        132 
    2935#define _APS_NEXT_COMMAND_VALUE         40001 
    3036#define _APS_NEXT_CONTROL_VALUE         1002 
  • middleware-offline/trunk/_src/eidmw/dialogs/language.h

    r82 r109  
    7676DEFINE_LANG_STR(SigningWith) = {L"Signing with", L"Assinar com", L"Signez avec", L"Unterschreiben mit"}; 
    7777DEFINE_LANG_STR(PrivacyFilter) = {L"Privacy Filter", L"Filtro de privacidade", L"Privacy Filter", L"Datenschutz-Filter"}; 
    78 DEFINE_LANG_STR(EnterYour) = {L"Enter your", L"Entrar", L"Entrez votre", L"Geben Sie Ihre"}; 
     78DEFINE_LANG_STR(EnterYour) = {L"Enter your", L"Introduza o seu", L"Entrez votre", L"Geben Sie Ihre"}; 
    7979DEFINE_LANG_STR(ForVerification) = {L"for verification", L"voor verificatie", L"pour vᅵrification", L"zwecks Bestᅵtigung"}; 
    8080DEFINE_LANG_STR(ToUnblock) = {L"to unblock", L"para desbloquear", L"pour dᅵbloquer", L"um freizugeben"}; 
    81 DEFINE_LANG_STR(Code) = {L"code", L"código", L"code", L"Kennzahl"}; 
     81DEFINE_LANG_STR(Code) = {L"code", L"código", L"code", L"Kennzahl"}; 
    8282DEFINE_LANG_STR(AndSigning) = {L"and signing", L"e assinar", L"et signature", L"und Unterschrift"}; 
    8383DEFINE_LANG_STR(AndSign) = {L"and sign", L"e assinar", L"et signer", L"und unterschreiben"}; 
    84 DEFINE_LANG_STR(RenewingPinCode) = {L"Renewing PIN code", L"Renovar código PIN", L"Changement de code", L"PIN-Kennzahl erneuern"}; 
     84DEFINE_LANG_STR(RenewingPinCode) = {L"Renewing PIN code", L"Renovar código PIN", L"Changement de code", L"PIN-Kennzahl erneuern"}; 
    8585DEFINE_LANG_STR(CurrentPin) = {L"Current PIN", L"PIN Actual", L"Code actuel", L"Aktuelle PIN"}; 
    8686DEFINE_LANG_STR(NewPin) = {L"New PIN", L"Novo PIN", L"Nouveau", L"Neue PIN"}; 
    87 DEFINE_LANG_STR(ConfirmNewPin) = {L"Confirm new PIN", L"Confirmar código PIN", L"Confimez", L"Neue PIN bestᅵtigen"}; 
    88 DEFINE_LANG_STR(EnterYourNewPinCode) = {L"Enter your New PIN code", L"Introduza o novo código PIN", L"Entrez votre nouveau code PIN", L"Neue PIN-Kennzahl eingeben"}; 
     87DEFINE_LANG_STR(ConfirmNewPin) = {L"Confirm new PIN", L"Confirmar novo PIN", L"Confimez", L"Neue PIN bestᅵtigen"}; 
     88DEFINE_LANG_STR(EnterYourNewPinCode) = {L"Enter your New PIN code", L"Introduza o novo código PIN", L"Entrez votre nouveau code PIN", L"Neue PIN-Kennzahl eingeben"}; 
    8989DEFINE_LANG_STR(EnterYourNewPinCodeAgainToConfirm) = {L"Enter your New PIN code again to confirm", L"Introduza novamente o novo código PIN", L"Confimez votre nouveau code PIN", L"Neue PIN-Kennzahl erneut bestᅵtigen"}; 
    9090DEFINE_LANG_STR(ErrorTheNewPinCodesAreNotIdentical) = {L"Error: The new PIN codes are not identical", L"Erro: os PINS nao sao iguais", L"Erreur: Les codes PIN ne sont pas identiques", L"Fehler: Die PIN-Kennzahlen sind nicht identisch"}; 
    91 DEFINE_LANG_STR(RetryEnterYourNewPinCode) = {L"Retry: Enter your New PIN code", L"Repetir: Introduza o novo código PIN", L"Rᅵessayez: Entrez votre nouveau code PIN", L"Erneut versuchen: Neue PIN-Kennzahl eingeben"}; 
     91DEFINE_LANG_STR(RetryEnterYourNewPinCode) = {L"Retry: Enter your New PIN code", L"Repetir: Introduza o novo código PIN", L"Rᅵessayez: Entrez votre nouveau code PIN", L"Erneut versuchen: Neue PIN-Kennzahl eingeben"}; 
    9292DEFINE_LANG_STR(Bad) = {L"Bad", L"Erro", L"Erreur", L"Fehler"}; 
    9393DEFINE_LANG_STR(Notification) = {L"Notification", L"Atenção", L"Notification", L"Meldung"}; 
  • middleware-offline/trunk/_src/eidmw/eidgui/dlgOptions.cpp

    r34 r109  
    2929{        
    3030        ui.setupUi(this);  
    31         ui.chbShowPicture->hide(); 
    3231        ui.chbShowToolbar->hide(); 
    3332        ui.chbAutoCardReading->setChecked( settings.getAutoCardReading() ); 
    3433        ui.chbWinAutoStart->setChecked( settings.getAutoStartup() ); 
     34 
    3535#ifndef WIN32  
    3636//#ifndef __APPLE__ 
  • middleware-offline/trunk/_src/eidmw/eidgui/dlgOptions.ui

    r5 r109  
    5151    </property> 
    5252    <property name="toolTip"> 
    53      <string>determins whether the application should start reading the card from the moment it's detected in the cartdreader or not</string> 
     53     <string>determins whether the application should start reading the card from the moment it's detected in the cardreader or not</string> 
    5454    </property> 
    5555    <property name="text"> 
     
    6767    </property> 
    6868    <property name="statusTip"> 
    69      <string>Determins whether this application should start when windows starts or not</string> 
     69     <string>Determins whether this application should start when Windows starts or not</string> 
    7070    </property> 
    7171    <property name="text"> 
     
    8383    </property> 
    8484    <property name="toolTip"> 
    85      <string>Determins whether the mainwindow should stay hidden on startup or not (Tray Icon will stay available)</string> 
     85     <string>Determins whether the main window should stay hidden on startup or not (Tray Icon will stay available)</string> 
    8686    </property> 
    8787    <property name="text"> 
     
    9494    <rect> 
    9595     <x>10</x> 
    96      <y>240</y> 
     96     <y>260</y> 
    9797     <width>291</width> 
    98      <height>91</height> 
     98     <height>81</height> 
    9999    </rect> 
    100100   </property> 
     
    135135     <y>180</y> 
    136136     <width>281</width> 
    137      <height>51</height> 
     137     <height>81</height> 
    138138    </rect> 
    139139   </property> 
     
    152152    <property name="text"> 
    153153     <string>Show notification</string> 
     154    </property> 
     155   </widget> 
     156   <widget class="QCheckBox" name="chbShowPicture"> 
     157    <property name="enabled"> 
     158     <bool>true</bool> 
     159    </property> 
     160    <property name="geometry"> 
     161     <rect> 
     162      <x>10</x> 
     163      <y>50</y> 
     164      <width>261</width> 
     165      <height>19</height> 
     166     </rect> 
     167    </property> 
     168    <property name="text"> 
     169     <string>Show picture on startup</string> 
    154170    </property> 
    155171   </widget> 
     
    189205   <property name="text"> 
    190206    <string>OK</string> 
    191    </property> 
    192   </widget> 
    193   <widget class="QCheckBox" name="chbShowPicture"> 
    194    <property name="enabled"> 
    195     <bool>false</bool> 
    196    </property> 
    197    <property name="geometry"> 
    198     <rect> 
    199      <x>10</x> 
    200      <y>340</y> 
    201      <width>261</width> 
    202      <height>19</height> 
    203     </rect> 
    204    </property> 
    205    <property name="text"> 
    206     <string>Show picture</string> 
    207207   </property> 
    208208  </widget> 
  • middleware-offline/trunk/_src/eidmw/eidgui/dlgSignature.ui

    r82 r109  
    8888   </property> 
    8989  </widget> 
    90   <widget class="QListView" name="listView"> 
     90  <widget class="MyListView" name="listView"> 
    9191   <property name="geometry"> 
    9292    <rect> 
     
    125125  </widget> 
    126126 </widget> 
     127 <customwidgets> 
     128  <customwidget> 
     129   <class>MyListView</class> 
     130   <extends>QListView</extends> 
     131   <header>mylistview.h</header> 
     132  </customwidget> 
     133 </customwidgets> 
    127134 <resources/> 
    128135 <connections/> 
  • middleware-offline/trunk/_src/eidmw/eidgui/dlgprint.cpp

    r82 r109  
    4444    { 
    4545                ui.setupUi(this); 
    46                 setFixedSize(378, 233); 
     46                setFixedSize(385, 245); 
    4747                const QIcon Ico = QIcon( ":/images/Images/Icons/Print.png" ); 
    4848                this->setWindowIcon( Ico ); 
     
    108108    try 
    109109    { 
    110         //Sign with XAdES 
    111110        if (ui.chboxSignature->isChecked()) 
    112111        { 
     
    122121            outputsign = QFileDialog::getSaveFileName(this, tr("Save Signature File"), signfilepath, tr("Zip files 'XAdES' (*.zip)")); 
    123122 
    124             if (!outputsign.isEmpty()) 
    125             { 
    126                 pdffiletmp = QDir::tempPath(); 
    127                 pdffiletmp.append("/CartaoCidadao.pdf"); 
    128  
    129                 nativepdftmp = QDir::toNativeSeparators(pdffiletmp); 
    130  
    131                 drawpdf(cdata, PDF ,nativepdftmp.toStdString().c_str()); 
    132  
    133                 char *cpychar; 
    134                 const char **files_to_sign = new const char*[1]; 
    135  
    136                 cpychar = new char[500]; 
     123            pdffiletmp = QDir::tempPath(); 
     124            pdffiletmp.append("/CartaoCidadao.pdf"); 
     125 
     126            nativepdftmp = QDir::toNativeSeparators(pdffiletmp); 
     127 
     128            drawpdf(cdata, PDF ,nativepdftmp.toStdString().c_str()); 
     129 
     130            char *cpychar; 
     131            const char **files_to_sign = new const char*[1]; 
     132 
     133            cpychar = new char[500]; 
    137134#ifdef WIN32 
    138                 strcpy(cpychar, nativepdftmp.toStdString().c_str()); 
     135            strcpy(cpychar, nativepdftmp.toStdString().c_str()); 
    139136#else 
    140                 strcpy(cpychar, nativepdftmp.toUtf8().constData()); 
     137            strcpy(cpychar, nativepdftmp.toUtf8().constData()); 
    141138#endif 
    142                 files_to_sign[0] = cpychar; 
    143  
    144                 PTEID_LOG(PTEID_LOG_LEVEL_DEBUG, "eidgui", "Pdf File to Sign: %s", files_to_sign[0]); 
    145  
    146                 SignXades = Card->SignXades(files_to_sign, 1, outputsign.toStdString().c_str()); 
    147             } 
     139            files_to_sign[0] = cpychar; 
     140 
     141            PTEID_LOG(PTEID_LOG_LEVEL_DEBUG, "eidgui", "Pdf File to Sign: %s", files_to_sign[0]); 
     142 
     143            SignXades = Card->SignXades(files_to_sign, 1, outputsign.toStdString().c_str()); 
    148144        } else { 
    149145            QString nativepdfpath; 
     
    296292                return true; 
    297293        }*/ 
    298  
    299         try 
    300         { 
    301                 unsigned long   ReaderStartIdx = 1; 
    302                 bool                    bRefresh           = false; 
    303                 unsigned long   ReaderEndIdx   = ReaderSet.readerCount(bRefresh); 
    304                 unsigned long   ReaderIdx          = 0; 
    305  
    306                 if (ReaderStartIdx!=(unsigned long)-1) 
    307                 { 
    308                         ReaderEndIdx = ReaderStartIdx+1; 
    309                 } 
    310                 else 
    311                 { 
    312                         ReaderStartIdx=0; 
    313                 } 
    314  
    315                 const char* readerName = ReaderSet.getReaderName(ReaderIdx); 
    316                 m_CurrReaderName = readerName; 
    317                 PTEID_ReaderContext &ReaderContext = ReaderSet.getReaderByName(m_CurrReaderName.toLatin1().data()); 
    318  
    319  
    320                 QString caption(tr("Identity Card: PIN verification")); 
    321  
    322  
    323                 //------------------------------------ 
    324                 // make always sure a card is present 
    325                 //------------------------------------ 
     294    try 
     295    { 
     296        PTEID_ReaderContext &ReaderContext = ReaderSet.getReaderByName(m_CurrReaderName.toLatin1().data()); 
     297 
     298        QString caption(tr("Identity Card: PIN verification")); 
     299 
    326300        if (ReaderContext.isCardPresent()) 
    327301        { 
    328                         QString PinName = "PIN da Morada"; 
    329  
    330                         PTEID_EIDCard&  Card    = ReaderContext.getEIDCard(); 
    331                         PTEID_Pins&             Pins    = Card.getPins(); 
    332  
    333                         for (unsigned long PinIdx=0; PinIdx<Pins.count(); PinIdx++) 
    334                         { 
    335                                 PTEID_Pin&      Pin                     = Pins.getPinByNumber(PinIdx); 
    336                                 QString         CurrPinName     = Pin.getLabel(); 
    337  
    338                                 if (CurrPinName==PinName) 
    339                                 { 
    340                                         unsigned long triesLeft = -1; 
    341                                         bool              bResult   = Pin.verifyPin("",triesLeft); 
    342  
    343                                         CI_Data.LoadDataAddress(Card,m_CurrReaderName); 
    344                                         //QString                 msg(tr("PIN verification ")); 
    345  
    346                                         QString msg = bResult ? tr("PIN verification passed"):tr("PIN verification failed"); 
    347                                         if (!bResult) 
    348                                         { 
    349                                                         /* 
    350                                                         QString nrTriesLeft; 
    351                                                         nrTriesLeft.setNum(triesLeft); 
    352                                                         msg += "\n"; 
    353                                                         msg += "( "; 
    354                                                         msg += tr("Number of tries left: ") + nrTriesLeft + " )"; 
    355                                                         m_ui.txtPIN_Status->setText(msg); 
    356                                                         m_ui.txtPIN_Status->setAccessibleName(msg); 
    357                                                         */ 
    358  
    359                                                         return false; 
    360                                         } 
    361                                         else 
    362                                         { 
    363                                                 //m_ui.txtPIN_Status->setText("Restam 3 tentativas"); 
    364                                                 //m_ui.txtPIN_Status->setAccessibleName("Restam 3 tentativas"); 
    365                                         } 
    366                                         QMessageBox::information( this, caption,  msg, QMessageBox::Ok ); 
    367                                         break; 
    368                                 } 
     302            QString PinName = "PIN da Morada"; 
     303            PTEID_EIDCard&      Card    = ReaderContext.getEIDCard(); 
     304            PTEID_Pins&         Pins    = Card.getPins(); 
     305            for (unsigned long PinIdx=0; PinIdx<Pins.count(); PinIdx++) 
     306            { 
     307                PTEID_Pin&      Pin                     = Pins.getPinByNumber(PinIdx); 
     308                QString         CurrPinName     = Pin.getLabel(); 
     309 
     310                if (CurrPinName==PinName) 
     311                { 
     312                    unsigned long triesLeft = -1; 
     313                    bool                  bResult   = Pin.verifyPin("",triesLeft); 
     314                    //QString             msg(tr("PIN verification ")); 
     315 
     316                    QString msg = bResult ? tr("PIN verification passed"):tr("PIN verification failed"); 
     317                    if (!bResult) 
     318                    { 
     319                            QMessageBox::information( this, caption,  msg, QMessageBox::Ok ); 
     320                            return false; 
     321                    } 
     322                    QMessageBox::information( this, caption,  msg, QMessageBox::Ok ); 
     323                    break; 
     324                } 
    369325            } 
    370326        } 
    371                 else 
    372                 { 
    373                         QString msg(tr("No card present")); 
    374                         QMessageBox::information( this, caption,  msg, QMessageBox::Ok ); 
    375                         return false; 
     327        else 
     328        { 
     329            QString msg(tr("No card present")); 
     330            QMessageBox::information( this, caption,  msg, QMessageBox::Ok ); 
     331            return false; 
    376332        } 
    377         } 
    378         catch (PTEID_Exception &e) 
    379         { 
    380                 QString msg(tr("General exception")); 
    381         PTEID_LOG(PTEID_LOG_LEVEL_DEBUG, "eidgui", "loadCard on dlgprint failed %s", e.GetError()); 
    382                 return false; 
    383         } 
    384         catch (...) 
    385         { 
    386                 QString msg(tr("Unknown exception")); 
    387                 return false; 
    388         } 
    389         return true; 
     333    } 
     334    catch (PTEID_Exception &e) 
     335    { 
     336        QString msg(tr("General exception")); 
     337        return false; 
     338    } 
     339    catch (...) 
     340    { 
     341        QString msg(tr("Unknown exception")); 
     342        return false; 
     343    } 
     344    return true; 
    390345} 
    391346 
  • middleware-offline/trunk/_src/eidmw/eidgui/dlgsignature.cpp

    r82 r109  
    105105} 
    106106 
     107 
     108 
    107109void dlgSignature::SignListView (QStringList list) 
    108110{ 
     
    120122 
    121123        //signal right click 
    122         view->setContextMenuPolicy(Qt::CustomContextMenu); 
    123         connect (ui.listView, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(ShowContextMenu(const QPoint&))); 
    124 } 
    125  
    126 void dlgSignature::RemoveFromView() 
    127 { 
    128         std::cout << "remove from view" << std::endl; 
    129         /*QModelIndex index = ui.listView->currentIndex(); 
    130         int row = index.row(); 
    131         int count = 1; 
    132  
    133         ui.listView->model()->removeRows( 1, count, index ); 
    134         ui.listView->repaint();*/ 
    135  
    136         QModelIndexList indexes = ui.listView->selectionModel()->selectedIndexes(); 
    137         while(indexes.size()) { 
    138                 ui.listView->model()->removeRow(indexes.first().row()); 
    139                 indexes = ui.listView->selectionModel()->selectedIndexes(); 
    140         } 
    141         //ui.listView->repaint(); 
    142 } 
    143  
     124        //view->setContextMenuPolicy(Qt::CustomContextMenu); 
     125        //connect (ui.listView, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(ShowContextMenu(const QPoint&))); 
     126} 
     127 
     128/* Replaced the broken right-click menu by removing on delete keypress 
    144129void dlgSignature::ShowContextMenu(const QPoint& pos) 
    145130{ 
     
    153138        QAction* selectedItem = myMenu->exec(globalPos); 
    154139 
    155         /*if (selectedItem) 
     140        if (selectedItem) 
    156141        { 
    157142                std::cout << "remove item" << std::endl; 
     
    163148                ui.listView->model()->removeRows( row, count, index ); 
    164149                ui.listView->update(); 
    165         }*/ 
    166 } 
     150        } 
     151} 
     152*/ 
     153 
     154 
    167155 
    168156void dlgSignature::on_pbSign_clicked ( void ) 
  • middleware-offline/trunk/_src/eidmw/eidgui/dlgsignature.h

    r82 r109  
    2929#include "genpur.h" 
    3030#include "CardInformation.h" 
     31#include "mylistview.h" 
     32 
    3133 
    3234class dlgSignature : public QDialog 
     
    3840    void on_pbAddFiles_clicked ( void ); 
    3941    void on_pbSign_clicked ( void ); 
    40     void RemoveFromView(); 
    41     void ShowContextMenu(const QPoint& pos); 
     42    //void ShowContextMenu(const QPoint& pos); 
    4243 
    4344public: 
     
    4849    Ui_dlgSignature ui; 
    4950    CardInformation const& m_CI_Data; 
    50     QString m_CurrReaderName;//!< the current reader we're using 
     51    QString m_CurrReaderName; //!< the current reader we're using 
    5152    QStringList alist; 
    52     QListView *view; 
     53    MyListView *view; 
    5354    QProgressDialog *pdialog; 
    5455    QFutureWatcher<void> FutureWatcher; 
  • middleware-offline/trunk/_src/eidmw/eidgui/dlgverifysignature.cpp

    r35 r109  
    8686        if (vsignsucess) 
    8787        { 
    88             QMessageBox::information(this, tr("Verify Signature"), tr("Signature was successfully verified.")); 
     88            QString msg = tr("Signature was successfully verified."); 
     89            // A quick hack, use the error message string buffer to get the timestamp out            
     90            if (errorlen > 0) 
     91            { 
     92                    msg += tr("\nTimestamp: "); 
     93                    msg += error; 
     94            } 
     95                     
     96            QMessageBox::information(this, tr("Verify Signature"), msg); 
     97 
    8998            this->close(); 
    9099 
  • middleware-offline/trunk/_src/eidmw/eidgui/eidgui.pro

    r82 r109  
    135135           dlgprint.h \ 
    136136           dlgverifysignature.h \ 
     137           mylistview.h \ 
    137138           dlgsignature.h \ 
    138139           ../_Builds/pteidversions.h \ 
     
    153154           picturepopup.cpp \ 
    154155           qtsingleapplication.cpp \ 
     156           mylistview.cpp \ 
    155157           genpur.cpp 
    156158unix:!macx: SOURCES += qtsingleapplication_x11.cpp 
  • middleware-offline/trunk/_src/eidmw/eidgui/eidmw_nl.ts

    r82 r109  
    2323        <source>Identity</source> 
    2424        <translation>Identidade</translation> 
     25    </message> 
     26    <message> 
     27        <source>Address</source> 
     28        <translation>Morada</translation> 
     29    </message> 
     30    <message> 
     31        <source>Certificates</source> 
     32        <translation>Certificados</translation> 
    2533    </message> 
    2634    <message> 
     
    10021010    <message> 
    10031011        <source>Unknown exception</source> 
    1004         <translation type="unfinished"></translation> 
     1012        <translation type="unfinished">Erro Genérico</translation> 
    10051013    </message> 
    10061014    <message> 
     
    10341042    <message> 
    10351043        <source>setEventCallbacks</source> 
     1044        <translation type="unfinished"></translation> 
     1045    </message> 
     1046    <message> 
     1047        <source>EID Viewer</source> 
    10361048        <translation type="unfinished"></translation> 
    10371049    </message> 
     
    10821094    </message> 
    10831095    <message> 
    1084         <source>determins whether the application should start reading the card from the moment it&apos;s detected in the cartdreader or not</source> 
    1085         <translation>Bepaalt of het programma de kaart leest van zodra de kaart in de Leitor de cartões is waargenomen</translation> 
     1096        <source>Determins whether the application should start reading the card from the moment it&apos;s detected in the cardreader or not</source> 
     1097        <translation>Determina se a aplicação deve começar a ler o cartão logo que é detectada a sua inserção</translation> 
    10861098    </message> 
    10871099    <message> 
     
    10901102    </message> 
    10911103    <message> 
    1092         <source>Determins whether this application should start when windows starts or not</source> 
    1093         <translation>Bepaalt of dit programma opstart als Windows opstart</translation> 
     1104        <source>Show picture on startup</source> 
     1105        <translation>Mostrar fotografia ao iniciar</translation> 
     1106    </message> 
     1107    <message> 
     1108        <source>Determins whether this application should start when Windows starts or not</source> 
     1109        <translation>Coloca a aplicação no arranque do Windows</translation> 
    10941110    </message> 
    10951111    <message> 
    10961112        <source>Activate on Windows startup</source> 
    1097         <translation>Arrancar automaticamente com o windows</translation> 
    1098     </message> 
    1099     <message> 
    1100         <source>Determins whether the mainwindow should stay hidden on startup or not (Tray Icon will stay available)</source> 
    1101         <translation>Bepaalt of het hoofdvenster verborgen blijft bij het opstarten (Tray ikoon blijft beschikbaar)</translation> 
     1113        <translation>Arrancar automaticamente com o Windows</translation> 
     1114    </message> 
     1115    <message> 
     1116        <source>Determins whether the main window should stay hidden on startup or not (Tray Icon will stay available)</source> 
     1117        <translation>Determina se a janela deve ficar minimizada no arranque (o ícone da área de notificações estará sempre visível)</translation> 
    11021118    </message> 
    11031119    <message> 
     
    11751191    <message> 
    11761192        <source>Show picture</source> 
    1177         <translation>Toon foto</translation> 
     1193        <translation>Mostrar Fotografia</translation> 
    11781194    </message> 
    11791195</context> 
     
    12101226    <message> 
    12111227        <source>Additional Indications</source> 
    1212         <translation>Indicações Básicas</translation> 
     1228        <translation>Informações Adicionais</translation> 
    12131229    </message> 
    12141230    <message> 
    12151231        <source>Select the fields you want to include:</source> 
    12161232        <oldsource>Select the needed fields:</oldsource> 
    1217         <translation type="unfinished">Selecione os grupos de campos pretendidos:</translation> 
     1233        <translation type="unfinished">Selecione os campos pretendidos:</translation> 
    12181234    </message> 
    12191235    <message> 
     
    13911407        <translation>Assinatura verificada com sucesso.</translation> 
    13921408    </message> 
     1409    <message> 
     1410        <source> 
     1411Timestamp: </source> 
     1412        <translation> 
     1413Selo Temporal: </translation> 
     1414    </message> 
    13931415</context> 
    13941416</TS> 
  • middleware-offline/trunk/_src/eidmw/eidgui/mainwnd.cpp

    r82 r109  
    378378{ 
    379379        m_ui.wdg_submenu_card->setVisible(true); 
    380         m_ui.wdg_submenu_card->setGeometry(0,4,126,110); 
     380        //If defined language is portuguese, then the dialog needs to be larger 
     381        if (m_Settings.getGuiLanguageCode() == GenPur::LANG_NL) 
     382                m_ui.wdg_submenu_card->setGeometry(0,4,136,110); 
     383        else 
     384                m_ui.wdg_submenu_card->setGeometry(0,4,126,110); 
    381385} 
    382386 
     
    384388{ 
    385389        m_ui.wdg_submenu_tools->setVisible(true); 
    386         m_ui.wdg_submenu_tools->setGeometry(128,4,126,110); 
     390        if (m_Settings.getGuiLanguageCode() == GenPur::LANG_NL) 
     391                m_ui.wdg_submenu_tools->setGeometry(128,4,146,110); 
     392        else 
     393                m_ui.wdg_submenu_tools->setGeometry(128,4,126,110); 
     394 
    387395} 
    388396 
     
    661669void MainWnd::closeEvent( QCloseEvent *event) 
    662670{ 
    663         if ( m_pTrayIcon->isVisible() )  
     671    if ( m_pTrayIcon->isVisible() ) 
    664672        { 
    665673                if (m_msgBox) 
     
    668676                        m_msgBox = NULL; 
    669677                } 
    670                 //clearGuiContent(); 
     678        clearGuiContent(); 
    671679                hide(); 
    672680                if(m_ShowBalloon) 
     
    680688                m_pRestoreAction->setEnabled(true); 
    681689                event->ignore(); 
     690 
     691        //To avoid problem when restoring the eidgui and clears data 
     692        loadCardData(); 
    682693        } 
    683694} 
     
    18251836void MainWnd::loadCardDataAddress( void ) 
    18261837{ 
     1838    if (!m_CI_Data.isDataLoaded()) 
     1839        return; 
    18271840        //---------------------------------------------------------------- 
    18281841        // if we load a new card, clear the certificate contexts we kept 
     
    19761989bool MainWnd::loadCardDataPersoData( void ) 
    19771990{ 
     1991    if (!m_CI_Data.isDataLoaded()) 
     1992        return false; 
     1993 
    19781994        //---------------------------------------------------------------- 
    19791995        // if we load a new card, clear the certificate contexts we kept 
     
    20842100                QString msg(tr("Card changed")); 
    20852101                ShowPTEIDError( e.GetError(), msg ); 
    2086                 m_CI_Data.Reset(); 
     2102        m_CI_Data.Reset(); 
    20872103                loadCardData(); 
    20882104        } 
     
    21252141void MainWnd::loadCardDataCertificates( void ) 
    21262142{ 
     2143    if (!m_CI_Data.isDataLoaded()) 
     2144        return; 
    21272145        //---------------------------------------------------------------- 
    21282146        // if we load a new card, clear the certificate contexts we kept 
     
    30303048        setEnabledPinButtons(false); 
    30313049        setEnabledCertifButtons(false); 
     3050    m_ui.btnPersoDataSave->setEnabled(true); 
    30323051        m_TypeCard = Card.getType(); 
    30333052        CardDataLoader loader(m_CI_Data, Card, m_CurrReaderName); 
     
    35213540void MainWnd::refreshTabAddress( void ) 
    35223541{ 
     3542    if (!m_CI_Data.isDataLoaded()) 
     3543        return; 
     3544 
    35233545        if (pinactivate == 1) 
    35243546        { 
     
    35823604        m_ui.txtPersoDataCount->setText(TotalBytes); 
    35833605 
    3584         if (TxtPersoDataString.count()>1000){ 
     3606    if (TxtPersoDataString.count()>1000) 
     3607    { 
    35853608                TxtPersoDataString = m_ui.txtPersoData->toPlainText(); 
    35863609                TxtPersoDataString.truncate(TxtPersoDataString.size()-1); 
     
    35913614void MainWnd::PersoDataSaveButtonClicked( void ) 
    35923615{ 
    3593         QString TxtPersoDataString = m_ui.txtPersoData->toPlainText().toUtf8(); 
    3594         m_ui.txtPersoData->setMaximumBlockCount(1000); 
    3595  
    3596         PTEID_ReaderContext &ReaderContext  = ReaderSet.getReaderByName(m_CurrReaderName.toLatin1().data()); 
    3597         PTEID_EIDCard    &Card  = ReaderContext.getEIDCard(); 
    3598         PTEID_Pins &Pins        = Card.getPins(); 
    3599         PTEID_Pin &Pin  = Pins.getPinByNumber(1); 
    3600  
    3601         if (pinNotes == 1) 
    3602                 authPINRequest_triggered(); 
    3603  
    3604     if (pinNotes == 0) 
    3605     { 
    3606         try { 
    3607  
     3616    try { 
     3617        QString TxtPersoDataString = m_ui.txtPersoData->toPlainText().toUtf8(); 
     3618        m_ui.txtPersoData->setMaximumBlockCount(1000); 
     3619 
     3620        PTEID_ReaderContext &ReaderContext  = ReaderSet.getReaderByName(m_CurrReaderName.toLatin1().data()); 
     3621        PTEID_EIDCard    &Card  = ReaderContext.getEIDCard(); 
     3622        PTEID_Pins &Pins        = Card.getPins(); 
     3623        PTEID_Pin &Pin  = Pins.getPinByNumber(1); 
     3624 
     3625        if (pinNotes == 1) 
     3626            authPINRequest_triggered(); 
     3627 
     3628        if (pinNotes == 0) 
     3629        { 
    36083630            const PTEID_ByteArray oData(reinterpret_cast<const unsigned char*> (TxtPersoDataString.toStdString().c_str()), TxtPersoDataString.toStdString().size()); 
    36093631            Card.writePersonalNotes(oData); 
    36103632            QMessageBox::information( this, tr("Notas Pessais"),  tr("Notas pessoais escritas com sucesso!"), QMessageBox::Ok ); 
    3611         } catch (PTEID_Exception& e) { 
    3612             QMessageBox::critical(this, tr("Notas Pessais"), tr("Erro ao escrever notas pessoais!"), QMessageBox::Ok ); 
     3633 
    36133634        } 
    3614         } 
    3615  
     3635    } catch (PTEID_Exception& e) { 
     3636        QMessageBox::critical(this, tr("Notas Pessais"), tr("Erro ao escrever notas pessoais!"), QMessageBox::Ok ); 
     3637    } 
    36163638} 
    36173639//***************************************************** 
     
    38673889 
    38683890//************************************************** 
    3869 // Switch UI language to Dutch 
     3891// Switch UI language to Portuguese 
    38703892//************************************************** 
    38713893void MainWnd::setLanguageNl( void ) 
    38723894{ 
    38733895        setLanguage(GenPur::LANG_NL); 
    3874 } 
    3875  
    3876 //************************************************** 
    3877 // Switch UI language to French 
    3878 //************************************************** 
    3879 void MainWnd::setLanguageFr( void ) 
    3880 { 
    3881         setLanguage(GenPur::LANG_FR); 
    3882 } 
    3883  
    3884 //************************************************** 
    3885 // Switch UI language to German 
    3886 //************************************************** 
    3887 void MainWnd::setLanguageDe( void ) 
    3888 { 
    3889         setLanguage(GenPur::LANG_DE); 
    38903896} 
    38913897 
     
    42724278void MainWnd::doPicturePopup( PTEID_Card& card ) 
    42734279{ 
    4274         //------------------------------------------------ 
    4275         // just return, we don't show the picture when the card is inserted 
    4276         // The setting to show the picture is used for the textballoon 
    4277         //------------------------------------------------ 
    4278         return; 
    4279         if (!m_Settings.getShowPicture()) 
    4280         { 
    4281                 return; 
    4282         } 
    4283  
    4284         //------------------------------------------------ 
    4285         // To show the picture we must: 
    4286         // - keep the status if test cards were allowed or not 
    4287         // - allways allow a testcard 
    4288         // - load the picture for the popup 
    4289         // - reset the allowTestCard like the user has set it 
    4290         //------------------------------------------------ 
    4291         PTEID_EIDCard& eidCard           = static_cast<PTEID_EIDCard&>(card); 
    4292         bool              bAllowTestCard = eidCard.getAllowTestCard(); 
    4293          
    4294         if (!bAllowTestCard) 
    4295         { 
    4296             eidCard.setAllowTestCard(true); 
    4297         } 
    4298  
    4299         QImage myImage, myImagescaled; 
    4300         QPixmap                           pixMap; 
    4301  
    4302         if (pixMap.loadFromData(m_CI_Data.m_PersonInfo.m_BiometricInfo.m_pPictureData, "PNG")) 
    4303         { 
    4304                 pixMap = pixMap.scaledToWidth(50); 
    4305                 m_Pop->setPixmap(pixMap); 
    4306                 m_Pop->popUp(); 
    4307         } 
    4308         eidCard.setAllowTestCard(bAllowTestCard); 
    4309  
     4280    //------------------------------------------------ 
     4281    // just return, we don't show the picture when the card is inserted 
     4282    // The setting to show the picture is used for the textballoon 
     4283    //------------------------------------------------ 
     4284 
     4285    if (!m_Settings.getShowPicture()) 
     4286    { 
     4287        return; 
     4288    } 
     4289 
     4290    //------------------------------------------------ 
     4291    // To show the picture we must: 
     4292    // - keep the status if test cards were allowed or not 
     4293    // - allways allow a testcard 
     4294    // - load the picture for the popup 
     4295    // - reset the allowTestCard like the user has set it 
     4296    //------------------------------------------------ 
     4297    PTEID_EIDCard& eidCard               = static_cast<PTEID_EIDCard&>(card); 
     4298    bool                  bAllowTestCard = eidCard.getAllowTestCard(); 
     4299 
     4300    if (!bAllowTestCard) 
     4301    { 
     4302        eidCard.setAllowTestCard(true); 
     4303    } 
     4304 
     4305    QImage myImage, myImagescaled; 
     4306    QPixmap                               pixMap; 
     4307 
     4308    m_CI_Data.Reset(); 
     4309    loadCardData(); 
     4310 
     4311    if (pixMap.loadFromData(m_CI_Data.m_PersonInfo.m_BiometricInfo.m_pPictureData, "PNG")) 
     4312    { 
     4313        pixMap = pixMap.scaledToWidth(150); 
     4314        m_Pop->setPixmap(pixMap); 
     4315        m_Pop->popUp(); 
     4316    } 
     4317    eidCard.setAllowTestCard(bAllowTestCard); 
    43104318} 
    43114319 
  • middleware-offline/trunk/_src/eidmw/eidgui/mainwnd.h

    r35 r109  
    227227        void setLanguageEn( void ); 
    228228        void setLanguageNl( void ); 
    229         void setLanguageFr( void ); 
    230         void setLanguageDe( void ); 
    231229        void restoreWindow( void ); 
    232230        void messageRespond( const QString& message); 
  • middleware-offline/trunk/_src/eidmw/eidgui/mainwnd.ui

    r59 r109  
    15001500       </widget> 
    15011501       <widget class="QPushButton" name="btnPersoDataSave"> 
     1502        <property name="enabled"> 
     1503         <bool>false</bool> 
     1504        </property> 
    15021505        <property name="geometry"> 
    15031506         <rect> 
     
    20432046       <x>30</x> 
    20442047       <y>65</y> 
    2045        <width>81</width> 
     2048       <width>101</width> 
    20462049       <height>17</height> 
    20472050      </rect> 
     
    21992202       <x>30</x> 
    22002203       <y>85</y> 
    2201        <width>111</width> 
     2204       <width>131</width> 
    22022205       <height>17</height> 
    22032206      </rect> 
     
    25142517     <y>0</y> 
    25152518     <width>925</width> 
    2516      <height>25</height> 
     2519     <height>23</height> 
    25172520    </rect> 
    25182521   </property> 
  • middleware-offline/trunk/_src/eidmw/eidgui/pteid35gui.vcproj

    r82 r109  
    22<VisualStudioProject 
    33        ProjectType="Visual C++" 
    4         Version="8,00" 
     4        Version="8.00" 
    55        Name="gui" 
    66        ProjectGUID="{8D2DFD77-6396-4507-9CBC-97D91C7CFDD5}" 
     
    117117                </Configuration> 
    118118                <Configuration 
    119                         Name="Release|Win32" 
    120                         OutputDirectory="$(SolutionDir)$(ConfigurationName)" 
    121                         IntermediateDirectory="$(OutDir)\obj" 
    122                         ConfigurationType="1" 
    123                         UseOfMFC="0" 
    124                         ATLMinimizesCRunTimeLibraryUsage="false" 
    125                         BuildLogFile="$(IntDir)\$(TargetFileName).BuildLog.htm" 
    126                         > 
    127                         <Tool 
    128                                 Name="VCPreBuildEventTool" 
    129                         /> 
    130                         <Tool 
    131                                 Name="VCCustomBuildTool" 
    132                                 Description="Running MOC on $(InputPath)" 
    133                                 CommandLine="$(PTEID_DIR_QT_450_DYNAMIC)/bin/moc -o $(InputName)_moc.cpp $(InputPath)&#x0D;&#x0A;" 
    134                                 Outputs="$(InputName)_moc.cpp" 
    135                         /> 
    136                         <Tool 
    137                                 Name="VCXMLDataGeneratorTool" 
    138                         /> 
    139                         <Tool 
    140                                 Name="VCWebServiceProxyGeneratorTool" 
    141                         /> 
    142                         <Tool 
    143                                 Name="VCMIDLTool" 
    144                                 WarningLevel="0" 
    145                                 DefaultCharType="0" 
    146                                 EnableErrorChecks="1" 
    147                         /> 
    148                         <Tool 
    149                                 Name="VCCLCompilerTool" 
    150                                 AdditionalOptions="-Zm200 -w34100 -w34189 -Zm200 -w34100 -w34189 -w34100 -w34189" 
    151                                 Optimization="2" 
    152                                 AdditionalIncludeDirectories="&quot;.\GeneratedFiles\$(ConfigurationName)&quot;;..\common;..\eidlib;&quot;$(PTEID_DIR_QT_450_INCLUDE)\include\&quot;;&quot;$(PTEID_DIR_QT_450_INCLUDE)\include\QtCore&quot;;&quot;$(PTEID_DIR_QT_450_INCLUDE)\include\QtNetwork&quot;;..\..\ThirdParty\cairo\include;&quot;$(PTEID_DIR_QT_450_INCLUDE)\include\QtGui&quot;;&quot;C:\gtk+-bundle_2.24.8-20111122_win32\include&quot;" 
    153                                 PreprocessorDefinitions="PTEID_35;QT_NO_DEBUG;NDEBUG;_WINDOWS;WIN32;QT_LARGEFILE_SUPPORT;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT" 
    154                                 GeneratePreprocessedFile="0" 
    155                                 ExceptionHandling="1" 
    156                                 RuntimeLibrary="2" 
    157                                 BufferSecurityCheck="false" 
    158                                 TreatWChar_tAsBuiltInType="true" 
    159                                 RuntimeTypeInfo="true" 
    160                                 AssemblerListingLocation="$(IntDir)\" 
    161                                 ObjectFile="$(IntDir)\" 
    162                                 ProgramDataBaseFileName="$(IntDir)\$(TargetFileName).vc80.pdb" 
    163                                 WarningLevel="3" 
    164                                 SuppressStartupBanner="false" 
    165                                 DebugInformationFormat="3" 
    166                         /> 
    167                         <Tool 
    168                                 Name="VCManagedResourceCompilerTool" 
    169                         /> 
    170                         <Tool 
    171                                 Name="VCResourceCompilerTool" 
    172                                 PreprocessorDefinitions="PTEID_35;QT_NO_DEBUG,NDEBUG,_WINDOWS,UNICODE,WIN32,QT_LARGEFILE_SUPPORT,QT_DLL,QT_NO_DEBUG,QT_GUI_LIB,QT_CORE_LIB,QT_THREAD_SUPPORT" 
    173                         /> 
    174                         <Tool 
    175                                 Name="VCPreLinkEventTool" 
    176                         /> 
    177                         <Tool 
    178                                 Name="VCLinkerTool" 
    179                                 IgnoreImportLibrary="true" 
    180                                 LinkLibraryDependencies="false" 
    181                                 AdditionalDependencies="pteidlibCpp.lib Cryptui.lib Crypt32.lib qtmain.lib QtGui4.lib QtCore4.lib QtNetwork4.lib cairo.lib" 
    182                                 OutputFile="..\_Binaries35\$(ConfigurationName)\pteid$(ProjectName).exe" 
    183                                 LinkIncremental="0" 
    184                                 SuppressStartupBanner="false" 
    185                                 AdditionalLibraryDirectories="&quot;..\_Binaries35\$(ConfigurationName)&quot;;&quot;$(PTEID_DIR_QT_450_DYNAMIC)\lib&quot;;&quot;..\..\ThirdParty\cairo\lib&quot;;C:\Qt\4.5.0\lib;C:\gtk+-bundle_2.24.8-20111122_win32\lib" 
    186                                 GenerateManifest="false" 
    187                                 ManifestFile="" 
    188                                 GenerateDebugInformation="false" 
    189                                 ProgramDatabaseFile="" 
    190                                 SubSystem="2" 
    191                         /> 
    192                         <Tool 
    193                                 Name="VCALinkTool" 
    194                         /> 
    195                         <Tool 
    196                                 Name="VCManifestTool" 
    197                                 SuppressStartupBanner="false" 
    198                         /> 
    199                         <Tool 
    200                                 Name="VCXDCMakeTool" 
    201                         /> 
    202                         <Tool 
    203                                 Name="VCBscMakeTool" 
    204                         /> 
    205                         <Tool 
    206                                 Name="VCFxCopTool" 
    207                         /> 
    208                         <Tool 
    209                                 Name="VCAppVerifierTool" 
    210                         /> 
    211                         <Tool 
    212                                 Name="VCWebDeploymentTool" 
    213                         /> 
    214                         <Tool 
    215                                 Name="VCPostBuildEventTool" 
    216                                 CommandLine="mt.exe –manifest $(ProjectDir)\pteidgui.exe.manifest -outputresource:..\_Binaries35\$(ConfigurationName)\pteidgui.exe;1&#x0D;&#x0A;copy ..\eidgui\*.qm ..\_Binaries35\$(ConfigurationName)&#x0D;&#x0A;" 
    217                         /> 
    218                 </Configuration> 
    219                 <Configuration 
    220119                        Name="Debug|x64" 
    221120                        OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" 
     
    317216                </Configuration> 
    318217                <Configuration 
     218                        Name="Release|Win32" 
     219                        OutputDirectory="$(SolutionDir)$(ConfigurationName)" 
     220                        IntermediateDirectory="$(OutDir)\obj" 
     221                        ConfigurationType="1" 
     222                        UseOfMFC="0" 
     223                        ATLMinimizesCRunTimeLibraryUsage="false" 
     224                        BuildLogFile="$(IntDir)\$(TargetFileName).BuildLog.htm" 
     225                        > 
     226                        <Tool 
     227                                Name="VCPreBuildEventTool" 
     228                        /> 
     229                        <Tool 
     230                                Name="VCCustomBuildTool" 
     231                                Description="Running MOC on $(InputPath)" 
     232                                CommandLine="$(PTEID_DIR_QT_450_DYNAMIC)/bin/moc -o $(InputName)_moc.cpp $(InputPath)&#x0D;&#x0A;" 
     233                                Outputs="$(InputName)_moc.cpp" 
     234                        /> 
     235                        <Tool 
     236                                Name="VCXMLDataGeneratorTool" 
     237                        /> 
     238                        <Tool 
     239                                Name="VCWebServiceProxyGeneratorTool" 
     240                        /> 
     241                        <Tool 
     242                                Name="VCMIDLTool" 
     243                                WarningLevel="0" 
     244                                DefaultCharType="0" 
     245                                EnableErrorChecks="1" 
     246                        /> 
     247                        <Tool 
     248                                Name="VCCLCompilerTool" 
     249                                AdditionalOptions="-Zm200 -w34100 -w34189 -Zm200 -w34100 -w34189 -w34100 -w34189" 
     250                                Optimization="2" 
     251                                AdditionalIncludeDirectories="&quot;.\GeneratedFiles\$(ConfigurationName)&quot;;..\common;..\eidlib;&quot;$(PTEID_DIR_QT_450_INCLUDE)\include\&quot;;&quot;$(PTEID_DIR_QT_450_INCLUDE)\include\QtCore&quot;;&quot;$(PTEID_DIR_QT_450_INCLUDE)\include\QtNetwork&quot;;..\..\ThirdParty\cairo\include;&quot;$(PTEID_DIR_QT_450_INCLUDE)\include\QtGui&quot;;&quot;C:\gtk+-bundle_2.24.8-20111122_win32\include&quot;" 
     252                                PreprocessorDefinitions="PTEID_35;QT_NO_DEBUG;NDEBUG;_WINDOWS;WIN32;QT_LARGEFILE_SUPPORT;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT" 
     253                                GeneratePreprocessedFile="0" 
     254                                ExceptionHandling="1" 
     255                                RuntimeLibrary="2" 
     256                                BufferSecurityCheck="false" 
     257                                TreatWChar_tAsBuiltInType="true" 
     258                                RuntimeTypeInfo="true" 
     259                                AssemblerListingLocation="$(IntDir)\" 
     260                                ObjectFile="$(IntDir)\" 
     261                                ProgramDataBaseFileName="$(IntDir)\$(TargetFileName).vc80.pdb" 
     262                                WarningLevel="3" 
     263                                SuppressStartupBanner="false" 
     264                                DebugInformationFormat="3" 
     265                        /> 
     266                        <Tool 
     267                                Name="VCManagedResourceCompilerTool" 
     268                        /> 
     269                        <Tool 
     270                                Name="VCResourceCompilerTool" 
     271                                PreprocessorDefinitions="PTEID_35;QT_NO_DEBUG,NDEBUG,_WINDOWS,UNICODE,WIN32,QT_LARGEFILE_SUPPORT,QT_DLL,QT_NO_DEBUG,QT_GUI_LIB,QT_CORE_LIB,QT_THREAD_SUPPORT" 
     272                        /> 
     273                        <Tool 
     274                                Name="VCPreLinkEventTool" 
     275                        /> 
     276                        <Tool 
     277                                Name="VCLinkerTool" 
     278                                IgnoreImportLibrary="true" 
     279                                LinkLibraryDependencies="false" 
     280                                AdditionalDependencies="pteidlibCpp.lib Cryptui.lib Crypt32.lib qtmain.lib QtGui4.lib QtCore4.lib QtNetwork4.lib cairo.lib" 
     281                                OutputFile="..\_Binaries35\$(ConfigurationName)\pteid$(ProjectName).exe" 
     282                                LinkIncremental="0" 
     283                                SuppressStartupBanner="false" 
     284                                AdditionalLibraryDirectories="&quot;..\_Binaries35\$(ConfigurationName)&quot;;&quot;$(PTEID_DIR_QT_450_DYNAMIC)\lib&quot;;&quot;..\..\ThirdParty\cairo\lib&quot;;C:\Qt\4.5.0\lib;C:\gtk+-bundle_2.24.8-20111122_win32\lib" 
     285                                GenerateManifest="false" 
     286                                ManifestFile="" 
     287                                GenerateDebugInformation="false" 
     288                                ProgramDatabaseFile="" 
     289                                SubSystem="2" 
     290                        /> 
     291                        <Tool 
     292                                Name="VCALinkTool" 
     293                        /> 
     294                        <Tool 
     295                                Name="VCManifestTool" 
     296                                SuppressStartupBanner="false" 
     297                        /> 
     298                        <Tool 
     299                                Name="VCXDCMakeTool" 
     300                        /> 
     301                        <Tool 
     302                                Name="VCBscMakeTool" 
     303                        /> 
     304                        <Tool 
     305                                Name="VCFxCopTool" 
     306                        /> 
     307                        <Tool 
     308                                Name="VCAppVerifierTool" 
     309                        /> 
     310                        <Tool 
     311                                Name="VCWebDeploymentTool" 
     312                        /> 
     313                        <Tool 
     314                                Name="VCPostBuildEventTool" 
     315                                CommandLine="mt.exe –manifest $(ProjectDir)\pteidgui.exe.manifest -outputresource:..\_Binaries35\$(ConfigurationName)\pteidgui.exe;1&#x0D;&#x0A;copy ..\eidgui\*.qm ..\_Binaries35\$(ConfigurationName)&#x0D;&#x0A;" 
     316                        /> 
     317                </Configuration> 
     318                <Configuration 
    319319                        Name="Release|x64" 
    320320                        OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)" 
     
    377377                                IgnoreImportLibrary="true" 
    378378                                LinkLibraryDependencies="false" 
    379                                 AdditionalDependencies="pteid35libCpp.lib Cryptui.lib Crypt32.lib qtmain.lib QtGui4.lib QtCore4.lib QtNetwork4.lib cairo.lib" 
    380                                 OutputFile="..\_Binaries35\$(PlatformName)\$(ConfigurationName)\pteid35$(ProjectName).exe" 
     379                                AdditionalDependencies="pteidlibCpp.lib Cryptui.lib Crypt32.lib qtmain.lib QtGui4.lib QtCore4.lib QtNetwork4.lib cairo.lib" 
     380                                OutputFile="..\_Binaries35\$(PlatformName)\$(ConfigurationName)\pteid$(ProjectName).exe" 
    381381                                LinkIncremental="0" 
    382382                                SuppressStartupBanner="false" 
     
    467467                        </File> 
    468468                        <File 
     469                                RelativePath=".\mylistview.cpp" 
     470                                > 
     471                        </File> 
     472                        <File 
    469473                                RelativePath=".\picturepopup.cpp" 
    470474                                > 
     
    529533                                </FileConfiguration> 
    530534                                <FileConfiguration 
     535                                        Name="Debug|x64" 
     536                                        > 
     537                                        <Tool 
     538                                                Name="VCCustomBuildTool" 
     539                                                Description="Moc&apos;ing AutoUpdates.h..." 
     540                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     541                                                AdditionalDependencies="&quot;$(QTDIR)\bin\moc.exe&quot;;AutoUpdates.h" 
     542                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;;&quot;.\GeneratedFiles\$(ConfigurationName)\moc_autoupdates.cpp&quot;" 
     543                                        /> 
     544                                </FileConfiguration> 
     545                                <FileConfiguration 
    531546                                        Name="Release|Win32" 
    532547                                        > 
     
    540555                                </FileConfiguration> 
    541556                                <FileConfiguration 
    542                                         Name="Debug|x64" 
    543                                         > 
    544                                         <Tool 
    545                                                 Name="VCCustomBuildTool" 
    546                                                 Description="Moc&apos;ing AutoUpdates.h..." 
    547                                                 CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    548                                                 AdditionalDependencies="&quot;$(QTDIR)\bin\moc.exe&quot;;AutoUpdates.h" 
    549                                                 Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;;&quot;.\GeneratedFiles\$(ConfigurationName)\moc_autoupdates.cpp&quot;" 
    550                                         /> 
    551                                 </FileConfiguration> 
    552                                 <FileConfiguration 
    553557                                        Name="Release|x64" 
    554558                                        > 
     
    603607                                </FileConfiguration> 
    604608                                <FileConfiguration 
     609                                        Name="Debug|x64" 
     610                                        > 
     611                                        <Tool 
     612                                                Name="VCCustomBuildTool" 
     613                                                Description="Moc&apos;ing $(InputPath)..." 
     614                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     615                                                AdditionalDependencies="" 
     616                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
     617                                        /> 
     618                                </FileConfiguration> 
     619                                <FileConfiguration 
    605620                                        Name="Release|Win32" 
    606621                                        > 
     
    614629                                </FileConfiguration> 
    615630                                <FileConfiguration 
    616                                         Name="Debug|x64" 
     631                                        Name="Release|x64" 
     632                                        > 
     633                                        <Tool 
     634                                                Name="VCCustomBuildTool" 
     635                                                Description="Moc&apos;ing $(InputPath)... " 
     636                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -DQT_NO_DEBUG -DNDEBUG -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     637                                                AdditionalDependencies="" 
     638                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
     639                                        /> 
     640                                </FileConfiguration> 
     641                        </File> 
     642                        <File 
     643                                RelativePath="dlgOptions.h" 
     644                                > 
     645                                <FileConfiguration 
     646                                        Name="Debug|Win32" 
    617647                                        > 
    618648                                        <Tool 
     
    625655                                </FileConfiguration> 
    626656                                <FileConfiguration 
    627                                         Name="Release|x64" 
    628                                         > 
    629                                         <Tool 
    630                                                 Name="VCCustomBuildTool" 
    631                                                 Description="Moc&apos;ing $(InputPath)... " 
    632                                                 CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -DQT_NO_DEBUG -DNDEBUG -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    633                                                 AdditionalDependencies="" 
    634                                                 Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
    635                                         /> 
    636                                 </FileConfiguration> 
    637                         </File> 
    638                         <File 
    639                                 RelativePath="dlgOptions.h" 
    640                                 > 
    641                                 <FileConfiguration 
    642                                         Name="Debug|Win32" 
     657                                        Name="Debug|x64" 
    643658                                        > 
    644659                                        <Tool 
     
    662677                                </FileConfiguration> 
    663678                                <FileConfiguration 
    664                                         Name="Debug|x64" 
     679                                        Name="Release|x64" 
     680                                        > 
     681                                        <Tool 
     682                                                Name="VCCustomBuildTool" 
     683                                                Description="Moc&apos;ing $(InputPath)..." 
     684                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -DQT_NO_DEBUG -DNDEBUG -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     685                                                AdditionalDependencies="" 
     686                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
     687                                        /> 
     688                                </FileConfiguration> 
     689                        </File> 
     690                        <File 
     691                                RelativePath=".\dlgprint.h" 
     692                                > 
     693                                <FileConfiguration 
     694                                        Name="Debug|Win32" 
    665695                                        > 
    666696                                        <Tool 
     
    673703                                </FileConfiguration> 
    674704                                <FileConfiguration 
    675                                         Name="Release|x64" 
     705                                        Name="Debug|x64" 
     706                                        > 
     707                                        <Tool 
     708                                                Name="VCCustomBuildTool" 
     709                                                Description="Moc&apos;ing $(InputPath)..." 
     710                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     711                                                AdditionalDependencies="" 
     712                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
     713                                        /> 
     714                                </FileConfiguration> 
     715                                <FileConfiguration 
     716                                        Name="Release|Win32" 
    676717                                        > 
    677718                                        <Tool 
     
    683724                                        /> 
    684725                                </FileConfiguration> 
    685                         </File> 
    686                         <File 
    687                                 RelativePath=".\dlgprint.h" 
     726                                <FileConfiguration 
     727                                        Name="Release|x64" 
     728                                        > 
     729                                        <Tool 
     730                                                Name="VCCustomBuildTool" 
     731                                                Description="Moc&apos;ing $(InputPath)..." 
     732                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -DQT_NO_DEBUG -DNDEBUG -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     733                                                AdditionalDependencies="" 
     734                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
     735                                        /> 
     736                                </FileConfiguration> 
     737                        </File> 
     738                        <File 
     739                                RelativePath=".\dlgsignature.h" 
    688740                                > 
    689741                                <FileConfiguration 
     
    699751                                </FileConfiguration> 
    700752                                <FileConfiguration 
     753                                        Name="Debug|x64" 
     754                                        > 
     755                                        <Tool 
     756                                                Name="VCCustomBuildTool" 
     757                                                Description="Moc&apos;ing $(InputPath)..." 
     758                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     759                                                AdditionalDependencies="" 
     760                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
     761                                        /> 
     762                                </FileConfiguration> 
     763                                <FileConfiguration 
    701764                                        Name="Release|Win32" 
    702765                                        > 
     
    710773                                </FileConfiguration> 
    711774                                <FileConfiguration 
    712                                         Name="Debug|x64" 
     775                                        Name="Release|x64" 
     776                                        > 
     777                                        <Tool 
     778                                                Name="VCCustomBuildTool" 
     779                                                Description="Moc&apos;ing $(InputPath)..." 
     780                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -DQT_NO_DEBUG -DNDEBUG -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     781                                                AdditionalDependencies="" 
     782                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
     783                                        /> 
     784                                </FileConfiguration> 
     785                        </File> 
     786                        <File 
     787                                RelativePath=".\dlgverifysignature.h" 
     788                                > 
     789                                <FileConfiguration 
     790                                        Name="Debug|Win32" 
    713791                                        > 
    714792                                        <Tool 
     
    721799                                </FileConfiguration> 
    722800                                <FileConfiguration 
    723                                         Name="Release|x64" 
     801                                        Name="Debug|x64" 
     802                                        > 
     803                                        <Tool 
     804                                                Name="VCCustomBuildTool" 
     805                                                Description="Moc&apos;ing $(InputPath)..." 
     806                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     807                                                AdditionalDependencies="" 
     808                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
     809                                        /> 
     810                                </FileConfiguration> 
     811                                <FileConfiguration 
     812                                        Name="Release|Win32" 
    724813                                        > 
    725814                                        <Tool 
     
    731820                                        /> 
    732821                                </FileConfiguration> 
    733                         </File> 
    734                         <File 
    735                                 RelativePath=".\dlgsignature.h" 
    736                                 > 
    737                                 <FileConfiguration 
    738                                         Name="Debug|Win32" 
    739                                         > 
    740                                         <Tool 
    741                                                 Name="VCCustomBuildTool" 
    742                                                 Description="Moc&apos;ing $(InputPath)..." 
    743                                                 CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    744                                                 AdditionalDependencies="" 
    745                                                 Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
    746                                         /> 
    747                                 </FileConfiguration> 
    748                                 <FileConfiguration 
    749                                         Name="Release|Win32" 
     822                                <FileConfiguration 
     823                                        Name="Release|x64" 
    750824                                        > 
    751825                                        <Tool 
     
    757831                                        /> 
    758832                                </FileConfiguration> 
    759                                 <FileConfiguration 
    760                                         Name="Debug|x64" 
    761                                         > 
    762                                         <Tool 
    763                                                 Name="VCCustomBuildTool" 
    764                                                 Description="Moc&apos;ing $(InputPath)..." 
    765                                                 CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    766                                                 AdditionalDependencies="" 
    767                                                 Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
    768                                         /> 
    769                                 </FileConfiguration> 
    770                                 <FileConfiguration 
    771                                         Name="Release|x64" 
    772                                         > 
    773                                         <Tool 
    774                                                 Name="VCCustomBuildTool" 
    775                                                 Description="Moc&apos;ing $(InputPath)..." 
    776                                                 CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -DQT_NO_DEBUG -DNDEBUG -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    777                                                 AdditionalDependencies="" 
    778                                                 Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
    779                                         /> 
    780                                 </FileConfiguration> 
    781                         </File> 
    782                         <File 
    783                                 RelativePath=".\dlgverifysignature.h" 
    784                                 > 
    785                                 <FileConfiguration 
    786                                         Name="Debug|Win32" 
    787                                         > 
    788                                         <Tool 
    789                                                 Name="VCCustomBuildTool" 
    790                                                 Description="Moc&apos;ing $(InputPath)..." 
    791                                                 CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    792                                                 AdditionalDependencies="" 
    793                                                 Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
    794                                         /> 
    795                                 </FileConfiguration> 
    796                                 <FileConfiguration 
    797                                         Name="Release|Win32" 
    798                                         > 
    799                                         <Tool 
    800                                                 Name="VCCustomBuildTool" 
    801                                                 Description="Moc&apos;ing $(InputPath)..." 
    802                                                 CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -DQT_NO_DEBUG -DNDEBUG -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    803                                                 AdditionalDependencies="" 
    804                                                 Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
    805                                         /> 
    806                                 </FileConfiguration> 
    807                                 <FileConfiguration 
    808                                         Name="Debug|x64" 
    809                                         > 
    810                                         <Tool 
    811                                                 Name="VCCustomBuildTool" 
    812                                                 Description="Moc&apos;ing $(InputPath)..." 
    813                                                 CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    814                                                 AdditionalDependencies="" 
    815                                                 Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
    816                                         /> 
    817                                 </FileConfiguration> 
    818                                 <FileConfiguration 
    819                                         Name="Release|x64" 
    820                                         > 
    821                                         <Tool 
    822                                                 Name="VCCustomBuildTool" 
    823                                                 Description="Moc&apos;ing $(InputPath)..." 
    824                                                 CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -DQT_NO_DEBUG -DNDEBUG -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    825                                                 AdditionalDependencies="" 
    826                                                 Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
    827                                         /> 
    828                                 </FileConfiguration> 
    829833                        </File> 
    830834                        <File 
    831835                                RelativePath=".\genpur.h" 
    832                                 > 
    833                                 <FileConfiguration 
    834                                         Name="Debug|Win32" 
    835                                         > 
    836                                         <Tool 
    837                                                 Name="VCCustomBuildTool" 
    838                                                 Description="Performing Custom Build Step" 
    839                                                 CommandLine="" 
    840                                                 AdditionalDependencies="" 
    841                                                 Outputs="" 
    842                                         /> 
    843                                 </FileConfiguration> 
    844                                 <FileConfiguration 
    845                                         Name="Release|Win32" 
    846                                         > 
    847                                         <Tool 
    848                                                 Name="VCCustomBuildTool" 
    849                                                 Description="Performing Custom Build Step" 
    850                                                 CommandLine="" 
    851                                                 AdditionalDependencies="" 
    852                                                 Outputs="" 
    853                                         /> 
    854                                 </FileConfiguration> 
    855                         </File> 
    856                         <File 
    857                                 RelativePath=".\httpwindow.h" 
    858836                                > 
    859837                                <FileConfiguration 
     
    895873                                </FileConfiguration> 
    896874                                <FileConfiguration 
     875                                        Name="Debug|x64" 
     876                                        > 
     877                                        <Tool 
     878                                                Name="VCCustomBuildTool" 
     879                                                Description="Moc&apos;ing httpwindow.h..." 
     880                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     881                                                AdditionalDependencies="&quot;$(QTDIR)\bin\moc.exe&quot;;httpwindow.h" 
     882                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;;&quot;.\GeneratedFiles\$(ConfigurationName)\moc_httpwindow.cpp&quot;" 
     883                                        /> 
     884                                </FileConfiguration> 
     885                                <FileConfiguration 
    897886                                        Name="Release|Win32" 
    898887                                        > 
     
    906895                                </FileConfiguration> 
    907896                                <FileConfiguration 
    908                                         Name="Debug|x64" 
    909                                         > 
    910                                         <Tool 
    911                                                 Name="VCCustomBuildTool" 
    912                                                 Description="Moc&apos;ing httpwindow.h..." 
    913                                                 CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    914                                                 AdditionalDependencies="&quot;$(QTDIR)\bin\moc.exe&quot;;httpwindow.h" 
    915                                                 Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;;&quot;.\GeneratedFiles\$(ConfigurationName)\moc_httpwindow.cpp&quot;" 
    916                                         /> 
    917                                 </FileConfiguration> 
    918                                 <FileConfiguration 
    919897                                        Name="Release|x64" 
    920898                                        > 
     
    929907                        </File> 
    930908                        <File 
     909                                RelativePath=".\httpwindow.h" 
     910                                > 
     911                                <FileConfiguration 
     912                                        Name="Debug|Win32" 
     913                                        > 
     914                                        <Tool 
     915                                                Name="VCCustomBuildTool" 
     916                                                Description="Performing Custom Build Step" 
     917                                                CommandLine="" 
     918                                                AdditionalDependencies="" 
     919                                                Outputs="" 
     920                                        /> 
     921                                </FileConfiguration> 
     922                                <FileConfiguration 
     923                                        Name="Release|Win32" 
     924                                        > 
     925                                        <Tool 
     926                                                Name="VCCustomBuildTool" 
     927                                                Description="Performing Custom Build Step" 
     928                                                CommandLine="" 
     929                                                AdditionalDependencies="" 
     930                                                Outputs="" 
     931                                        /> 
     932                                </FileConfiguration> 
     933                        </File> 
     934                        <File 
    931935                                RelativePath=".\Language.h" 
    932936                                > 
     
    969973                                </FileConfiguration> 
    970974                                <FileConfiguration 
     975                                        Name="Debug|x64" 
     976                                        > 
     977                                        <Tool 
     978                                                Name="VCCustomBuildTool" 
     979                                                Description="Moc&apos;ing mainwnd.h..." 
     980                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     981                                                AdditionalDependencies="&quot;$(QTDIR)\bin\moc.exe&quot;;mainwnd.h" 
     982                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;;&quot;.\GeneratedFiles\$(ConfigurationName)\moc_mainwnd.cpp&quot;" 
     983                                        /> 
     984                                </FileConfiguration> 
     985                                <FileConfiguration 
    971986                                        Name="Release|Win32" 
    972987                                        > 
     
    980995                                </FileConfiguration> 
    981996                                <FileConfiguration 
    982                                         Name="Debug|x64" 
    983                                         > 
    984                                         <Tool 
    985                                                 Name="VCCustomBuildTool" 
    986                                                 Description="Moc&apos;ing mainwnd.h..." 
    987                                                 CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    988                                                 AdditionalDependencies="&quot;$(QTDIR)\bin\moc.exe&quot;;mainwnd.h" 
    989                                                 Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;;&quot;.\GeneratedFiles\$(ConfigurationName)\moc_mainwnd.cpp&quot;" 
    990                                         /> 
    991                                 </FileConfiguration> 
    992                                 <FileConfiguration 
    993997                                        Name="Release|x64" 
    994998                                        > 
     
    10031007                        </File> 
    10041008                        <File 
     1009                                RelativePath=".\mylistview.h" 
     1010                                > 
     1011                                <FileConfiguration 
     1012                                        Name="Release|x64" 
     1013                                        > 
     1014                                        <Tool 
     1015                                                Name="VCCustomBuildTool" 
     1016                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -DQT_NO_DEBUG -DNDEBUG -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     1017                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
     1018                                        /> 
     1019                                </FileConfiguration> 
     1020                        </File> 
     1021                        <File 
    10051022                                RelativePath=".\picturepopup.h" 
    10061023                                > 
     
    10171034                                </FileConfiguration> 
    10181035                                <FileConfiguration 
     1036                                        Name="Debug|x64" 
     1037                                        > 
     1038                                        <Tool 
     1039                                                Name="VCCustomBuildTool" 
     1040                                                Description="Moc&apos;ing $(InputPath)..." 
     1041                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     1042                                                AdditionalDependencies="" 
     1043                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
     1044                                        /> 
     1045                                </FileConfiguration> 
     1046                                <FileConfiguration 
    10191047                                        Name="Release|Win32" 
    10201048                                        > 
     
    10281056                                </FileConfiguration> 
    10291057                                <FileConfiguration 
    1030                                         Name="Debug|x64" 
     1058                                        Name="Release|x64" 
     1059                                        > 
     1060                                        <Tool 
     1061                                                Name="VCCustomBuildTool" 
     1062                                                Description="Moc&apos;ing $(InputPath)..." 
     1063                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -DQT_NO_DEBUG -DNDEBUG -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     1064                                                AdditionalDependencies="" 
     1065                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
     1066                                        /> 
     1067                                </FileConfiguration> 
     1068                        </File> 
     1069                        <File 
     1070                                RelativePath=".\qtsingleapplication.h" 
     1071                                > 
     1072                                <FileConfiguration 
     1073                                        Name="Debug|Win32" 
    10311074                                        > 
    10321075                                        <Tool 
     
    10391082                                </FileConfiguration> 
    10401083                                <FileConfiguration 
    1041                                         Name="Release|x64" 
     1084                                        Name="Debug|x64" 
     1085                                        > 
     1086                                        <Tool 
     1087                                                Name="VCCustomBuildTool" 
     1088                                                Description="Moc&apos;ing $(InputPath)..." 
     1089                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
     1090                                                AdditionalDependencies="" 
     1091                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
     1092                                        /> 
     1093                                </FileConfiguration> 
     1094                                <FileConfiguration 
     1095                                        Name="Release|Win32" 
    10421096                                        > 
    10431097                                        <Tool 
     
    10451099                                                Description="Moc&apos;ing $(InputPath)..." 
    10461100                                                CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -DQT_NO_DEBUG -DNDEBUG -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    1047                                                 AdditionalDependencies="" 
    1048                                                 Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
    1049                                         /> 
    1050                                 </FileConfiguration> 
    1051                         </File> 
    1052                         <File 
    1053                                 RelativePath=".\qtsingleapplication.h" 
    1054                                 > 
    1055                                 <FileConfiguration 
    1056                                         Name="Debug|Win32" 
    1057                                         > 
    1058                                         <Tool 
    1059                                                 Name="VCCustomBuildTool" 
    1060                                                 Description="Moc&apos;ing $(InputPath)..." 
    1061                                                 CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    1062                                                 AdditionalDependencies="" 
    1063                                                 Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
    1064                                         /> 
    1065                                 </FileConfiguration> 
    1066                                 <FileConfiguration 
    1067                                         Name="Release|Win32" 
    1068                                         > 
    1069                                         <Tool 
    1070                                                 Name="VCCustomBuildTool" 
    1071                                                 Description="Moc&apos;ing $(InputPath)..." 
    1072                                                 CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -DQT_NO_DEBUG -DNDEBUG -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    1073                                                 AdditionalDependencies="" 
    1074                                                 Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
    1075                                         /> 
    1076                                 </FileConfiguration> 
    1077                                 <FileConfiguration 
    1078                                         Name="Debug|x64" 
    1079                                         > 
    1080                                         <Tool 
    1081                                                 Name="VCCustomBuildTool" 
    1082                                                 Description="Moc&apos;ing $(InputPath)..." 
    1083                                                 CommandLine="call ..\SetPathQt450_Exe&#x0D;&#x0A;call ..\SetPathQt450_Include&#x0D;&#x0A;&quot;%PTEID_DIR_QT_450_EXE%\bin\moc.exe&quot;  -DPTEID_35 -D_WINDOWS -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I&quot;.\GeneratedFiles\$(ConfigurationName)&quot; -I&quot;.\..\eidlib&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtCore&quot; -I&quot;%PTEID_DIR_QT_450_INCLUDE%\include\QtGui&quot; &quot;$(InputName).h&quot; -o &quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;&#x0D;&#x0A;" 
    10841101                                                AdditionalDependencies="" 
    10851102                                                Outputs="&quot;.\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp&quot;" 
     
    12411258                        </File> 
    12421259                        <File 
    1243                                 RelativePath=".\GeneratedFiles\debug\moc_dlgprint.cpp" 
    1244                                 > 
    1245                                 <FileConfiguration 
    1246                                         Name="Release|Win32" 
    1247                                         ExcludedFromBuild="true" 
    1248                                         > 
    1249                                         <Tool 
    1250                                                 Name="VCCLCompilerTool" 
    1251                                         /> 
    1252                                 </FileConfiguration> 
    1253                                 <FileConfiguration 
    1254                                         Name="Release|x64" 
    1255                                         ExcludedFromBuild="true" 
    1256                                         > 
    1257                                         <Tool 
    1258                                                 Name="VCCLCompilerTool"