Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : Migliorata gestione finestre di richiesta git-svn-id: svn://10.65.10.50/branches/R_10_00@22475 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
5ca90964fd
commit
3015907da9
@ -986,7 +986,7 @@ bool OsWin32_GotoUrl(const char* url, const char* action)
|
|||||||
|
|
||||||
#ifdef SPEECH_API
|
#ifdef SPEECH_API
|
||||||
|
|
||||||
#include "\Programmi\Microsoft Speech SDK 5.1\Include\sapi.h"
|
#include <sapi.h>
|
||||||
|
|
||||||
static ISpVoice* m_pVoice = NULL;
|
static ISpVoice* m_pVoice = NULL;
|
||||||
|
|
||||||
|
@ -38,17 +38,13 @@ bool OsWin32_SL_Logout() ;
|
|||||||
bool OsWin32_SL_ReadBlock(unsigned short reg, unsigned short size, unsigned short* data);
|
bool OsWin32_SL_ReadBlock(unsigned short reg, unsigned short size, unsigned short* data);
|
||||||
bool OsWin32_SL_WriteBlock(unsigned short reg, unsigned short size, const unsigned short* data);
|
bool OsWin32_SL_WriteBlock(unsigned short reg, unsigned short size, const unsigned short* data);
|
||||||
|
|
||||||
/*
|
|
||||||
void OsWin32_SpoolNewLine(unsigned int hdc);
|
|
||||||
bool OsWin32_IsGenericTextOnly(void* devmode);
|
|
||||||
*/
|
|
||||||
|
|
||||||
int OsWin32_GetSessionId();
|
int OsWin32_GetSessionId();
|
||||||
bool OsWin32_IsWindowsServer();
|
bool OsWin32_IsWindowsServer();
|
||||||
|
|
||||||
|
//#define SPEECH_API 1
|
||||||
#ifdef SPEECH_API
|
#ifdef SPEECH_API
|
||||||
bool OsWin32_InitializeSpeech();
|
bool OsWin32_InitializeSpeech();
|
||||||
bool OsWin32_Speak(const char* text, bool async);
|
bool OsWin32_Speak(const char* text, bool async);
|
||||||
void OsWin32_DeinitializeSpeech();
|
void OsWin32_DeinitializeSpeech();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -104,10 +104,6 @@ XVTDLL void xvt_app_pre_create(void)
|
|||||||
else
|
else
|
||||||
wxSystemOptions::SetOption(wxT("msw.remap"), 0);
|
wxSystemOptions::SetOption(wxT("msw.remap"), 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SPEECH_API
|
|
||||||
xvt_dm_enable_speech(0xFF);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void xvt_app_create(int WXUNUSED(argc), char** WXUNUSED(argv), unsigned long WXUNUSED(flags),
|
void xvt_app_create(int WXUNUSED(argc), char** WXUNUSED(argv), unsigned long WXUNUSED(flags),
|
||||||
@ -222,9 +218,7 @@ void xvt_app_destroy(void)
|
|||||||
if (_task_win != NULL)
|
if (_task_win != NULL)
|
||||||
_task_win->Destroy();
|
_task_win->Destroy();
|
||||||
|
|
||||||
#ifdef SPEECH_API
|
xvt_dm_speech_enable(0x00);
|
||||||
xvt_dm_enable_speech(0x00);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
xvt_sign_stop();
|
xvt_sign_stop();
|
||||||
|
|
||||||
@ -1926,13 +1920,13 @@ BOOLEAN xvt_fsys_fcopy(const char* orig, const char* dest)
|
|||||||
ftp.SetPassive(xvt_sys_ftp_passive_mode(orig_url.GetServer()));
|
ftp.SetPassive(xvt_sys_ftp_passive_mode(orig_url.GetServer()));
|
||||||
}
|
}
|
||||||
wxInputStream * input = orig_url.GetInputStream();
|
wxInputStream * input = orig_url.GetInputStream();
|
||||||
|
if (input == NULL)
|
||||||
|
input = new wxFileInputStream(orig);
|
||||||
|
|
||||||
wxURL dest_url(dest);
|
wxURL dest_url(dest);
|
||||||
wxOutputStream* output = NULL;
|
wxOutputStream* output = NULL;
|
||||||
wxString scheme = dest_url.GetScheme();
|
const wxString scheme = dest_url.GetScheme();
|
||||||
|
|
||||||
if (input == NULL)
|
|
||||||
input = new wxFileInputStream(orig);
|
|
||||||
if (scheme == "ftp")
|
if (scheme == "ftp")
|
||||||
{
|
{
|
||||||
wxFTP ftp;
|
wxFTP ftp;
|
||||||
@ -1950,43 +1944,16 @@ BOOLEAN xvt_fsys_fcopy(const char* orig, const char* dest)
|
|||||||
}
|
}
|
||||||
ftp.SetPassive(xvt_sys_ftp_passive_mode(strHost));
|
ftp.SetPassive(xvt_sys_ftp_passive_mode(strHost));
|
||||||
|
|
||||||
if (ftp.Connect(strHost))
|
if (ftp.Connect(strHost) && ftp.SetBinary() && ftp.ChDir(fnDir))
|
||||||
if (ftp.SetBinary())
|
output = ftp.GetOutputStream(fnName);
|
||||||
if (ftp.ChDir(fnDir))
|
|
||||||
output = ftp.GetOutputStream(fnName);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
if (scheme == "http")
|
if (scheme == "http")
|
||||||
return false;
|
return false;
|
||||||
/* {
|
|
||||||
const wxString strHost = dest_url.GetServer();
|
|
||||||
const wxString strUser = dest_url.GetUser();
|
|
||||||
const wxString strPwd = dest_url.GetPassword();
|
|
||||||
const wxFileName fnPath = dest_url.GetPath();
|
|
||||||
|
|
||||||
wxHTTP http;
|
|
||||||
|
|
||||||
if (!strUser.IsEmpty())
|
|
||||||
{
|
|
||||||
http.SetUser(strUser);
|
|
||||||
http.SetPassword(strPwd);
|
|
||||||
}
|
|
||||||
http.SetHeader(_T("Content-type"), _T("application/x-www-form-urlencoded")); //remember to define “Content-type: application/x-www-form-urlencoded”, or remote server can’t get your posted data.
|
|
||||||
wxString PostData("postdata=");
|
|
||||||
|
|
||||||
PostData << fnPath.GetFullPath();
|
|
||||||
http.SetPostBuffer(PostData); //it’s the data to be posted
|
|
||||||
bool httpok = false;
|
|
||||||
if (http.Connect(strHost))
|
|
||||||
{
|
|
||||||
wxInputStream *httpStream = http.GetInputStream(_T("/getfile.php"));
|
|
||||||
httpok = http.GetError() == wxPROTO_NOERR;
|
|
||||||
wxDELETE(httpStream);
|
|
||||||
}
|
|
||||||
return httpok;
|
|
||||||
} */
|
|
||||||
else
|
else
|
||||||
output = new wxFileOutputStream(dest);
|
output = new wxFileOutputStream(dest);
|
||||||
|
}
|
||||||
|
|
||||||
BOOLEAN ok = FALSE;
|
BOOLEAN ok = FALSE;
|
||||||
if (input != NULL && output != NULL)
|
if (input != NULL && output != NULL)
|
||||||
@ -4587,6 +4554,8 @@ BOOLEAN statbar_destroy(WINDOW win)
|
|||||||
pStatusBar->Destroy();
|
pStatusBar->Destroy();
|
||||||
}
|
}
|
||||||
return pStatusBar != NULL;
|
return pStatusBar != NULL;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -529,6 +529,7 @@ XVTDLL void xvt_treelist_suspend(WINDOW win);
|
|||||||
|
|
||||||
XVTDLL BOOLEAN xvt_mail_send(const char* to, const char* cc, const char* ccn,
|
XVTDLL BOOLEAN xvt_mail_send(const char* to, const char* cc, const char* ccn,
|
||||||
const char* subject, const char* msg, const char* attach, short flags); // 0x1=UI; 0x2=Receipt
|
const char* subject, const char* msg, const char* attach, short flags); // 0x1=UI; 0x2=Receipt
|
||||||
|
XVTDLL BOOLEAN xvt_mail_installed();
|
||||||
|
|
||||||
XVTDLL void xvt_btn_set_images(WINDOW win, XVT_IMAGE up, XVT_IMAGE down);
|
XVTDLL void xvt_btn_set_images(WINDOW win, XVT_IMAGE up, XVT_IMAGE down);
|
||||||
XVTDLL int xvt_net_get_status();
|
XVTDLL int xvt_net_get_status();
|
||||||
|
155
xvaga/xvtdm.cpp
155
xvaga/xvtdm.cpp
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include <wx/artprov.h>
|
#include <wx/artprov.h>
|
||||||
#include <wx/calctrl.h>
|
#include <wx/calctrl.h>
|
||||||
|
#include <wx/clipbrd.h>
|
||||||
#include <wx/colordlg.h>
|
#include <wx/colordlg.h>
|
||||||
#include <wx/fontdlg.h>
|
#include <wx/fontdlg.h>
|
||||||
#include <wx/wxhtml.h>
|
#include <wx/wxhtml.h>
|
||||||
@ -15,6 +16,25 @@
|
|||||||
#include "oswin32.h"
|
#include "oswin32.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// TwxHtmlWindow
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class TwxHtmlWindow : public wxHtmlWindow
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
virtual void OnLinkClicked(const wxHtmlLinkInfo& link);
|
||||||
|
};
|
||||||
|
|
||||||
|
void TwxHtmlWindow::OnLinkClicked(const wxHtmlLinkInfo& link)
|
||||||
|
{
|
||||||
|
const wxString href = link.GetHref();
|
||||||
|
if (href.StartsWith("mailto:"))
|
||||||
|
xvt_mail_send(href.AfterFirst(':'), NULL, NULL, _GetAppTitle(), ToText(), NULL, 1);
|
||||||
|
else
|
||||||
|
wxHtmlWindow::OnLinkClicked(link);
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// TMessageBox
|
// TMessageBox
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -29,6 +49,8 @@ protected:
|
|||||||
void AddButton(wxSizer* sz, wxWindowID id);
|
void AddButton(wxSizer* sz, wxWindowID id);
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
|
|
||||||
|
wxString GetMessage() const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TMessageBox(wxWindow* pParent, const wxString& msg, int nStyle, int nTimeout = 0);
|
TMessageBox(wxWindow* pParent, const wxString& msg, int nStyle, int nTimeout = 0);
|
||||||
};
|
};
|
||||||
@ -38,6 +60,21 @@ BEGIN_EVENT_TABLE(TMessageBox, wxDialog)
|
|||||||
EVT_TIMER(wxID_ANY, TMessageBox::OnTimeout)
|
EVT_TIMER(wxID_ANY, TMessageBox::OnTimeout)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
|
wxString TMessageBox::GetMessage() const
|
||||||
|
{
|
||||||
|
wxString str;
|
||||||
|
const wxWindow* txt = FindWindowById(wxID_EDIT, this);
|
||||||
|
if (txt != NULL)
|
||||||
|
{
|
||||||
|
wxHtmlWindow* html = wxDynamicCast(txt, wxHtmlWindow);
|
||||||
|
if (html != NULL)
|
||||||
|
str = html->ToText();
|
||||||
|
else
|
||||||
|
str = txt->GetLabel();
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
void TMessageBox::OnButton(wxCommandEvent& evt)
|
void TMessageBox::OnButton(wxCommandEvent& evt)
|
||||||
{
|
{
|
||||||
int ec = wxCANCEL;
|
int ec = wxCANCEL;
|
||||||
@ -46,7 +83,15 @@ void TMessageBox::OnButton(wxCommandEvent& evt)
|
|||||||
case wxID_YES: ec = wxYES; break;
|
case wxID_YES: ec = wxYES; break;
|
||||||
case wxID_OK : ec = wxOK; break;
|
case wxID_OK : ec = wxOK; break;
|
||||||
case wxID_NO : ec = wxNO; break;
|
case wxID_NO : ec = wxNO; break;
|
||||||
default : ec = GetEscapeId(); break;
|
case wxID_COPY:
|
||||||
|
wxTheClipboard->Open();
|
||||||
|
wxTheClipboard->SetData(new wxTextDataObject(GetMessage()));
|
||||||
|
wxTheClipboard->Close();
|
||||||
|
return; // DO NOT EXIT
|
||||||
|
case wxID_SAVEAS:
|
||||||
|
xvt_mail_send("assistenza@sirio-is.it", NULL, NULL, _GetAppTitle(), GetMessage(), NULL, 1);
|
||||||
|
return; // DO NOT EXIT
|
||||||
|
default: ec = GetEscapeId(); break;
|
||||||
}
|
}
|
||||||
EndModal(ec);
|
EndModal(ec);
|
||||||
}
|
}
|
||||||
@ -67,19 +112,15 @@ void TMessageBox::OnTimeout(wxTimerEvent& WXUNUSED(evt))
|
|||||||
|
|
||||||
void TMessageBox::AddButton(wxSizer* sz, wxWindowID id)
|
void TMessageBox::AddButton(wxSizer* sz, wxWindowID id)
|
||||||
{
|
{
|
||||||
const wxSize szButt(64,-1);
|
wxString strPrompt;
|
||||||
switch (id)
|
switch (id)
|
||||||
{
|
{
|
||||||
case 0x20:
|
case 0x20: strPrompt = _("Si Tutti"); break;
|
||||||
sz->Add(new wxButton(this, id, "Si Tutti", wxDefaultPosition, szButt), 0, wxALL, 4);
|
case 0x40: strPrompt = _("No Tutti"); break;
|
||||||
break;
|
default : break;
|
||||||
case 0x40:
|
|
||||||
sz->Add(new wxButton(this, id, "No Tutti", wxDefaultPosition, szButt), 0, wxALL, 4);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
sz->Add(new wxButton(this, id, wxEmptyString, wxDefaultPosition, szButt), 0, wxALL, 4);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
wxButton* btn = new wxButton(this, id, strPrompt, wxDefaultPosition, wxSize(64,-1));
|
||||||
|
sz->Add(btn, 0, wxALL|wxALIGN_CENTER_VERTICAL, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
TMessageBox::TMessageBox(wxWindow* pParent, const wxString& msg, int nStyle, int nTimeout)
|
TMessageBox::TMessageBox(wxWindow* pParent, const wxString& msg, int nStyle, int nTimeout)
|
||||||
@ -97,10 +138,10 @@ TMessageBox::TMessageBox(wxWindow* pParent, const wxString& msg, int nStyle, int
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wxBoxSizer* sizer = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer* pMainSizer = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
wxBoxSizer* sz1 = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer* pTopSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
sizer->Add(sz1);
|
pMainSizer->Add(pTopSizer);
|
||||||
|
|
||||||
wxArtID nIco = wxART_INFORMATION;
|
wxArtID nIco = wxART_INFORMATION;
|
||||||
if (nStyle & wxICON_HAND) nIco = wxART_ERROR; else
|
if (nStyle & wxICON_HAND) nIco = wxART_ERROR; else
|
||||||
@ -116,13 +157,14 @@ TMessageBox::TMessageBox(wxWindow* pParent, const wxString& msg, int nStyle, int
|
|||||||
|
|
||||||
const wxBitmap img = wxArtProvider::GetBitmap(nIco, wxART_MESSAGE_BOX, wxSize(nIcon,nIcon));
|
const wxBitmap img = wxArtProvider::GetBitmap(nIco, wxART_MESSAGE_BOX, wxSize(nIcon,nIcon));
|
||||||
|
|
||||||
sz1->Add(new wxStaticBitmap(this, wxID_ANY, img), 0, wxALL|wxALIGN_CENTER, nBorder);
|
pTopSizer->Add(new wxStaticBitmap(this, wxID_ANY, img), 0, wxALL|wxALIGN_CENTER, nBorder);
|
||||||
|
|
||||||
if (msg.StartsWith("<html>") && msg.EndsWith("</html>"))
|
if (msg.StartsWith("<html>") && msg.EndsWith("</html>"))
|
||||||
{
|
{
|
||||||
wxHtmlWindow* html = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition, wxSize(nWrap,nWrap/1.6180339887));
|
TwxHtmlWindow* html = new TwxHtmlWindow;
|
||||||
|
html->Create(this, wxID_EDIT, wxDefaultPosition, wxSize(nWrap,nWrap/1.6180339887));
|
||||||
html->SetPage(msg);
|
html->SetPage(msg);
|
||||||
sz1->Add(html, 0, wxALL|wxALIGN_CENTER|wxALIGN_CENTER_VERTICAL, nBorder);
|
pTopSizer->Add(html, 0, wxALL|wxALIGN_CENTER|wxALIGN_CENTER_VERTICAL, nBorder);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -133,21 +175,29 @@ TMessageBox::TMessageBox(wxWindow* pParent, const wxString& msg, int nStyle, int
|
|||||||
wxStringTokenizer tok(msg, wxT("\n"));
|
wxStringTokenizer tok(msg, wxT("\n"));
|
||||||
for (nLines = 0; tok.HasMoreTokens(); nLines++)
|
for (nLines = 0; tok.HasMoreTokens(); nLines++)
|
||||||
nLines += tok.GetNextToken().Len()/32;
|
nLines += tok.GetNextToken().Len()/32;
|
||||||
ss = new wxStaticText(this, wxID_ANY, wxEmptyString, wxDefaultPosition,
|
ss = new wxStaticText(this, wxID_EDIT, wxEmptyString, wxDefaultPosition,
|
||||||
wxSize(nWrap, 16*nLines), wxST_NO_AUTORESIZE);
|
wxSize(nWrap, 16*nLines), wxST_NO_AUTORESIZE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ss = new wxStaticText(this, wxID_ANY, wxEmptyString);
|
ss = new wxStaticText(this, wxID_EDIT, wxEmptyString);
|
||||||
|
|
||||||
ss->Wrap(nWrap);
|
ss->Wrap(nWrap);
|
||||||
ss->SetLabel(msg);
|
ss->SetLabel(msg);
|
||||||
sz1->Add(ss, 0, wxALL|wxALIGN_CENTER|wxALIGN_CENTER_VERTICAL, nBorder);
|
pTopSizer->Add(ss, 0, wxALL|wxALIGN_CENTER|wxALIGN_CENTER_VERTICAL, nBorder);
|
||||||
}
|
}
|
||||||
|
|
||||||
sizer->Add(new wxStaticLine(this), 0, wxALL|wxEXPAND, nBorder);
|
pMainSizer->Add(new wxStaticLine(this), wxID_STATIC, wxALL|wxEXPAND, nBorder);
|
||||||
|
|
||||||
|
wxFlexGridSizer* pBottomSizer = new wxFlexGridSizer(0, 2, 0, 0);
|
||||||
|
pBottomSizer->AddGrowableCol(1);
|
||||||
|
pMainSizer->Add(pBottomSizer, 0, wxGROW|wxALL, nBorder);
|
||||||
|
|
||||||
|
wxBoxSizer* pSmallSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
pBottomSizer->Add(pSmallSizer, 0, wxALIGN_TOP|wxALL, 0);
|
||||||
|
|
||||||
|
wxBoxSizer* pButtonSizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
pBottomSizer->Add(pButtonSizer, 0, wxALIGN_RIGHT|wxALL, 0);
|
||||||
|
|
||||||
wxBoxSizer* sz2 = new wxBoxSizer(wxHORIZONTAL);
|
|
||||||
sizer->Add(sz2, 0, wxALIGN_CENTER);
|
|
||||||
if (nStyle & wxYES_NO)
|
if (nStyle & wxYES_NO)
|
||||||
{
|
{
|
||||||
if (nStyle & 0x60) // Yes,No,*All
|
if (nStyle & 0x60) // Yes,No,*All
|
||||||
@ -156,17 +206,17 @@ TMessageBox::TMessageBox(wxWindow* pParent, const wxString& msg, int nStyle, int
|
|||||||
{
|
{
|
||||||
SetAffirmativeId(wxID_YES);
|
SetAffirmativeId(wxID_YES);
|
||||||
SetEscapeId(wxID_NO);
|
SetEscapeId(wxID_NO);
|
||||||
AddButton(sz2, wxID_NO);
|
AddButton(pButtonSizer, wxID_NO);
|
||||||
AddButton(sz2, wxID_YES);
|
AddButton(pButtonSizer, wxID_YES);
|
||||||
AddButton(sz2, 0x20);
|
AddButton(pButtonSizer, 0x20);
|
||||||
}
|
}
|
||||||
else // Yes, No, No All
|
else // Yes, No, No All
|
||||||
{
|
{
|
||||||
SetAffirmativeId(wxID_NO);
|
SetAffirmativeId(wxID_NO);
|
||||||
SetEscapeId(wxID_YES);
|
SetEscapeId(wxID_YES);
|
||||||
AddButton(sz2, wxID_YES);
|
AddButton(pButtonSizer, wxID_YES);
|
||||||
AddButton(sz2, wxID_NO);
|
AddButton(pButtonSizer, wxID_NO);
|
||||||
AddButton(sz2, 0x40);
|
AddButton(pButtonSizer, 0x40);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -175,29 +225,45 @@ TMessageBox::TMessageBox(wxWindow* pParent, const wxString& msg, int nStyle, int
|
|||||||
{
|
{
|
||||||
SetAffirmativeId(wxID_NO);
|
SetAffirmativeId(wxID_NO);
|
||||||
SetEscapeId(wxID_YES);
|
SetEscapeId(wxID_YES);
|
||||||
AddButton(sz2, wxID_NO);
|
AddButton(pButtonSizer, wxID_NO);
|
||||||
AddButton(sz2, wxID_YES);
|
AddButton(pButtonSizer, wxID_YES);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SetAffirmativeId(wxID_YES);
|
SetAffirmativeId(wxID_YES);
|
||||||
SetEscapeId(wxID_NO);
|
SetEscapeId(wxID_NO);
|
||||||
AddButton(sz2, wxID_YES);
|
AddButton(pButtonSizer, wxID_YES);
|
||||||
AddButton(sz2, wxID_NO);
|
AddButton(pButtonSizer, wxID_NO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (nStyle & wxOK)
|
if (nStyle & wxOK)
|
||||||
{
|
{
|
||||||
SetAffirmativeId(wxID_OK);
|
SetAffirmativeId(wxID_OK);
|
||||||
AddButton(sz2, wxID_OK);
|
AddButton(pButtonSizer, wxID_OK);
|
||||||
}
|
}
|
||||||
if (nStyle & wxCANCEL)
|
if (nStyle & wxCANCEL)
|
||||||
{
|
{
|
||||||
SetEscapeId(wxID_CANCEL);
|
SetEscapeId(wxID_CANCEL);
|
||||||
AddButton(sz2, wxID_CANCEL);
|
AddButton(pButtonSizer, wxID_CANCEL);
|
||||||
}
|
}
|
||||||
SetSizerAndFit(sizer);
|
|
||||||
|
if (!bTerminalino)
|
||||||
|
{
|
||||||
|
const wxBitmap bmpCopy = wxArtProvider::GetBitmap(wxART_COPY, wxART_BUTTON);
|
||||||
|
wxBitmapButton* btnCopy = new wxBitmapButton(this, wxID_COPY, bmpCopy);
|
||||||
|
pSmallSizer->Add(btnCopy, 0, wxALIGN_TOP);
|
||||||
|
|
||||||
|
if (xvt_mail_installed())
|
||||||
|
{
|
||||||
|
const wxBitmap bmpMail = wxArtProvider::GetBitmap("139", wxART_BUTTON, wxSize(bmpCopy.GetWidth(), bmpCopy.GetHeight()));
|
||||||
|
wxBitmapButton* btnMail = new wxBitmapButton(this, wxID_SAVEAS, bmpMail);
|
||||||
|
pSmallSizer->Add(btnMail, 0, wxALIGN_TOP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
SetSizerAndFit(pMainSizer);
|
||||||
CentreOnParent();
|
CentreOnParent();
|
||||||
|
|
||||||
if (nTimeout > 0)
|
if (nTimeout > 0)
|
||||||
@ -212,6 +278,8 @@ int _MessageBox(const wxString& msg, int nStyle, int nTimeout = 0)
|
|||||||
{
|
{
|
||||||
xvt_dm_post_speech(msg, 1, TRUE);
|
xvt_dm_post_speech(msg, 1, TRUE);
|
||||||
|
|
||||||
|
xvt_sys_beep((nStyle & wxICON_ERROR) ? 2 : (nStyle & wxICON_WARNING) ? 1 : 0);
|
||||||
|
|
||||||
TMessageBox dlg(NULL, msg, nStyle, nTimeout);
|
TMessageBox dlg(NULL, msg, nStyle, nTimeout);
|
||||||
const int ret = dlg.ShowModal();
|
const int ret = dlg.ShowModal();
|
||||||
|
|
||||||
@ -393,7 +461,6 @@ void xvt_dm_speech_enable(int mode)
|
|||||||
{
|
{
|
||||||
#ifdef SPEECH_API
|
#ifdef SPEECH_API
|
||||||
m_nSpeechMode = mode;
|
m_nSpeechMode = mode;
|
||||||
#ifdef __WXMSW__
|
|
||||||
if (m_nSpeechMode != 0)
|
if (m_nSpeechMode != 0)
|
||||||
{
|
{
|
||||||
if (!OsWin32_InitializeSpeech())
|
if (!OsWin32_InitializeSpeech())
|
||||||
@ -404,7 +471,6 @@ void xvt_dm_speech_enable(int mode)
|
|||||||
OsWin32_DeinitializeSpeech();
|
OsWin32_DeinitializeSpeech();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int xvt_dm_speech_enabled(void)
|
int xvt_dm_speech_enabled(void)
|
||||||
@ -553,11 +619,7 @@ BOOLEAN xvt_dm_post_speech(const char* text, int priority, BOOLEAN async)
|
|||||||
BOOLEAN ok = FALSE;
|
BOOLEAN ok = FALSE;
|
||||||
#ifdef SPEECH_API
|
#ifdef SPEECH_API
|
||||||
if ((m_nSpeechMode & (1 << priority)) != 0)
|
if ((m_nSpeechMode & (1 << priority)) != 0)
|
||||||
{
|
|
||||||
#ifdef __WXMSW__
|
|
||||||
ok = OsWin32_Speak(text, async != 0);
|
ok = OsWin32_Speak(text, async != 0);
|
||||||
#endif
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
@ -588,11 +650,6 @@ void xvt_dm_post_error(const char *fmt)
|
|||||||
|
|
||||||
void xvt_dm_post_fatal_exit(const char *fmt)
|
void xvt_dm_post_fatal_exit(const char *fmt)
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
xvt_dm_post_speech(fmt, 1, TRUE);
|
|
||||||
wxLogFatalError(fmt);
|
|
||||||
xvt_dm_post_speech("OK", 7, TRUE);
|
|
||||||
*/
|
|
||||||
_MessageBox(fmt, wxOK | wxICON_HAND, 10);
|
_MessageBox(fmt, wxOK | wxICON_HAND, 10);
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
@ -618,9 +675,9 @@ static FL_STATUS xvt_dm_post_file_ask(FILE_SPEC *fsp, const char *msg, int flags
|
|||||||
wxString extension = fsp->type;
|
wxString extension = fsp->type;
|
||||||
wxString wild;
|
wxString wild;
|
||||||
if (!extension.IsEmpty() && extension != "*")
|
if (!extension.IsEmpty() && extension != "*")
|
||||||
wild << "File " << extension << " (*." << extension << ")|*." << extension << "|";
|
wild << _("File ") << extension << " (*." << extension << ")|*." << extension << "|";
|
||||||
if (flags & wxFD_OPEN)
|
if (flags & wxFD_OPEN)
|
||||||
wild << "Tutti i file (*.*)|*.*|";
|
wild << _("Tutti i file (*.*)|*.*|");
|
||||||
wild << '|';
|
wild << '|';
|
||||||
|
|
||||||
wxString selectedname = wxFileSelector(msg, path, name, extension , wild, flags);
|
wxString selectedname = wxFileSelector(msg, path, name, extension , wild, flags);
|
||||||
|
@ -4,6 +4,18 @@
|
|||||||
#include "email.h"
|
#include "email.h"
|
||||||
#include <wx/tokenzr.h>
|
#include <wx/tokenzr.h>
|
||||||
|
|
||||||
|
BOOLEAN xvt_mail_installed()
|
||||||
|
{
|
||||||
|
BOOLEAN bMapiInstalled = TRUE;
|
||||||
|
|
||||||
|
#ifdef __WXMSW__
|
||||||
|
bMapiInstalled = (::GetProfileInt(_T("MAIL"), _T("MAPI"), 0) != 0) &&
|
||||||
|
(SearchPath(NULL, _T("MAPI32.DLL"), NULL, 0, NULL, NULL) != 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return bMapiInstalled;
|
||||||
|
}
|
||||||
|
|
||||||
BOOLEAN xvt_mail_send(const char* to, const char* cc, const char* ccn,
|
BOOLEAN xvt_mail_send(const char* to, const char* cc, const char* ccn,
|
||||||
const char* subject, const char* msg,
|
const char* subject, const char* msg,
|
||||||
const char* attach, short flags)
|
const char* attach, short flags)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user