mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
[BROWSEUI] Apply a hack to prevent truncating the address bar text.
CORE-13003
This commit is contained in:
parent
e49ef251b7
commit
ea0cc1c783
2 changed files with 30 additions and 2 deletions
|
@ -43,6 +43,7 @@ CAddressBand::CAddressBand()
|
||||||
fGoButton = NULL;
|
fGoButton = NULL;
|
||||||
fComboBox = NULL;
|
fComboBox = NULL;
|
||||||
fGoButtonShown = false;
|
fGoButtonShown = false;
|
||||||
|
fAdjustNeeded = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
CAddressBand::~CAddressBand()
|
CAddressBand::~CAddressBand()
|
||||||
|
@ -66,7 +67,10 @@ HRESULT STDMETHODCALLTYPE CAddressBand::GetBandInfo(DWORD dwBandID, DWORD dwView
|
||||||
{
|
{
|
||||||
if (pdbi->dwMask & DBIM_MINSIZE)
|
if (pdbi->dwMask & DBIM_MINSIZE)
|
||||||
{
|
{
|
||||||
|
if (fGoButtonShown)
|
||||||
pdbi->ptMinSize.x = 100;
|
pdbi->ptMinSize.x = 100;
|
||||||
|
else
|
||||||
|
pdbi->ptMinSize.x = 150;
|
||||||
pdbi->ptMinSize.y = 22;
|
pdbi->ptMinSize.y = 22;
|
||||||
}
|
}
|
||||||
if (pdbi->dwMask & DBIM_MAXSIZE)
|
if (pdbi->dwMask & DBIM_MAXSIZE)
|
||||||
|
@ -81,7 +85,10 @@ HRESULT STDMETHODCALLTYPE CAddressBand::GetBandInfo(DWORD dwBandID, DWORD dwView
|
||||||
}
|
}
|
||||||
if (pdbi->dwMask & DBIM_ACTUAL)
|
if (pdbi->dwMask & DBIM_ACTUAL)
|
||||||
{
|
{
|
||||||
|
if (fGoButtonShown)
|
||||||
pdbi->ptActual.x = 100;
|
pdbi->ptActual.x = 100;
|
||||||
|
else
|
||||||
|
pdbi->ptActual.x = 150;
|
||||||
pdbi->ptActual.y = 22;
|
pdbi->ptActual.y = 22;
|
||||||
}
|
}
|
||||||
if (pdbi->dwMask & DBIM_TITLE)
|
if (pdbi->dwMask & DBIM_TITLE)
|
||||||
|
@ -451,6 +458,8 @@ LRESULT CAddressBand::OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHan
|
||||||
long newHeight;
|
long newHeight;
|
||||||
long newWidth;
|
long newWidth;
|
||||||
|
|
||||||
|
fAdjustNeeded = 1;
|
||||||
|
|
||||||
if (fGoButtonShown == false)
|
if (fGoButtonShown == false)
|
||||||
{
|
{
|
||||||
bHandled = FALSE;
|
bHandled = FALSE;
|
||||||
|
@ -505,6 +514,24 @@ LRESULT CAddressBand::OnWindowPosChanging(UINT uMsg, WPARAM wParam, LPARAM lPara
|
||||||
positionInfoCopy = *reinterpret_cast<WINDOWPOS *>(lParam);
|
positionInfoCopy = *reinterpret_cast<WINDOWPOS *>(lParam);
|
||||||
newHeight = positionInfoCopy.cy;
|
newHeight = positionInfoCopy.cy;
|
||||||
newWidth = positionInfoCopy.cx;
|
newWidth = positionInfoCopy.cx;
|
||||||
|
|
||||||
|
/*
|
||||||
|
Sometimes when we get here newWidth = 100 which comes from GetBandInfo and is less than the 200 that we need.
|
||||||
|
We need room for the "Address" text (50 pixels), the "GoButton" (50 pixels), the left and right borders (30 pixels)
|
||||||
|
the icon (20 pixels) and the ComboBox (50 pixels) for handling the text of the current directory. This is 200 pixels.
|
||||||
|
When newWidth = 100 the Addressband ComboBox will only have a single character because it becomes 2 pixels wide.
|
||||||
|
The hack below readjusts the width to the minimum required to allow seeing the whole text and prints out a debug message.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if ((newWidth < 200) && (newWidth != 0))
|
||||||
|
{
|
||||||
|
if (fAdjustNeeded == 1)
|
||||||
|
{
|
||||||
|
ERR("CORE-13003 HACK: Addressband ComboBox width readjusted from %ld to 200.\n", newWidth);
|
||||||
|
newWidth = 200;
|
||||||
|
fAdjustNeeded = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
SendMessage(fGoButton, TB_GETITEMRECT, 0, reinterpret_cast<LPARAM>(&buttonBounds));
|
SendMessage(fGoButton, TB_GETITEMRECT, 0, reinterpret_cast<LPARAM>(&buttonBounds));
|
||||||
|
|
||||||
buttonWidth = buttonBounds.right - buttonBounds.left;
|
buttonWidth = buttonBounds.right - buttonBounds.left;
|
||||||
|
|
|
@ -43,6 +43,7 @@ private:
|
||||||
bool fGoButtonShown;
|
bool fGoButtonShown;
|
||||||
HIMAGELIST m_himlNormal;
|
HIMAGELIST m_himlNormal;
|
||||||
HIMAGELIST m_himlHot;
|
HIMAGELIST m_himlHot;
|
||||||
|
INT fAdjustNeeded;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CAddressBand();
|
CAddressBand();
|
||||||
|
|
Loading…
Reference in a new issue