View | Details | Raw Unified | Return to issue 120017
Collapse All | Expand All

(-)gridwin.cxx (-2 / +14 lines)
Lines 880-885 Link Here
880
	long nSizeY  = 0;
880
	long nSizeY  = 0;
881
	long nHeight = 0;
881
	long nHeight = 0;
882
	pViewData->GetMergeSizePixel( nCol, nRow, nSizeX, nSizeY );
882
	pViewData->GetMergeSizePixel( nCol, nRow, nSizeX, nSizeY );
883
	nSizeY = pViewData->ToPixel(pDoc->GetRowHeight(nRow, nTab), pViewData->GetPPTY());
883
	Point aPos = pViewData->GetScrPos( nCol, nRow, eWhich );
884
	Point aPos = pViewData->GetScrPos( nCol, nRow, eWhich );
884
	if ( bLayoutRTL )
885
	if ( bLayoutRTL )
885
		aPos.X() -= nSizeX;
886
		aPos.X() -= nSizeX;
Lines 1674-1685 Link Here
1674
1675
1675
    if ( !bDouble && !bFormulaMode && rMEvt.IsLeft() )
1676
    if ( !bDouble && !bFormulaMode && rMEvt.IsLeft() )
1676
	{
1677
	{
1678
		SCsCOL nRealPosX;
1679
		SCsROW nRealPosY;
1680
		pViewData->GetPosFromPixel( aPos.X(), aPos.Y(), eWhich, nRealPosX, nRealPosY, false );//the real row/col
1681
		ScMergeFlagAttr* pRealPosAttr = (ScMergeFlagAttr*)
1682
									pDoc->GetAttr( nRealPosX, nRealPosY, nTab, ATTR_MERGE_FLAG );
1677
		ScMergeFlagAttr* pAttr = (ScMergeFlagAttr*)
1683
		ScMergeFlagAttr* pAttr = (ScMergeFlagAttr*)
1678
									pDoc->GetAttr( nPosX, nPosY, nTab, ATTR_MERGE_FLAG );
1684
									pDoc->GetAttr( nPosX, nPosY, nTab, ATTR_MERGE_FLAG );
1679
		if (pAttr->HasAutoFilter())
1685
		if( pRealPosAttr->HasAutoFilter() )
1680
		{
1686
		{
1687
			SC_MOD()->InputEnterHandler();	
1688
			if (DoAutoFilterButton( nRealPosX, nRealPosY, rMEvt))
1689
                return;
1690
		}
1691
		if( pAttr->HasAutoFilter() )
1692
		{
1681
			SC_MOD()->InputEnterHandler();	//Add for i85305
1693
			SC_MOD()->InputEnterHandler();	//Add for i85305
1682
			if (DoAutoFilterButton(nPosX, nPosY, rMEvt))
1694
			if (DoAutoFilterButton( nPosX, nPosY, rMEvt))
1683
                return;
1695
                return;
1684
		}
1696
		}
1685
		if (pAttr->HasButton())
1697
		if (pAttr->HasButton())
(-)gridwin2.cxx (+1 lines)
Lines 137-142 Link Here
137
137
138
    long nSizeX, nSizeY;
138
    long nSizeX, nSizeY;
139
    pViewData->GetMergeSizePixel( nCol, nRow, nSizeX, nSizeY );
139
    pViewData->GetMergeSizePixel( nCol, nRow, nSizeX, nSizeY );
140
	nSizeY = pViewData->ToPixel(pDoc->GetRowHeight(nRow, nTab), pViewData->GetPPTY());
140
    Size aScrSize(nSizeX-1, nSizeY-1);
141
    Size aScrSize(nSizeX-1, nSizeY-1);
141
142
142
    // Check if the mouse cursor is clicking on the popup arrow box.
143
    // Check if the mouse cursor is clicking on the popup arrow box.
(-)gridwin4.cxx (-2 / +8 lines)
Lines 1236-1242 Link Here
1236
			for (nCol=nX1; nCol<=nX2; nCol++)
1236
			for (nCol=nX1; nCol<=nX2; nCol++)
1237
			{
1237
			{
1238
				CellInfo* pInfo = &pThisRowInfo->pCellInfo[nCol+1];
1238
				CellInfo* pInfo = &pThisRowInfo->pCellInfo[nCol+1];
1239
				if ( pInfo->bAutoFilter && !pInfo->bHOverlapped && !pInfo->bVOverlapped )
1239
				if ( pInfo->bAutoFilter && !pInfo->bHOverlapped/* && !pInfo->bVOverlapped*/ )
1240
				{
1240
				{
1241
					if (!pQueryParam)
1241
					if (!pQueryParam)
1242
						pQueryParam = new ScQueryParam;
1242
						pQueryParam = new ScQueryParam;
Lines 1288-1294 Link Here
1288
                    bool bArrowState = bSimpleQuery && bColumnFound;
1288
                    bool bArrowState = bSimpleQuery && bColumnFound;
1289
					long	nSizeX;
1289
					long	nSizeX;
1290
					long	nSizeY;
1290
					long	nSizeY;
1291
					pViewData->GetMergeSizePixel( nCol, nRow, nSizeX, nSizeY );
1291
					SCCOL nStartCol= nCol;
1292
					SCROW nStartRow = nRow;
1293
					//if address(nCol,nRow) is not the start pos of the merge area, the value of the nSizeX will be incorrect, it will be the length of the cell.
1294
					//should first get the start pos of the merge area, then get the nSizeX through the start pos.
1295
					pDoc->ExtendOverlapped(nStartCol, nStartRow,nCol, nRow, nTab);//get nStartCol,nStartRow
1296
					pViewData->GetMergeSizePixel( nStartCol, nStartRow, nSizeX, nSizeY );//get nSizeX 
1297
					nSizeY = pViewData->ToPixel(pDoc->GetRowHeight(nRow, nTab), pViewData->GetPPTY());
1292
					Point aScrPos = pViewData->GetScrPos( nCol, nRow, eWhich );
1298
					Point aScrPos = pViewData->GetScrPos( nCol, nRow, eWhich );
1293
1299
1294
                    aCellBtn.setBoundingBox(aScrPos, Size(nSizeX-1, nSizeY-1), bLayoutRTL);
1300
                    aCellBtn.setBoundingBox(aScrPos, Size(nSizeX-1, nSizeY-1), bLayoutRTL);

Return to issue 120017