X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/04a00346c6d88d9849e138e7cba4cc189a1ed218..88932ec82d048d006cdc81bd309f5e59aee799ac:/src/msw/progdlg.cpp diff --git a/src/msw/progdlg.cpp b/src/msw/progdlg.cpp index a39706ed29..50c3f5b974 100644 --- a/src/msw/progdlg.cpp +++ b/src/msw/progdlg.cpp @@ -170,7 +170,7 @@ BOOL CALLBACK DisplayCloseButton(HWND hwnd, LPARAM lParam) { sharedData->m_labelCancel = _("Close"); SendMessage( hwnd, WM_SETTEXT, 0, - (LPARAM) sharedData->m_labelCancel.wx_str() ); + wxMSW_CONV_LPARAM(sharedData->m_labelCancel) ); return FALSE; } @@ -212,7 +212,7 @@ void PerformNotificationUpdates(HWND hwnd, } if ( sharedData->m_notifications & wxSPDD_TITLE_CHANGED ) - ::SetWindowText( hwnd, sharedData->m_title.wx_str() ); + ::SetWindowText( hwnd, sharedData->m_title.t_str() ); if ( sharedData->m_notifications & wxSPDD_MESSAGE_CHANGED ) { @@ -236,16 +236,21 @@ void PerformNotificationUpdates(HWND hwnd, body.assign(title, posNL + numNLs, wxString::npos); title.erase(posNL); } + else // A single line + { + // Don't use title without the body, this doesn't make sense. + title.swap(body); + } ::SendMessage( hwnd, TDM_SET_ELEMENT_TEXT, TDE_MAIN_INSTRUCTION, - (LPARAM) title.wx_str() ); + wxMSW_CONV_LPARAM(title) ); ::SendMessage( hwnd, TDM_SET_ELEMENT_TEXT, TDE_CONTENT, - (LPARAM) body.wx_str() ); + wxMSW_CONV_LPARAM(body) ); } if ( sharedData->m_notifications & wxSPDD_EXPINFO_CHANGED ) @@ -257,7 +262,7 @@ void PerformNotificationUpdates(HWND hwnd, ::SendMessage( hwnd, TDM_SET_ELEMENT_TEXT, TDE_EXPANDED_INFORMATION, - (LPARAM) expandedInformation.wx_str() ); + wxMSW_CONV_LPARAM(expandedInformation) ); } } @@ -302,7 +307,7 @@ wxProgressDialog::wxProgressDialog( const wxString& title, int maximum, wxWindow *parent, int style ) - : wxGenericProgressDialog(parent, style), + : wxGenericProgressDialog(), m_taskDialogRunner(NULL), m_sharedData(NULL), m_message(message), @@ -311,6 +316,8 @@ wxProgressDialog::wxProgressDialog( const wxString& title, #ifdef wxHAS_MSW_TASKDIALOG if ( HasNativeTaskDialog() ) { + SetTopParent(parent); + SetPDStyle(style); SetMaximum(maximum); Show(); @@ -518,6 +525,23 @@ void wxProgressDialog::Resume() #endif // wxHAS_MSW_TASKDIALOG } +WXWidget wxProgressDialog::GetHandle() const +{ +#ifdef wxHAS_MSW_TASKDIALOG + if ( HasNativeTaskDialog() ) + { + HWND hwnd; + { + wxCriticalSectionLocker locker(m_sharedData->m_cs); + m_sharedData->m_state = m_state; + hwnd = m_sharedData->m_hwnd; + } + return hwnd; + } +#endif + return wxGenericProgressDialog::GetHandle(); +} + int wxProgressDialog::GetValue() const { #ifdef wxHAS_MSW_TASKDIALOG @@ -782,7 +806,7 @@ void* wxProgressDialogTaskRunner::Entry() if ( !m_sharedData.m_expandedInformation.empty() ) { tdc.pszExpandedInformation = - m_sharedData.m_expandedInformation.wx_str(); + m_sharedData.m_expandedInformation.t_str(); } }