From 3b55a62fdcb1f8222de3c2c8fbed530792c419a0 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Fri, 12 Oct 2012 14:53:57 +0000 Subject: GTalkExt, ICQ, IRC, Jabber: folders restructurization git-svn-id: http://svn.miranda-ng.org/main/trunk@1890 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/JabberG/jabber_agent.cpp | 283 ------------------------------------- 1 file changed, 283 deletions(-) delete mode 100644 protocols/JabberG/jabber_agent.cpp (limited to 'protocols/JabberG/jabber_agent.cpp') diff --git a/protocols/JabberG/jabber_agent.cpp b/protocols/JabberG/jabber_agent.cpp deleted file mode 100644 index b0ad17e8a0..0000000000 --- a/protocols/JabberG/jabber_agent.cpp +++ /dev/null @@ -1,283 +0,0 @@ -/* - -Jabber Protocol Plugin for Miranda IM -Copyright ( C ) 2002-04 Santithorn Bunchua -Copyright ( C ) 2005-12 George Hazan - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or ( at your option ) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -*/ - -#include "jabber.h" -#include "jabber_iq.h" -#include "jabber_caps.h" - -///////////////////////////////////////////////////////////////////////////////////////// -// Agent registration progress dialog - -class CAgentRegProgressDlg : public CJabberDlgBase -{ - CCtrlButton m_ok; - -public: - CAgentRegProgressDlg( CJabberProto* _ppro, HWND _owner ) : - CJabberDlgBase( _ppro, IDD_OPT_REGISTER, _owner, false ), - m_ok( this, IDOK ) - { - m_ok.OnClick = Callback( this, &CAgentRegProgressDlg::OnOk ); - } - - virtual void OnInitDialog() - { - m_proto->m_hwndRegProgress = m_hwnd; - SetWindowTextA( m_hwnd, "Jabber Agent Registration" ); - TranslateDialogDefault( m_hwnd ); - } - - virtual INT_PTR DlgProc( UINT msg, WPARAM wParam, LPARAM lParam ) - { - if ( msg == WM_JABBER_REGDLG_UPDATE ) { - if (( TCHAR* )lParam == NULL ) - SetDlgItemText( m_hwnd, IDC_REG_STATUS, TranslateT( "No message" )); - else - SetDlgItemText( m_hwnd, IDC_REG_STATUS, ( TCHAR* )lParam ); - if ( wParam >= 0 ) - SendMessage( GetDlgItem( m_hwnd, IDC_PROGRESS_REG ), PBM_SETPOS, wParam, 0 ); - if ( wParam >= 100 ) - m_ok.SetText( TranslateT( "OK" )); - } - - return CJabberDlgBase::DlgProc( msg, wParam, lParam ); - } - - void OnOk( CCtrlButton* ) - { - m_proto->m_hwndRegProgress = NULL; - EndDialog( m_hwnd, 0 ); - } -}; - -///////////////////////////////////////////////////////////////////////////////////////// -// Transport registration form - -class CAgentRegDlg : public CJabberDlgBase -{ - int m_curPos; - int m_formHeight, m_frameHeight; - RECT m_frameRect; - HXML m_agentRegIqNode; - TCHAR* m_jid; - - CCtrlButton m_submit; - -public: - CAgentRegDlg( CJabberProto* _ppro, TCHAR* _jid ) : - CJabberDlgBase( _ppro, IDD_FORM, NULL, false ), - m_submit( this, IDC_SUBMIT ), - m_jid( _jid ), - m_agentRegIqNode( NULL ) - { - m_submit.OnClick = Callback( this, &CAgentRegDlg::OnSubmit ); - } - - virtual void OnInitDialog() - { - EnableWindow( GetParent( m_hwnd ), FALSE ); - m_proto->m_hwndAgentRegInput = m_hwnd; - SetWindowText( m_hwnd, TranslateT( "Jabber Agent Registration" )); - SetDlgItemText( m_hwnd, IDC_SUBMIT, TranslateT( "Register" )); - SetDlgItemText( m_hwnd, IDC_FRAME_TEXT, TranslateT( "Please wait..." )); - - int iqId = m_proto->SerialNext(); - m_proto->IqAdd( iqId, IQ_PROC_GETREGISTER, &CJabberProto::OnIqResultGetRegister ); - m_proto->m_ThreadInfo->send( XmlNodeIq( _T("get"), iqId, m_jid ) << XQUERY( _T(JABBER_FEAT_REGISTER))); - - // Enable WS_EX_CONTROLPARENT on IDC_FRAME ( so tab stop goes through all its children ) - LONG frameExStyle = GetWindowLongPtr( GetDlgItem( m_hwnd, IDC_FRAME ), GWL_EXSTYLE ); - frameExStyle |= WS_EX_CONTROLPARENT; - SetWindowLongPtr( GetDlgItem( m_hwnd, IDC_FRAME ), GWL_EXSTYLE, frameExStyle ); - } - - virtual void OnDestroy() - { - xi.destroyNode( m_agentRegIqNode ); - JabberFormDestroyUI(GetDlgItem(m_hwnd, IDC_FRAME)); - m_proto->m_hwndAgentRegInput = NULL; - EnableWindow( GetParent( m_hwnd ), TRUE ); - SetActiveWindow( GetParent( m_hwnd )); - } - - virtual INT_PTR DlgProc( UINT msg, WPARAM wParam, LPARAM lParam ) - { - switch( msg ) { - case WM_CTLCOLORSTATIC: - switch( GetDlgCtrlID(( HWND )lParam )) { - case IDC_WHITERECT: case IDC_INSTRUCTION: case IDC_TITLE: - return (INT_PTR)GetStockObject(WHITE_BRUSH); - default: - return NULL; - } - - case WM_JABBER_REGINPUT_ACTIVATE: - if ( wParam == 1 ) { // success - // lParam = node from agent JID as a result of "get jabber:iq:register" - HWND hFrame = GetDlgItem( m_hwnd, IDC_FRAME ); - ShowWindow( GetDlgItem( m_hwnd, IDC_FRAME_TEXT ), SW_HIDE ); - - HXML queryNode, xNode; - if (( m_agentRegIqNode = ( HXML )lParam ) == NULL ) return TRUE; - if (( queryNode = xmlGetChild( m_agentRegIqNode , "query" )) == NULL ) return TRUE; - - RECT rect; - - m_curPos = 0; - GetClientRect( GetDlgItem( m_hwnd, IDC_FRAME ), &( m_frameRect )); - GetClientRect( GetDlgItem( m_hwnd, IDC_VSCROLL ), &rect ); - m_frameRect.right -= ( rect.right - rect.left ); - GetClientRect( GetDlgItem( m_hwnd, IDC_FRAME ), &rect ); - m_frameHeight = rect.bottom - rect.top; - - if (( xNode=xmlGetChild( queryNode , "x" )) != NULL ) { - // use new jabber:x:data form - HXML n = xmlGetChild( xNode , "instructions" ); - if ( n != NULL && xmlGetText( n )!=NULL ) - JabberFormSetInstruction( m_hwnd, xmlGetText( n )); - - JabberFormCreateUI( hFrame, xNode, &m_formHeight /*dummy*/ ); - } - else { - // use old registration information form - HJFORMLAYOUT layout_info = JabberFormCreateLayout(hFrame); - for ( int i=0; ; i++ ) { - HXML n = xmlGetChild( queryNode ,i); - if ( !n ) - break; - - if ( xmlGetName( n )) { - if ( !lstrcmp( xmlGetName( n ), _T("instructions"))) { - JabberFormSetInstruction( m_hwnd, xmlGetText( n )); - } - else if ( !lstrcmp( xmlGetName( n ), _T("key")) || !lstrcmp( xmlGetName( n ), _T("registered"))) { - // do nothing - } - else if ( !lstrcmp( xmlGetName( n ), _T("password"))) - JabberFormAppendControl(hFrame, layout_info, JFORM_CTYPE_TEXT_PRIVATE, xmlGetName( n ), xmlGetText( n )); - else // everything else is a normal text field - JabberFormAppendControl(hFrame, layout_info, JFORM_CTYPE_TEXT_SINGLE, xmlGetName( n ), xmlGetText( n )); - } } - JabberFormLayoutControls(hFrame, layout_info, &m_formHeight); - mir_free(layout_info); - } - - if ( m_formHeight > m_frameHeight ) { - HWND hwndScroll; - - hwndScroll = GetDlgItem( m_hwnd, IDC_VSCROLL ); - EnableWindow( hwndScroll, TRUE ); - SetScrollRange( hwndScroll, SB_CTL, 0, m_formHeight - m_frameHeight, FALSE ); - m_curPos = 0; - } - - EnableWindow( GetDlgItem( m_hwnd, IDC_SUBMIT ), TRUE ); - } - else if ( wParam == 0 ) { - // lParam = error message - SetDlgItemText( m_hwnd, IDC_FRAME_TEXT, ( LPCTSTR ) lParam ); - } - return TRUE; - - case WM_VSCROLL: - int pos = m_curPos; - switch ( LOWORD( wParam )) { - case SB_LINEDOWN: pos += 10; break; - case SB_LINEUP: pos -= 10; break; - case SB_PAGEDOWN: pos += ( m_frameHeight - 10 ); break; - case SB_PAGEUP: pos -= ( m_frameHeight - 10 ); break; - case SB_THUMBTRACK: pos = HIWORD( wParam ); break; - } - if ( pos > ( m_formHeight - m_frameHeight )) - pos = m_formHeight - m_frameHeight; - if ( pos < 0 ) - pos = 0; - if ( m_curPos != pos ) { - ScrollWindow( GetDlgItem( m_hwnd, IDC_FRAME ), 0, m_curPos - pos, NULL, &( m_frameRect )); - SetScrollPos( GetDlgItem( m_hwnd, IDC_VSCROLL ), SB_CTL, pos, TRUE ); - m_curPos = pos; - } } - - return CJabberDlgBase::DlgProc( msg, wParam, lParam ); - } - - void OnSubmit( CCtrlButton* ) - { - HXML queryNode, xNode; - const TCHAR *from; - - if ( m_agentRegIqNode == NULL ) return; - if (( from = xmlGetAttrValue( m_agentRegIqNode, _T("from"))) == NULL ) return; - if (( queryNode = xmlGetChild( m_agentRegIqNode , "query" )) == NULL ) return; - HWND hFrame = GetDlgItem( m_hwnd, IDC_FRAME ); - - TCHAR *str2 = ( TCHAR* )alloca( sizeof(TCHAR) * 128 ); - int id = 0; - - int iqId = m_proto->SerialNext(); - m_proto->IqAdd( iqId, IQ_PROC_SETREGISTER, &CJabberProto::OnIqResultSetRegister ); - - XmlNodeIq iq( _T("set"), iqId, from ); - HXML query = iq << XQUERY( _T(JABBER_FEAT_REGISTER)); - - if (( xNode = xmlGetChild( queryNode , "x" )) != NULL ) { - // use new jabber:x:data form - HXML n = JabberFormGetData( hFrame, xNode ); - xmlAddChild( query, n ); - xi.destroyNode( n ); - } - else { - // use old registration information form - for ( int i=0; ; i++ ) { - HXML n = xmlGetChild( queryNode ,i); - if ( !n ) - break; - - if ( xmlGetName( n )) { - if ( !lstrcmp( xmlGetName( n ), _T("key"))) { - // field that must be passed along with the registration - if ( xmlGetText( n )) - xmlAddChild( query, xmlGetName( n ), xmlGetText( n )); - else - xmlAddChild( query, xmlGetName( n )); - } - else if ( !lstrcmp( xmlGetName( n ), _T("registered")) || !lstrcmp( xmlGetName( n ), _T("instructions"))) { - // do nothing, we will skip these - } - else { - GetDlgItemText( hFrame, id, str2, 128 ); - xmlAddChild( query, xmlGetName( n ), str2 ); - id++; - } } } } - - m_proto->m_ThreadInfo->send( iq ); - - CAgentRegProgressDlg( m_proto, m_hwnd ).DoModal(); - - Close(); - } -}; - -void CJabberProto::RegisterAgent( HWND /*hwndDlg*/, TCHAR* jid ) -{ - ( new CAgentRegDlg( this, jid ))->Show(); -} -- cgit v1.2.3