Fixed Composer bugs, changed image drag behavior in Composer window - must select image first

This commit is contained in:
cmanske%netscape.com 1998-09-12 01:44:20 +00:00
Родитель c1d7846d18
Коммит 325434815f
5 изменённых файлов: 400 добавлений и 341 удалений

Просмотреть файл

@ -100,8 +100,12 @@ void CFE_AllConnectionsComplete(MWContext *pContext) {
} else
#endif
{
// Set the progress to be complete.
FE_Progress(pContext, szLoadString(IDS_DOC_DONE));
// Set the progress to be complete.
// We don't like this message in Composer, so use a blank line instead
if( EDT_IS_EDITOR(pContext) )
FE_Progress(pContext, " ");
else
FE_Progress(pContext, szLoadString(IDS_DOC_DONE));
}
ABSTRACTCX(pContext)->AllConnectionsComplete(pContext);

Просмотреть файл

@ -2129,7 +2129,8 @@ CWinCX::OnLButtonDownForLayerCX(UINT uFlags, CPoint &cpPoint, XY& Point,
(pElement && EDT_CanSizeObject(pMWContext, pElement, Point.x, Point.y)) )
{
// Flag to override the normal lock when sizing corners
BOOL bLock = !(BOOL)(uFlags & MK_CONTROL);
// (This is ignored when sizing table elements)
BOOL bLock = (uFlags & MK_CONTROL) != 0;
XP_Rect rect;
if( EDT_StartSizing(pMWContext, pElement, Point.x, Point.y, bLock, &rect) )
{
@ -2526,6 +2527,8 @@ CWinCX::OnLButtonUpForLayerCX(UINT uFlags, CPoint& cpPoint, XY& Point,
ClientToScreen(GetPane(), &cpScreenPoint);
#ifdef EDITOR
// We must be done with possible drag image
m_pLastImageObject = NULL;
m_pStartSelectionCell = NULL;
MWContext *pMWContext = GetContext();
@ -2539,7 +2542,6 @@ CWinCX::OnLButtonUpForLayerCX(UINT uFlags, CPoint& cpPoint, XY& Point,
// adjacent objects)
if(abs(m_cpLBUp.x - m_cpLBDown.x) > CLICK_THRESHOLD ||
abs(m_cpLBUp.y - m_cpLBDown.y) > CLICK_THRESHOLD) {
ASSERT(cpPoint.y == Point.y - GetOriginY()); // REMOVEME
// Resize the object
EDT_EndSizing(pMWContext);
@ -2594,11 +2596,6 @@ CWinCX::OnLButtonUpForLayerCX(UINT uFlags, CPoint& cpPoint, XY& Point,
abs(m_cpLBUp.y - m_cpLBDown.y) > CLICK_THRESHOLD) {
return;
}
#ifdef EDITOR
// Done with possible drag image
m_pLastImageObject = NULL;
#endif
// If there's no element, there's no need to see if we should load something.
// Just send a JS Click event to the document and return.
if(pElement == NULL) {
@ -3136,7 +3133,7 @@ void CWinCX::DragCurrentURL()
delete pDropSource;
}
void wfe_Progress(MWContext *pContext, const char *pMessage);
extern void wfe_Progress(MWContext *pContext, const char *pMessage);
void CWinCX::OnMouseMoveCX(UINT uFlags, CPoint cpPoint, BOOL &bReturnImmediately)
{
@ -3213,7 +3210,8 @@ CWinCX::OnMouseMoveForLayerCX(UINT uFlags, CPoint& cpPoint,
MWContext * context = GetContext();
BOOL bTextSet = FALSE;
BOOL bIsEditor = EDT_IS_EDITOR(context);
LO_Element *pElement = GetLayoutElement(xyPoint, layer);
if (pElement && (pElement->type == LO_IMAGE)) {
LO_ImageStruct* pImage = &pElement->lo_image;
@ -3307,29 +3305,38 @@ CWinCX::OnMouseMoveForLayerCX(UINT uFlags, CPoint& cpPoint,
#endif // EDITOR
// Don't bother to do selection or dragging unless we actually moved
if( (abs(cpPoint.x - m_cpLBDown.x) > 5)
|| (abs(cpPoint.y - m_cpLBDown.y) > 5) )
if( (abs(cpPoint.x - m_cpLBDown.x) > CLICK_THRESHOLD)
|| (abs(cpPoint.y - m_cpLBDown.y) > CLICK_THRESHOLD) )
{
if( m_bMouseInSelection )
// Drag HTML selection unless only an image is selected
// (it is handled below)
// In either Browser or Composer, don't bother to extend
// the selection if we will be dragging an image
if( m_pLastImageObject == 0 )
{
// release the mouse capture
::ReleaseCapture();
m_bMouseInSelection = FALSE;
if( m_bMouseInSelection )
{
// release the mouse capture
::ReleaseCapture();
m_bMouseInSelection = FALSE;
// Get and drag the selection
DragSelection();
// Don't do anything else if we are dragging!
goto MOUSE_TIMER;
}
// Extend the selection
// Get and drag the selection
DragSelection();
// Don't do anything else if we are dragging!
goto MOUSE_TIMER;
}
// Extend the selection
#ifdef EDITOR
if( EDT_IS_EDITOR(context) )
{
EDT_ExtendSelection(context, xVal, yVal);
} else
if( bIsEditor )
{
// TODO: There's a bug in extending the selection:
// It looses the selection on an object, such as an image
EDT_ExtendSelection(context, xVal, yVal);
} else
#endif // EDITOR
{
LO_ExtendSelection(GetDocumentContext(), xVal, yVal);
{
LO_ExtendSelection(GetDocumentContext(), xVal, yVal);
}
}
}
@ -3384,7 +3391,7 @@ CWinCX::OnMouseMoveForLayerCX(UINT uFlags, CPoint& cpPoint,
// The anchor element is held within the last_armed_xref global
// If last_armed_xref is non-null then the anchor is highlighted and
// needs to be unhighlighted and a drag and drop operation started.
if( m_pLastArmedAnchor && !EDT_IS_EDITOR(context) ) {
if( m_pLastArmedAnchor && !bIsEditor ) {
if(abs(m_cpMMove.x - m_cpLBDown.x) > CLICK_THRESHOLD ||
abs(m_cpMMove.y - m_cpLBDown.y) > CLICK_THRESHOLD) {
@ -3500,8 +3507,10 @@ CWinCX::OnMouseMoveForLayerCX(UINT uFlags, CPoint& cpPoint,
}
}
#ifdef EDITOR
// Drag image from an Editor or Browser
else if ( m_pLastImageObject &&
// Drag image from a Browser (no image selection exists)
// or from an editor only if it was selected before
// (1st click selects, 2nd click down and move will drag)
else if ( m_pLastImageObject && (!bIsEditor || bIsEditor && m_bMouseInSelection) &&
(abs(m_cpMMove.x - m_cpLBDown.x) > CLICK_THRESHOLD ||
abs(m_cpMMove.y - m_cpLBDown.y) > CLICK_THRESHOLD) ) {
@ -6167,13 +6176,15 @@ mouse_over_callback(MWContext * context, LO_Element * lo_element, int32 event,
#ifdef MOZ_NGLAYOUT
XP_ASSERT(0);
#else
LO_EmbedStruct *pEmbed = NULL;
LO_ImageStruct * image_struct = NULL;
LO_TextStruct * text_struct = NULL;
// keep track of what we have done already so that we
// don't thrash
BOOL bTextSet = FALSE;
BOOL bCursorSet = FALSE;
LO_EmbedStruct *pEmbed = NULL;
LO_ImageStruct * image_struct = NULL;
LO_TextStruct * text_struct = NULL;
BOOL bIsEditor = EDT_IS_EDITOR(context);
// get our stashed data
mouse_over_closure * pClose = (mouse_over_closure *) pObj;
@ -6200,7 +6211,7 @@ mouse_over_callback(MWContext * context, LO_Element * lo_element, int32 event,
// which are tightly surrounded by a cell boundary.
// TODO: Alt key leaves menu select mode on - how do we defeat that behavior?
if( EDT_IS_EDITOR(context) && !EDT_IsSizing(context) )
if( bIsEditor && !EDT_IsSizing(context) )
{
ED_HitType iTableHit = ED_HIT_NONE;
if( pWin->m_bSelectingCells )
@ -6296,7 +6307,7 @@ mouse_over_callback(MWContext * context, LO_Element * lo_element, int32 event,
if(bIsLink && !bTextSet)
{
#ifdef EDITOR
if( EDT_IS_EDITOR(context) )
if( bIsEditor )
{
// Condense the URL of the link and append hint that
// pressing Ctrl + mouse click will edit the link
@ -6310,7 +6321,7 @@ mouse_over_callback(MWContext * context, LO_Element * lo_element, int32 event,
wfe_Progress(context, (char *) text_struct->anchor_href->anchor);
bTextSet = TRUE;
}
if( EDT_IS_EDITOR(context) )
if( bIsEditor )
{
#ifdef EDITOR
if( bMouseInSelection )
@ -6337,7 +6348,7 @@ mouse_over_callback(MWContext * context, LO_Element * lo_element, int32 event,
}
}
#ifdef EDITOR
else if( EDT_IS_EDITOR(context) &&
else if( bIsEditor &&
lo_element &&
!EDT_IsSizing(context) )
{
@ -6398,7 +6409,7 @@ mouse_over_callback(MWContext * context, LO_Element * lo_element, int32 event,
LO_AnchorData *pAnchorData = LO_MapXYToAreaAnchor(pWin->GetDocumentContext(), image_struct,
image_offset.x, image_offset.y);
if(pAnchorData != NULL) {
if( !EDT_IS_EDITOR(context) && !bMouseInSelection ){
if( !bIsEditor && !bMouseInSelection ){
SetCursor(theApp.LoadCursor(IDC_SELECTANCHOR));
bCursorSet = TRUE;
}
@ -6422,7 +6433,7 @@ mouse_over_callback(MWContext * context, LO_Element * lo_element, int32 event,
anchor = (char *) image_struct->anchor_href->anchor;
anchor += buf;
if( !EDT_IS_EDITOR(context) && !bMouseInSelection ){
if( !bIsEditor && !bMouseInSelection ){
SetCursor(theApp.LoadCursor(IDC_SELECTANCHOR));
bCursorSet = TRUE;
}
@ -6434,7 +6445,7 @@ mouse_over_callback(MWContext * context, LO_Element * lo_element, int32 event,
}
else if(image_struct->anchor_href) {
// Set anchor cursor only if not in editor and not in a selection
if( !EDT_IS_EDITOR(context) && !bMouseInSelection ) {
if( !bIsEditor && !bMouseInSelection ) {
SetCursor(theApp.LoadCursor(IDC_SELECTANCHOR));
bCursorSet = TRUE;
}
@ -6444,7 +6455,7 @@ mouse_over_callback(MWContext * context, LO_Element * lo_element, int32 event,
}
}
else if(image_struct->image_attr->attrmask & LO_ATTR_INTERNAL_IMAGE
&& EDT_IS_EDITOR(context)
&& bIsEditor
&& image_struct->alt != NULL ){
char *str;
@ -6457,11 +6468,50 @@ mouse_over_callback(MWContext * context, LO_Element * lo_element, int32 event,
PA_UNLOCK(image_struct->alt);
}
}
if( EDT_IS_EDITOR(context) && !bCursorSet ){
// Experimental: Image can be dragged, so if no cursor set above,
// use Open Hand with arrow to indicate "draggability" of the image
SetCursor(theApp.LoadCursor(IDC_ARROW_HAND));
bCursorSet = TRUE;
if( !bCursorSet ){
// Image can be dragged from a Browser or from an Editor after it is selected,
// so if no cursor set above,
// use Open Hand with arrow to indicate "draggability" of the image
// Do this for a Browser window ONLY if we have a Composer Window available
// to drag into
BOOL bHaveEditorWindow = bIsEditor;
if( !bHaveEditorWindow )
{
// Check if there are any editor windows open (either Mail or Page Composer)
CGenericFrame * f;
for(f = theApp.m_pFrameList; f; f = f->m_pNext)
{
MWContext *pMWContext = f->GetMainContext()->GetContext();
if ( pMWContext && EDT_IS_EDITOR(pMWContext) )
{
bHaveEditorWindow = TRUE;
break;
}
}
}
if( !bIsEditor && bHaveEditorWindow ||
(bIsEditor && (image_struct->ele_attrmask & LO_ELE_SELECTED) != 0) )
{
SetCursor(theApp.LoadCursor(IDC_ARROW_HAND));
bCursorSet = TRUE;
// Display some help on the status line
// NOTE: In Browser, there is no Image selection,
// so image can be dragged upon first mouse down
wfe_Progress(context, XP_GetString(XP_EDT_CLICK_AND_DRAG_IMAGE));
bTextSet = TRUE;
}
else if( bIsEditor )
{
SetCursor(theApp.LoadStandardCursor(IDC_ARROW));
bCursorSet = TRUE;
// Tell user how to select image
// NOTE: Image must be selected before dragging when in Composer
wfe_Progress(context, XP_GetString(XP_EDT_CLICK_TO_SELECT_IMAGE));
bTextSet = TRUE;
}
}
}
@ -6497,7 +6547,7 @@ mouse_over_callback(MWContext * context, LO_Element * lo_element, int32 event,
// but if we arrive here and have not set cursor, use the IBeam, except
// if we are in a location to select the entire line: use right-facing arrow
// Otherwise we get the default left-facing arrow, which is confusing
if( EDT_IS_EDITOR(context) && !bCursorSet )
if( bIsEditor && !bCursorSet )
{
SetCursor( theApp.LoadCursor(LO_CanSelectLine(context, pClose->xVal, pClose->yVal) ?
IDC_ARROW_RIGHT : IDC_EDIT_IBEAM) );

Просмотреть файл

@ -1368,7 +1368,7 @@ void FE_EditorDocumentLoaded(MWContext* pMWContext)
CEditFrame* pFrame;
CGenericFrame *pWnd = (CGenericFrame*)GetFrame(pMWContext);
#ifdef ENDER
if (pWnd->IsKindOf(RUNTIME_CLASS(CMainFrame)))
if (!pWnd->IsKindOf(RUNTIME_CLASS(CEditFrame)))
return;
else
#endif //ENDER

Просмотреть файл

@ -1255,7 +1255,11 @@ void CNetscapeEditView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
// Cancel an Object Sizing operation
if( EDT_IsSizing(pMWContext) )
{
GetContext()->CancelSizing();
// Erase inappropriate cursors
UpdateCursor();
}
// Call the CGenericView's interrupt function
OnNavigateInterrupt();

Просмотреть файл

@ -32,292 +32,6 @@
#include "..\..\..\lib\libparse\pa_tags.h" // interface to layout tag defines
#include "..\edres2.h"
// NO MAIL COMPOSER IN 5.0
#if 0
IDR_COMPOSEFRAME MENU DISCARDABLE
BEGIN
POPUP "&File"
BEGIN
POPUP "&New"
BEGIN
MENUITEM "&Navigator Window\tCtrl+N", ID_NEW_FRAME
MENUITEM "&Message\tCtrl+M", ID_FILE_NEWMESSAGE
MENUITEM SEPARATOR
MENUITEM "Blank &Page\tCtrl+Shift+N", ID_EDT_NEW_DOC_BLANK
MENUITEM "Page From &Template...", ID_EDT_NEW_DOC_FROM_TEMPLATE
MENUITEM "Page From &Wizard...", ID_COMMAND_PAGE_FROM_WIZARD
END
POPUP "Save &As"
BEGIN
MENUITEM "&File...", IDM_SAVEAS
MENUITEM SEPARATOR
MENUITEM "&Draft\tCtrl+S", IDM_SAVEASDRAFT
MENUITEM "&Template\tCtrl+T", IDM_SAVEASTEMPLATE
END
MENUITEM SEPARATOR
MENUITEM "Sen&d Now\tCtrl+Enter", IDM_SENDNOW
MENUITEM "Send &Later", IDM_SENDLATER
MENUITEM "&Quote Original Text", IDM_QUOTEORIGINAL
MENUITEM "Selec&t Addresses...", IDM_ADDRESSPICKER
POPUP "A&ttach"
BEGIN
MENUITEM "&File...", IDM_ATTACHFILE
MENUITEM "&Web Page...", IDM_ATTACHWEBPAGE
MENUITEM SEPARATOR
MENUITEM "&My Address Book Card", IDM_ATTACHMYCARD
END
MENUITEM SEPARATOR
MENUITEM "Sen&d Now\tCtrl+Enter", IDM_SENDNOW
MENUITEM "Send &Later", IDM_SENDLATER
MENUITEM "&Quote Original Text", IDM_QUOTEORIGINAL
MENUITEM "Selec&t Addresses...", IDM_ADDRESSPICKER
MENUITEM SEPARATOR
MENUITEM "Pa&ge Setup...", ID_FILE_PAGE_SETUP
MENUITEM "Print Pre&view", ID_FILE_PRINT_PREVIEW
MENUITEM "&Print...\tCtrl+P", ID_FILE_PRINT
MENUITEM SEPARATOR
MENUITEM "&Close\tCtrl+W", ID_FILE_CLOSE
MENUITEM "E&xit\tCtrl+Q", ID_APP_EXIT
END
POPUP "&Edit"
BEGIN
MENUITEM "{&U&R}", ID_EDIT_UNDO
MENUITEM SEPARATOR
MENUITEM "Cu&t\tCtrl+X", ID_EDIT_CUT
MENUITEM "&Copy\tCtrl+C", ID_EDIT_COPY
MENUITEM "&Paste\tCtrl+V", ID_EDIT_PASTE
MENUITEM "Paste as &Quotation", IDM_PASTEASQUOTE
MENUITEM "&Delete\tDel" ID_EDIT_DELETE
MENUITEM SEPARATOR
MENUITEM "Remove Lin&k", ID_REMOVE_LINKS
MENUITEM SEPARATOR
MENUITEM "Select &All\tCtrl+A", ID_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM "&Find in Message\tCtrl+F", ID_EDIT_FINDINCURRENT
MENUITEM "Find A&gain\tCtrl+G", ID_EDIT_FINDAGAIN
MENUITEM SEPARATOR
MENUITEM "Name Completion", ID_TOGGLENAMECOMPLETION
MENUITEM "Show Name Picker\tCtrl+J" ID_SHOW_NAME_PICKER
MENUITEM SEPARATOR
MENUITEM "Pr&eferences...", ID_OPTIONS_PREFERENCES
END
POPUP "&View"
BEGIN
MENUITEM "{&M}", IDM_OPT_MESSAGEBAR_TOGGLE
MENUITEM "{&A}", IDM_MESSAGEBODYONLY
MENUITEM "{&F}", ID_OPT_CHARBAR_TOGGLE
MENUITEM SEPARATOR
MENUITEM "A&ddress", IDM_ADDRESSES
MENUITEM "Attachmen&ts" IDM_ATTACHMENTS
MENUITEM "&Options", IDM_OPTIONS
MENUITEM SEPARATOR
MENUITEM "{&P}" ID_EDIT_DISPLAY_PARAGRAPH_MARKS
MENUITEM SEPARATOR
MENUITEM "Page So&urce", ID_FILE_VIEWSOURCE
MENUITEM "Page &Info", ID_FILE_DOCINFO
MENUITEM SEPARATOR
POPUP "&Encoding"
BEGIN
MENUITEM "Western (ISO-8859-1)", ID_OPTIONS_ENCODING_1
MENUITEM SEPARATOR
MENUITEM "Central European (ISO-8859-2)", ID_OPTIONS_ENCODING_2
MENUITEM "Central European (Windows-1250)", ID_OPTIONS_ENCODING_11
MENUITEM SEPARATOR
MENUITEM "Japanese (Auto-Detect)", ID_OPTIONS_ENCODING_3
MENUITEM "Japanese (Shift_JIS)", ID_OPTIONS_ENCODING_4
MENUITEM "Japanese (EUC-JP)", ID_OPTIONS_ENCODING_5
MENUITEM SEPARATOR
MENUITEM "Traditional Chinese (Big5)", ID_OPTIONS_ENCODING_6
MENUITEM "Traditional Chinese (EUC-TW)", ID_OPTIONS_ENCODING_7
MENUITEM SEPARATOR
MENUITEM "Simplified Chinese (GB2312)", ID_OPTIONS_ENCODING_8
MENUITEM SEPARATOR
MENUITEM "Korean (Auto-Detect)", ID_OPTIONS_ENCODING_9
MENUITEM SEPARATOR
MENUITEM "Cyrillic (KOI8-R)", ID_OPTIONS_ENCODING_14
MENUITEM "Cyrillic (ISO-8859-5)", ID_OPTIONS_ENCODING_13
MENUITEM "Cyrillic (Windows-1251)", ID_OPTIONS_ENCODING_12
MENUITEM SEPARATOR
MENUITEM "Armenian (ArmSCII-8)", ID_OPTIONS_ENCODING_21
MENUITEM SEPARATOR
MENUITEM "Thai (TIS-620)", ID_OPTIONS_ENCODING_22
MENUITEM SEPARATOR
MENUITEM "Greek (Windows-1253)", ID_OPTIONS_ENCODING_16
MENUITEM "Greek (ISO-8859-7)", ID_OPTIONS_ENCODING_15
MENUITEM SEPARATOR
MENUITEM "Turkish (ISO-8859-9)", ID_OPTIONS_ENCODING_17
MENUITEM SEPARATOR
MENUITEM "Vietnamese (VISCII)", ID_OPTIONS_ENCODING_23
MENUITEM "Vietnamese (VIQR)", ID_OPTIONS_ENCODING_26
MENUITEM "Vietnamese (VPS)", ID_OPTIONS_ENCODING_24
MENUITEM "Vietnamese (TCVN)", ID_OPTIONS_ENCODING_25
MENUITEM "Vietnamese (VNI)", ID_OPTIONS_ENCODING_27
MENUITEM SEPARATOR
MENUITEM "Unicode (UTF-8)", ID_OPTIONS_ENCODING_18
MENUITEM "Unicode (UTF-7)", ID_OPTIONS_ENCODING_20
MENUITEM SEPARATOR
MENUITEM "User-Defined", ID_OPTIONS_ENCODING_10
END
END
// Insert and Format must be same as those in EDITOR menu
POPUP "&Insert"
BEGIN
MENUITEM "&Link...\tCtrl+Shift+L", ID_INSERT_LINK
MENUITEM "T&arget...", ID_INSERT_TARGET
MENUITEM "&Image...", ID_INSERT_IMAGE
MENUITEM "H&orizontal Line", ID_INSERT_HRULE
MENUITEM "&Table..." ID_INSERT_TABLE
MENUITEM "&HTML Tag...", ID_INSERT_TAG
MENUITEM SEPARATOR
MENUITEM "&New Line Break\tShift+Enter" ID_INSERT_LINE_BREAK
MENUITEM "&Break below Image(s)" ID_INSERT_BREAK_BOTH
END
POPUP "F&ormat"
BEGIN
// Font face items are added at runtime
POPUP "&Font"
BEGIN
MENUITEM "{}" ID_FORMAT_FONTFACE_BASE
END
// All of these items are added at runtime
POPUP "Si&ze"
BEGIN
MENUITEM "{}" ID_FORMAT_FONTSIZE_BASE
END
POPUP "&Style"
BEGIN
MENUITEM "&Bold\tCtrl+B" ID_FORMAT_CHAR_BOLD
MENUITEM "&Italic\tCtrl+I" ID_FORMAT_CHAR_ITALIC
MENUITEM "&Underline\tCtrl+U" ID_FORMAT_CHAR_UNDERLINE
MENUITEM "S&trikethrough" ID_FORMAT_CHAR_STRIKEOUT
MENUITEM "Su&perscript" ID_FORMAT_CHAR_SUPER
MENUITEM "&Subscript" ID_FORMAT_CHAR_SUB
MENUITEM "Blin&king" ID_FORMAT_CHAR_BLINK
MENUITEM "&Nonbreaking" ID_FORMAT_CHAR_NOBREAKS
END
MENUITEM "Text &Color...", ID_GET_COLOR // ID_FORMAT_FONTCOLOR
MENUITEM "Apply Last-Copied St&yle\tCtrl+Y" ID_PASTE_CHARACTER_STYLE
MENUITEM "&Remove All Styles\tCtrl+K" ID_FORMAT_CHAR_NONE
MENUITEM SEPARATOR
POPUP "&Heading"
BEGIN
MENUITEM "&1", ID_FORMAT_PARAGRAPH_BASE+P_HEADER_1
MENUITEM "&2", ID_FORMAT_PARAGRAPH_BASE+P_HEADER_2
MENUITEM "&3", ID_FORMAT_PARAGRAPH_BASE+P_HEADER_3
MENUITEM "&4", ID_FORMAT_PARAGRAPH_BASE+P_HEADER_4
MENUITEM "&5", ID_FORMAT_PARAGRAPH_BASE+P_HEADER_5
MENUITEM "&6", ID_FORMAT_PARAGRAPH_BASE+P_HEADER_6
END
POPUP "&Paragraph"
BEGIN
MENUITEM "&Normal", ID_FORMAT_PARAGRAPH_BASE+P_NSDT
MENUITEM "&Address", ID_FORMAT_PARAGRAPH_BASE+P_ADDRESS
MENUITEM "&Formatted", ID_FORMAT_PARAGRAPH_BASE+P_PREFORMAT
MENUITEM "&Block Quote" ID_FORMAT_PARAGRAPH_BASE+P_BLOCKQUOTE
MENUITEM "&Term Name" ID_FORMAT_PARAGRAPH_BASE+P_DESC_TITLE
MENUITEM "&Definition" ID_FORMAT_PARAGRAPH_BASE+P_DESC_TEXT
END
POPUP "&List"
BEGIN
MENUITEM "N&one" ID_REMOVE_LIST
MENUITEM "&Bulletted" ID_FORMAT_PARAGRAPH_BASE+P_UNUM_LIST
MENUITEM "&Numbered" ID_FORMAT_PARAGRAPH_BASE+P_NUM_LIST
MENUITEM "&Definition" ID_FORMAT_PARAGRAPH_BASE+P_DESC_LIST
END
POPUP "&Align"
BEGIN
MENUITEM "&Left\tCtrl+L", ID_ALIGN_LEFT
MENUITEM "&Center\tCtrl+E", ID_ALIGN_CENTER
MENUITEM "&Right\tCtrl+R", ID_ALIGN_RIGHT
END
MENUITEM SEPARATOR
MENUITEM "&Increase Indent\tCtrl =" ID_FORMAT_INDENT
MENUITEM "&Decrease Indent\tCtrl -" ID_FORMAT_OUTDENT
MENUITEM SEPARATOR
// <object> Pr&operties
MENUITEM "{&o}" ID_PROPS_LOCAL
// No "Page Title" in message composer
MENUITEM "&Background and Page Colors" ID_PROPS_DOC_COLOR
END
POPUP "T&able"
BEGIN
// Will be replaced with IDM_COMPOSER_TABLE_INSERTMENU
MENUITEM "{&I}" ID_INSERT_TABLE
// Will be replaced with IDM_COMPOSER_TABLE_DELETEMENU
MENUITEM "{&D}" ID_DELETE_TABLE
// Will be replaced with IDM_COMPOSER_TABLE_SELECTMENU
MENUITEM "{&S}" ID_SELECT_TABLE
// Will be replaced with IDM_COMPOSER_TABLE_PASTEMENU
MENUITEM "{&P}" ID_PASTE_TABLE
MENUITEM SEPARATOR
POPUP "&Align Table"
BEGIN
MENUITEM "&Left", ID_ALIGN_TABLE_LEFT
MENUITEM "&Center", ID_ALIGN_TABLE_CENTER
MENUITEM "&Right", ID_ALIGN_TABLE_RIGHT
END
MENUITEM SEPARATOR
// "&Join..." or "Spli&t Cell"
MENUITEM "{&J}" ID_MERGE_TABLE_CELLS
// "&Convert Text To Table" or "&Convert Table To Text"
MENUITEM "{&C}" ID_TABLE_TEXT_CONVERT
MENUITEM SEPARATOR
MENUITEM "&Properties" ID_PROPS_TABLE
END
// Translate this menu group string and the string IDS_TOOLS_MENU(in editor.rc) identically.
// The code tries to find this menu entry using the string resource.
POPUP "&Tools"
BEGIN
MENUITEM "Check &Spelling..." ID_CHECK_SPELLING
// Don't translate this entry. It is replaced at runtime.
MENUITEM "{Editor Plug-ins}" ID_EDITOR_PLUGINS_BASE
MENUITEM "Stop Active &Plug-in" ID_STOP_EDITOR_PLUGIN
END
POPUP "&Communicator"
BEGIN
MENUITEM "&Navigator\tCtrl+1", ID_TOOLS_WEB
MENUITEM "&Messenger Mailbox\tCtrl+2", ID_TOOLS_INBOX
MENUITEM "Collabra &Discussion Groups\tCtrl+3", ID_TOOLS_NEWS
MENUITEM "&Page Composer\tCtrl+4", ID_TOOLS_EDITOR
MENUITEM "&Conference\tCtrl+5", ID_WINDOW_LIVECALL
MENUITEM SEPARATOR
MENUITEM "Show Componen&t Bar", ID_WINDOW_TASKBAR
MENUITEM "Messa&ge Center\tCtrl+Shift+1", ID_TOOLS_MAIL
MENUITEM "&Address Book\tCtrl+Shift+2", ID_TOOLS_ADDRESSBOOK
POPUP "&Bookmarks"
BEGIN
MENUITEM "&Add Bookmark\tCtrl+D", ID_HOTLIST_ADDCURRENTTOHOTLIST
POPUP "&File Bookmark"
BEGIN
MENUITEM "Root", ID_BOOKMARKS_FILEROOT
END
MENUITEM "&Edit Bookmarks...", ID_HOTLIST_VIEW
MENUITEM SEPARATOR
POPUP "&Places"
BEGIN
MENUITEM "PLACEHOLDER", IDC_FIRST_PLACES_MENU_ID
END
MENUITEM SEPARATOR
END
MENUITEM "&History\tCtrl+H", ID_GO_HISTORY
MENUITEM "&Java Console", ID_OPTIONS_SHOWJAVACONSOLE
MENUITEM "&Security Info\tCtrl+Shift+I", ID_SECURITY
#ifdef MOZ_MAIL_NEWS
MENUITEM "Migration Tools", ID_MIGRATION_TOOLS
#endif
MENUITEM SEPARATOR
MENUITEM "{}", ID_WINDOW_WINDOW_0
END
POPUP "&Help"
BEGIN
MENUITEM "PLACEHOLDER", IDC_FIRST_HELP_MENU_ID
END
END
#endif
//////////////////////////////////////////////////////////////////////////////
//
// Page Composer Menu
@ -394,7 +108,7 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "Page So&urce", ID_FILE_VIEWSOURCE
MENUITEM "Page I&nfo", ID_FILE_DOCINFO
POPUP "&Encoding"
POPUP "C&haracter Set"
BEGIN
MENUITEM "Western (ISO-8859-1)", ID_OPTIONS_ENCODING_1
MENUITEM SEPARATOR
@ -597,10 +311,6 @@ BEGIN
END
/////////////////////////////////////////////////////////////////////////////
//
// Menus
//
IDM_COMPOSER_TABLE_SELECTMENU MENU DISCARDABLE
BEGIN
MENUITEM "&Table" ID_SELECT_TABLE
@ -652,6 +362,297 @@ BEGIN
MENUITEM "&Cell" ID_DELETE_TABLE_CELL
END
//////////////////////////////////////////////////////////////////////////////
//
// Message Composer Menu
//
// NO MAIL COMPOSER IN 5.0
// Keep and maintain for possible future integration
#if 0
IDR_COMPOSEFRAME MENU DISCARDABLE
BEGIN
POPUP "&File"
BEGIN
POPUP "&New"
BEGIN
MENUITEM "&Navigator Window\tCtrl+N", ID_NEW_FRAME
MENUITEM "&Message\tCtrl+M", ID_FILE_NEWMESSAGE
MENUITEM SEPARATOR
MENUITEM "Blank &Page\tCtrl+Shift+N", ID_EDT_NEW_DOC_BLANK
MENUITEM "Page From &Template...", ID_EDT_NEW_DOC_FROM_TEMPLATE
MENUITEM "Page From &Wizard...", ID_COMMAND_PAGE_FROM_WIZARD
END
POPUP "Save &As"
BEGIN
MENUITEM "&File...", IDM_SAVEAS
MENUITEM SEPARATOR
MENUITEM "&Draft\tCtrl+S", IDM_SAVEASDRAFT
MENUITEM "&Template\tCtrl+T", IDM_SAVEASTEMPLATE
END
MENUITEM SEPARATOR
MENUITEM "Sen&d Now\tCtrl+Enter", IDM_SENDNOW
MENUITEM "Send &Later", IDM_SENDLATER
MENUITEM "&Quote Original Text", IDM_QUOTEORIGINAL
MENUITEM "Selec&t Addresses...", IDM_ADDRESSPICKER
POPUP "A&ttach"
BEGIN
MENUITEM "&File...", IDM_ATTACHFILE
MENUITEM "&Web Page...", IDM_ATTACHWEBPAGE
MENUITEM SEPARATOR
MENUITEM "&My Address Book Card", IDM_ATTACHMYCARD
END
MENUITEM SEPARATOR
MENUITEM "Sen&d Now\tCtrl+Enter", IDM_SENDNOW
MENUITEM "Send &Later", IDM_SENDLATER
MENUITEM "&Quote Original Text", IDM_QUOTEORIGINAL
MENUITEM "Selec&t Addresses...", IDM_ADDRESSPICKER
MENUITEM SEPARATOR
MENUITEM "Pa&ge Setup...", ID_FILE_PAGE_SETUP
MENUITEM "Print Pre&view", ID_FILE_PRINT_PREVIEW
MENUITEM "&Print...\tCtrl+P", ID_FILE_PRINT
MENUITEM SEPARATOR
MENUITEM "&Close\tCtrl+W", ID_FILE_CLOSE
MENUITEM "E&xit\tCtrl+Q", ID_APP_EXIT
END
POPUP "&Edit"
BEGIN
MENUITEM "{&U&R}", ID_EDIT_UNDO
MENUITEM SEPARATOR
MENUITEM "Cu&t\tCtrl+X", ID_EDIT_CUT
MENUITEM "&Copy\tCtrl+C", ID_EDIT_COPY
MENUITEM "&Paste\tCtrl+V", ID_EDIT_PASTE
MENUITEM "Paste as &Quotation", IDM_PASTEASQUOTE
MENUITEM "&Delete\tDel" ID_EDIT_DELETE
MENUITEM SEPARATOR
MENUITEM "Remove Lin&k", ID_REMOVE_LINKS
MENUITEM SEPARATOR
MENUITEM "Select &All\tCtrl+A", ID_EDIT_SELECTALL
MENUITEM SEPARATOR
MENUITEM "&Find in Message\tCtrl+F", ID_EDIT_FINDINCURRENT
MENUITEM "Find A&gain\tCtrl+G", ID_EDIT_FINDAGAIN
MENUITEM SEPARATOR
MENUITEM "Name Completion", ID_TOGGLENAMECOMPLETION
MENUITEM "Show Name Picker\tCtrl+J" ID_SHOW_NAME_PICKER
MENUITEM SEPARATOR
MENUITEM "Pr&eferences...", ID_OPTIONS_PREFERENCES
END
POPUP "&View"
BEGIN
MENUITEM "{&M}", IDM_OPT_MESSAGEBAR_TOGGLE
MENUITEM "{&A}", IDM_MESSAGEBODYONLY
MENUITEM "{&F}", ID_OPT_CHARBAR_TOGGLE
MENUITEM SEPARATOR
MENUITEM "A&ddress", IDM_ADDRESSES
MENUITEM "Attachmen&ts" IDM_ATTACHMENTS
MENUITEM "&Options", IDM_OPTIONS
MENUITEM SEPARATOR
MENUITEM "{&P}" ID_EDIT_DISPLAY_PARAGRAPH_MARKS
MENUITEM SEPARATOR
MENUITEM "Page So&urce", ID_FILE_VIEWSOURCE
MENUITEM "Page &Info", ID_FILE_DOCINFO
MENUITEM SEPARATOR
POPUP "C&haracter Set"
BEGIN
MENUITEM "Western (ISO-8859-1)", ID_OPTIONS_ENCODING_1
MENUITEM SEPARATOR
MENUITEM "Central European (ISO-8859-2)", ID_OPTIONS_ENCODING_2
MENUITEM "Central European (Windows-1250)", ID_OPTIONS_ENCODING_11
MENUITEM SEPARATOR
MENUITEM "Japanese (Auto-Detect)", ID_OPTIONS_ENCODING_3
MENUITEM "Japanese (Shift_JIS)", ID_OPTIONS_ENCODING_4
MENUITEM "Japanese (EUC-JP)", ID_OPTIONS_ENCODING_5
MENUITEM SEPARATOR
MENUITEM "Traditional Chinese (Big5)", ID_OPTIONS_ENCODING_6
MENUITEM "Traditional Chinese (EUC-TW)", ID_OPTIONS_ENCODING_7
MENUITEM SEPARATOR
MENUITEM "Simplified Chinese (GB2312)", ID_OPTIONS_ENCODING_8
MENUITEM SEPARATOR
MENUITEM "Korean (Auto-Detect)", ID_OPTIONS_ENCODING_9
MENUITEM SEPARATOR
MENUITEM "Cyrillic (KOI8-R)", ID_OPTIONS_ENCODING_14
MENUITEM "Cyrillic (ISO-8859-5)", ID_OPTIONS_ENCODING_13
MENUITEM "Cyrillic (Windows-1251)", ID_OPTIONS_ENCODING_12
MENUITEM SEPARATOR
MENUITEM "Armenian (ArmSCII-8)", ID_OPTIONS_ENCODING_21
MENUITEM SEPARATOR
MENUITEM "Thai (TIS-620)", ID_OPTIONS_ENCODING_22
MENUITEM SEPARATOR
MENUITEM "Greek (Windows-1253)", ID_OPTIONS_ENCODING_16
MENUITEM "Greek (ISO-8859-7)", ID_OPTIONS_ENCODING_15
MENUITEM SEPARATOR
MENUITEM "Turkish (ISO-8859-9)", ID_OPTIONS_ENCODING_17
MENUITEM SEPARATOR
MENUITEM "Vietnamese (VISCII)", ID_OPTIONS_ENCODING_23
MENUITEM "Vietnamese (VIQR)", ID_OPTIONS_ENCODING_26
MENUITEM "Vietnamese (VPS)", ID_OPTIONS_ENCODING_24
MENUITEM "Vietnamese (TCVN)", ID_OPTIONS_ENCODING_25
MENUITEM "Vietnamese (VNI)", ID_OPTIONS_ENCODING_27
MENUITEM SEPARATOR
MENUITEM "Unicode (UTF-8)", ID_OPTIONS_ENCODING_18
MENUITEM "Unicode (UTF-7)", ID_OPTIONS_ENCODING_20
MENUITEM SEPARATOR
MENUITEM "User-Defined", ID_OPTIONS_ENCODING_10
END
END
// Insert and Format must be same as those in EDITOR menu
POPUP "&Insert"
BEGIN
MENUITEM "&Link...\tCtrl+Shift+L", ID_INSERT_LINK
MENUITEM "T&arget...", ID_INSERT_TARGET
MENUITEM "&Image...", ID_INSERT_IMAGE
MENUITEM "H&orizontal Line", ID_INSERT_HRULE
MENUITEM "&Table..." ID_INSERT_TABLE
MENUITEM "&HTML Tag...", ID_INSERT_TAG
MENUITEM SEPARATOR
MENUITEM "&New Line Break\tShift+Enter" ID_INSERT_LINE_BREAK
MENUITEM "&Break below Image(s)" ID_INSERT_BREAK_BOTH
END
POPUP "F&ormat"
BEGIN
// Font face items are added at runtime
POPUP "&Font"
BEGIN
MENUITEM "{}" ID_FORMAT_FONTFACE_BASE
END
// All of these items are added at runtime
POPUP "Si&ze"
BEGIN
MENUITEM "{}" ID_FORMAT_FONTSIZE_BASE
END
POPUP "&Style"
BEGIN
MENUITEM "&Bold\tCtrl+B" ID_FORMAT_CHAR_BOLD
MENUITEM "&Italic\tCtrl+I" ID_FORMAT_CHAR_ITALIC
MENUITEM "&Underline\tCtrl+U" ID_FORMAT_CHAR_UNDERLINE
MENUITEM "S&trikethrough" ID_FORMAT_CHAR_STRIKEOUT
MENUITEM "Su&perscript" ID_FORMAT_CHAR_SUPER
MENUITEM "&Subscript" ID_FORMAT_CHAR_SUB
MENUITEM "Blin&king" ID_FORMAT_CHAR_BLINK
MENUITEM "&Nonbreaking" ID_FORMAT_CHAR_NOBREAKS
END
MENUITEM "Text &Color...", ID_GET_COLOR // ID_FORMAT_FONTCOLOR
MENUITEM "Apply Last-Copied St&yle\tCtrl+Y" ID_PASTE_CHARACTER_STYLE
MENUITEM "&Remove All Styles\tCtrl+K" ID_FORMAT_CHAR_NONE
MENUITEM SEPARATOR
POPUP "&Heading"
BEGIN
MENUITEM "&1", ID_FORMAT_PARAGRAPH_BASE+P_HEADER_1
MENUITEM "&2", ID_FORMAT_PARAGRAPH_BASE+P_HEADER_2
MENUITEM "&3", ID_FORMAT_PARAGRAPH_BASE+P_HEADER_3
MENUITEM "&4", ID_FORMAT_PARAGRAPH_BASE+P_HEADER_4
MENUITEM "&5", ID_FORMAT_PARAGRAPH_BASE+P_HEADER_5
MENUITEM "&6", ID_FORMAT_PARAGRAPH_BASE+P_HEADER_6
END
POPUP "&Paragraph"
BEGIN
MENUITEM "&Normal", ID_FORMAT_PARAGRAPH_BASE+P_NSDT
MENUITEM "&Address", ID_FORMAT_PARAGRAPH_BASE+P_ADDRESS
MENUITEM "&Formatted", ID_FORMAT_PARAGRAPH_BASE+P_PREFORMAT
MENUITEM "&Block Quote" ID_FORMAT_PARAGRAPH_BASE+P_BLOCKQUOTE
MENUITEM "&Term Name" ID_FORMAT_PARAGRAPH_BASE+P_DESC_TITLE
MENUITEM "&Definition" ID_FORMAT_PARAGRAPH_BASE+P_DESC_TEXT
END
POPUP "&List"
BEGIN
MENUITEM "N&one" ID_REMOVE_LIST
MENUITEM "&Bulletted" ID_FORMAT_PARAGRAPH_BASE+P_UNUM_LIST
MENUITEM "&Numbered" ID_FORMAT_PARAGRAPH_BASE+P_NUM_LIST
MENUITEM "&Definition" ID_FORMAT_PARAGRAPH_BASE+P_DESC_LIST
END
POPUP "&Align"
BEGIN
MENUITEM "&Left\tCtrl+L", ID_ALIGN_LEFT
MENUITEM "&Center\tCtrl+E", ID_ALIGN_CENTER
MENUITEM "&Right\tCtrl+R", ID_ALIGN_RIGHT
END
MENUITEM SEPARATOR
MENUITEM "&Increase Indent\tCtrl =" ID_FORMAT_INDENT
MENUITEM "&Decrease Indent\tCtrl -" ID_FORMAT_OUTDENT
MENUITEM SEPARATOR
// <object> Pr&operties
MENUITEM "{&o}" ID_PROPS_LOCAL
// No "Page Title" in message composer
MENUITEM "&Background and Page Colors" ID_PROPS_DOC_COLOR
END
POPUP "T&able"
BEGIN
// Will be replaced with IDM_COMPOSER_TABLE_INSERTMENU
MENUITEM "{&I}" ID_INSERT_TABLE
// Will be replaced with IDM_COMPOSER_TABLE_DELETEMENU
MENUITEM "{&D}" ID_DELETE_TABLE
// Will be replaced with IDM_COMPOSER_TABLE_SELECTMENU
MENUITEM "{&S}" ID_SELECT_TABLE
// Will be replaced with IDM_COMPOSER_TABLE_PASTEMENU
MENUITEM "{&P}" ID_PASTE_TABLE
MENUITEM SEPARATOR
POPUP "&Align Table"
BEGIN
MENUITEM "&Left", ID_ALIGN_TABLE_LEFT
MENUITEM "&Center", ID_ALIGN_TABLE_CENTER
MENUITEM "&Right", ID_ALIGN_TABLE_RIGHT
END
MENUITEM SEPARATOR
// "&Join..." or "Spli&t Cell"
MENUITEM "{&J}" ID_MERGE_TABLE_CELLS
// "&Convert Text To Table" or "&Convert Table To Text"
MENUITEM "{&C}" ID_TABLE_TEXT_CONVERT
MENUITEM SEPARATOR
MENUITEM "&Properties" ID_PROPS_TABLE
END
// Translate this menu group string and the string IDS_TOOLS_MENU(in editor.rc) identically.
// The code tries to find this menu entry using the string resource.
POPUP "&Tools"
BEGIN
MENUITEM "Check &Spelling..." ID_CHECK_SPELLING
// Don't translate this entry. It is replaced at runtime.
MENUITEM "{Editor Plug-ins}" ID_EDITOR_PLUGINS_BASE
MENUITEM "Stop Active &Plug-in" ID_STOP_EDITOR_PLUGIN
END
POPUP "&Communicator"
BEGIN
MENUITEM "&Navigator\tCtrl+1", ID_TOOLS_WEB
MENUITEM "&Messenger Mailbox\tCtrl+2", ID_TOOLS_INBOX
MENUITEM "Collabra &Discussion Groups\tCtrl+3", ID_TOOLS_NEWS
MENUITEM "&Page Composer\tCtrl+4", ID_TOOLS_EDITOR
MENUITEM "&Conference\tCtrl+5", ID_WINDOW_LIVECALL
MENUITEM SEPARATOR
MENUITEM "Show Componen&t Bar", ID_WINDOW_TASKBAR
MENUITEM "Messa&ge Center\tCtrl+Shift+1", ID_TOOLS_MAIL
MENUITEM "&Address Book\tCtrl+Shift+2", ID_TOOLS_ADDRESSBOOK
POPUP "&Bookmarks"
BEGIN
MENUITEM "&Add Bookmark\tCtrl+D", ID_HOTLIST_ADDCURRENTTOHOTLIST
POPUP "&File Bookmark"
BEGIN
MENUITEM "Root", ID_BOOKMARKS_FILEROOT
END
MENUITEM "&Edit Bookmarks...", ID_HOTLIST_VIEW
MENUITEM SEPARATOR
POPUP "&Places"
BEGIN
MENUITEM "PLACEHOLDER", IDC_FIRST_PLACES_MENU_ID
END
MENUITEM SEPARATOR
END
MENUITEM "&History\tCtrl+H", ID_GO_HISTORY
MENUITEM "&Java Console", ID_OPTIONS_SHOWJAVACONSOLE
MENUITEM "&Security Info\tCtrl+Shift+I", ID_SECURITY
#ifdef MOZ_MAIL_NEWS
MENUITEM "Migration Tools", ID_MIGRATION_TOOLS
#endif
MENUITEM SEPARATOR
MENUITEM "{}", ID_WINDOW_WINDOW_0
END
POPUP "&Help"
BEGIN
MENUITEM "PLACEHOLDER", IDC_FIRST_HELP_MENU_ID
END
END
#endif
/////////////////////////////////////////////////////////////////////////////
//
// Accelerator