From fd4b78e95d4fb10497be867c2a1fccc671fcb64f Mon Sep 17 00:00:00 2001 From: "clu%netscape.com" Date: Thu, 3 Sep 1998 21:34:40 +0000 Subject: [PATCH] implement macfe of the encoding dialog git-svn-id: svn://10.0.0.236/trunk@9247 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/cmd/macfe/Composer/meditdlg.cp | 16 +++--- mozilla/cmd/macfe/Composer/meditdlg.h | 3 +- mozilla/cmd/macfe/Composer/meditor.cp | 49 ++++++++++++++---- mozilla/cmd/macfe/include/resgui.h | 1 + .../cmd/macfe/rsrc/navigator/MenusRat.cnst | Bin 13157 -> 13155 bytes 5 files changed, 51 insertions(+), 18 deletions(-) diff --git a/mozilla/cmd/macfe/Composer/meditdlg.cp b/mozilla/cmd/macfe/Composer/meditdlg.cp index 5bc761f6e45..0547894c072 100644 --- a/mozilla/cmd/macfe/Composer/meditdlg.cp +++ b/mozilla/cmd/macfe/Composer/meditdlg.cp @@ -3331,8 +3331,8 @@ void CEDParagraphContain::PrefsFromControls() switch (fListStylePopup->GetValue()) { case 1: list->iTagType = P_UNUM_LIST; break; case 2: list->iTagType = P_NUM_LIST; break; - case 3: list->iTagType = P_DIRECTORY; break; - case 4: list->iTagType = P_MENU; break; +// case 3: list->iTagType = P_DIRECTORY; break; +// case 4: list->iTagType = P_MENU; break; case 5: list->iTagType = P_DESC_LIST; break; } @@ -3410,8 +3410,8 @@ void CEDParagraphContain::ControlsFromPref() switch (list->iTagType) { case P_UNUM_LIST: fListStylePopup->SetValue(1); break; case P_NUM_LIST: fListStylePopup->SetValue(2); break; - case P_DIRECTORY: fListStylePopup->SetValue(3); break; - case P_MENU: fListStylePopup->SetValue(4); break; +// case P_DIRECTORY: fListStylePopup->SetValue(3); break; +// case P_MENU: fListStylePopup->SetValue(4); break; case P_DESC_LIST: fListStylePopup->SetValue(5); break; default: fListStylePopup->SetValue(1); break; // assert? } @@ -3643,9 +3643,11 @@ void CEDLinkContain::Show() void CEDLinkContain::Hide() { - if ( *fLinkName ) - XP_FREE( *fLinkName ); - *fLinkName = fLinkedTextEdit->GetLongDescriptor(); + if ( fLinkName ) + { + XP_FREEIF( *fLinkName ); + *fLinkName = fLinkedTextEdit->GetLongDescriptor(); + } CEditContain::Hide(); } diff --git a/mozilla/cmd/macfe/Composer/meditdlg.h b/mozilla/cmd/macfe/Composer/meditdlg.h index 5f67b20fb0c..ad29ad7e054 100644 --- a/mozilla/cmd/macfe/Composer/meditdlg.h +++ b/mozilla/cmd/macfe/Composer/meditdlg.h @@ -376,7 +376,8 @@ public: class CEditContain: public CEditorPrefContain, public LBroadcaster { public: - CEditContain(LStream* inStream): CEditorPrefContain( inStream ){ pExtra = NULL; } + CEditContain(LStream* inStream): CEditorPrefContain( inStream ) + { fContext = NULL; fLinkName = NULL; pExtra = NULL; } // initialize everything to NULL ~CEditContain(){ XP_FREEIF(pExtra); } void SetContext(MWContext* context) {fContext = context;} diff --git a/mozilla/cmd/macfe/Composer/meditor.cp b/mozilla/cmd/macfe/Composer/meditor.cp index d247a5afd27..746a4ae424c 100644 --- a/mozilla/cmd/macfe/Composer/meditor.cp +++ b/mozilla/cmd/macfe/Composer/meditor.cp @@ -248,18 +248,47 @@ void FE_FinishedSave( MWContext * /* pMWContext */, int /* status */, char * /* { } -ED_CharsetEncode FE_EncodingDialog( MWContext* pContext ) +ED_CharsetEncode FE_EncodingDialog( MWContext* pContext, char *pCharset ) { -#if 0 - switch (HandleModalDialog( EDITDLG_ENCODING, NULL, NULL )) - { - case ED_ENCODE_CANCEL: return ED_ENCODE_CANCEL; - case ED_ENCODE_CHANGE_CHARSET: return ED_ENCODE_CHANGE_CHARSET; - case ED_ENCODE_CHANGE_METATAG: return ED_ENCODE_CHANGE_METATAG; - } -#endif + StPrepareForDialog prepare; + + StBlockingDialogHandler handler( EDITDLG_ENCODING, NULL ); + LDialogBox* dialog = (LDialogBox *)handler.GetDialog(); + LGARadioButton *change_charset = (LGARadioButton *)dialog->FindPaneByID( 'ccst' ); //radio button for Change Charset + LGARadioButton *change_metatag = (LGARadioButton *)dialog->FindPaneByID( 'cmta' ); //radio button for Change Meta-tag + LCaption *charset_capt = (LCaption *)dialog->FindPaneByID( 'cap1' ); + LCaption *metatag_capt = (LCaption *)dialog->FindPaneByID( 'cap2' ); + + int iBufLen = 255; + char buf[256]; + char *pCharsetMsg = NULL; + char *pMetatagMsg = NULL; + PR_snprintf(buf, iBufLen, "Convert the Current Page to \"%s\"", pCharset); + pCharsetMsg = PR_sprintf_append(pCharsetMsg, buf); + PR_snprintf(buf, iBufLen, "Change the Character Set Label to \"%s\"", pCharset); + pMetatagMsg = PR_sprintf_append(pMetatagMsg, buf); + + change_charset->SetDescriptor ( (CStr255) pCharsetMsg ); + change_metatag->SetDescriptor ( (CStr255) pMetatagMsg ); + charset_capt->SetDescriptor ( (CStr255) XP_GetString(XP_EDT_CHARSET_CONVERT_PAGE) ); + metatag_capt->SetDescriptor ( (CStr255) XP_GetString(XP_EDT_CHARSET_SET_METATAG) ); + + MessageT message; + do { + dialog->Show(); + message = handler.DoDialog(); + } while ( message == 0 || message == msg_ControlClicked ); + // doesn't matter if the user merely switches between radio buttons (msg_ControlClicked) + // stop only when the message is msg_OK or msg_Cancel - return ED_ENCODE_CANCEL; // shouldn't get here... + switch (message) + { + case msg_OK: + if ( change_charset->GetValue() ) return ED_ENCODE_CHANGE_CHARSET; + else if ( change_metatag->GetValue() ) return ED_ENCODE_CHANGE_METATAG; + default: // only msg_Cancel should get here, since there is always one radio button selected at any given time + return ED_ENCODE_CANCEL; + } } // in xp_file.h diff --git a/mozilla/cmd/macfe/include/resgui.h b/mozilla/cmd/macfe/include/resgui.h index af2443345dc..acf63be84e5 100644 --- a/mozilla/cmd/macfe/include/resgui.h +++ b/mozilla/cmd/macfe/include/resgui.h @@ -828,6 +828,7 @@ #define EDITDLG_SAVE_BEFORE_QUIT 5109 #define EDITDLG_COPYRIGHT_WARNING 5110 #define EDITDLG_SAVE_BEFORE_BROWSE 5111 +#define EDITDLG_ENCODING 5112 #define EDITDLG_UNKNOWN_TAG 5113 #define EDITDLG_TABLE 5116 #define EDITDLG_PUBLISH 5117 diff --git a/mozilla/cmd/macfe/rsrc/navigator/MenusRat.cnst b/mozilla/cmd/macfe/rsrc/navigator/MenusRat.cnst index b2046f91e745ad04a1e8a6d1e52c468d388d7e46..42d88a8154bb105af8d8ab206259e526028cfd28 100644 GIT binary patch delta 1160 zcmYMzUuauZ90&04z4x4(w#iMK+AXOS?bOcKCl}ML8bCde8Roqmuz2fU22#sQ+2qc);Zm_OSDw$$mC8>RW@g*_(wY8; z2L>_&kM!Hj1j?0ie)P!jZUkeQc;u6Ykq;z{j9#t%=B^d%rW>sN!9?P|wZEGS+SA^yGr?od&>E1JdRV!^`V-EnEoBv;Nk4zU&l%B62%RM(emE&T-$KJu* zRH1#iG&5VO6v}ugxDt9P>>~`Q&-l3*jMSxC?)C!+�%nPVKxD-0D7VH)MmuJ$^Lt zf|7Plh+Z)lF&_LlgJPO*|}2js_Dy^pK^))=p$YgXJ=kKN|gqWb7X@pd&%pEtH^RrNj)UX>>9&%Z9hjhZOZEo^>?2-6_yUuq(-g7LtEV^sL#Mh4Q3We?f DG-kd= delta 1165 zcmZA1UuaWT90&04J@=fO*)(YrYyT-UOWLHSYi6uSLFpXT`DeEHhp`u5+7i)~q+61* z2ic;C4~m1<>;DP9i9SrwPC?8h%Ge$zh*I=nLz$cI4`Xi|Lvh{r{Q9uXAB6ikzjN=o zzwsG>;J}r_jeb@ zbH(yR0d8NWAOGKoy|ZID_hBqvnkbfIqZ1S3`H|vyDVFDU zA^$=$;`IC1lPjD4?Gg~oo3$UDPp|fWOO2}FVt-3_Cfv5kKJN5lHSkK@KinNpc9kWS zMG^3JSi3Q200{JoUv-9f4txCB?o6d_nN1<+d<}HAi0hqSnRs0sQXzU$99C)is<=U| zr(cL0RSu{>Adaa0K;nWps?ITA6*sA`=;z{Q^*azMh%2pbkOO%@RW<7ke_|)p7rFv8 z_~IM-Fwi(EuIW?sFV@bKeh4h=5l?Ft-4qcY(SOq4iG8DhMR&zVO)JnmE5M|?R_@IqxhUh zF(=O8CVTy+Kb3B7@2W{E3zq81G>?Vb4E*fZ(yJK1&y&4z2XEuJbi)PWuL9;p0IkV%nK;R$Vs>`?l