The edit headers menu items and toolbar can get out of sync.
You can even edit a header that's not inserted.

This quick patch makes the menu & the toolbar ghosting work the same.

I'm not convinced that headers & footers actually work at all :-), but it's
clear the ghosting of the menu & toolbar should be identical.

                -Bryce
Index: wp/ap/xp/ap_Toolbar_ActionSet.cpp
===================================================================
RCS file: /cvsroot/abi/src/wp/ap/xp/ap_Toolbar_ActionSet.cpp,v
retrieving revision 1.38
diff -u -r1.38 ap_Toolbar_ActionSet.cpp
--- wp/ap/xp/ap_Toolbar_ActionSet.cpp   2001/12/14 22:01:47     1.38
+++ wp/ap/xp/ap_Toolbar_ActionSet.cpp   2001/12/28 23:44:28
@@ -88,8 +88,8 @@
        _s(AP_TOOLBAR_ID_EDIT_COPY,             EV_TBIT_PushButton,             
"copy",                 AV_CHG_EMPTYSEL,        ap_ToolbarGetState_Selection);
        _s(AP_TOOLBAR_ID_EDIT_PASTE,    EV_TBIT_PushButton,             "paste",       
         AV_CHG_CLIPBOARD,       ap_ToolbarGetState_Clipboard);
 
-       _s(AP_TOOLBAR_ID_EDIT_HEADER,   EV_TBIT_PushButton,             "editHeader",  
         AV_CHG_NONE,    NULL);
-       _s(AP_TOOLBAR_ID_EDIT_FOOTER,   EV_TBIT_PushButton,             "editFooter",  
         AV_CHG_NONE,    NULL);
+       _s(AP_TOOLBAR_ID_EDIT_HEADER,   EV_TBIT_PushButton,             "editHeader",  
+         AV_CHG_FRAMEDATA,       ap_ToolbarGetState_HdrFtr);  // !!! Correct AV_CHG 
+used?
+       _s(AP_TOOLBAR_ID_EDIT_FOOTER,   EV_TBIT_PushButton,             "editFooter",  
+         AV_CHG_FRAMEDATA,       ap_ToolbarGetState_HdrFtr);  // !!! Correct AV_CHG 
+used?
        _s(AP_TOOLBAR_ID_EDIT_REMOVEHEADER,     EV_TBIT_PushButton,             
"removeHeader",         AV_CHG_MOTION,  ap_ToolbarGetState_HdrFtr);
        _s(AP_TOOLBAR_ID_EDIT_REMOVEFOOTER,     EV_TBIT_PushButton,             
"removeFooter",         AV_CHG_MOTION,  ap_ToolbarGetState_HdrFtr);
 
Index: wp/ap/xp/ap_Toolbar_Functions.cpp
===================================================================
RCS file: /cvsroot/abi/src/wp/ap/xp/ap_Toolbar_Functions.cpp,v
retrieving revision 1.41
diff -u -r1.41 ap_Toolbar_Functions.cpp
--- wp/ap/xp/ap_Toolbar_Functions.cpp   2001/12/14 22:01:47     1.41
+++ wp/ap/xp/ap_Toolbar_Functions.cpp   2001/12/28 23:44:28
@@ -136,14 +136,29 @@
        ABIWORD_VIEW;
        UT_ASSERT(pView);
 
+       XAP_Frame * pFrame = static_cast<XAP_Frame *> (pAV_View->getParentData());
+       UT_ASSERT(pFrame);
+
+       AP_FrameData *pFrameData = static_cast<AP_FrameData *> 
+(pFrame->getFrameData());
+       UT_ASSERT(pFrameData);
+
        if (pszState)
                *pszState = NULL;
 
        EV_Toolbar_ItemState s = EV_TIS_ZERO;
 
-
        switch (id)
        {
+    case AP_TOOLBAR_ID_EDIT_HEADER:
+        if (pFrameData->m_pViewMode == VIEW_NORMAL)
+            s = EV_TIS_Gray;
+        break;
+
+    case AP_TOOLBAR_ID_EDIT_FOOTER:
+        if (pFrameData->m_pViewMode == VIEW_NORMAL)
+            s = EV_TIS_Gray;
+        break;
+
        case AP_TOOLBAR_ID_EDIT_REMOVEHEADER:
                if (!pView->isHeaderOnPage()) 
                  s = EV_TIS_Gray;

Reply via email to