- Time extended in which the tooltip remains visible. (Windows PTFs)

- Better fix/location (wxWidgets source) for the MenuPopup fix. (Windows PTFs)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7475 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
gnick79 2011-04-20 15:25:21 +00:00
parent f7423ea916
commit 156c914185
9 changed files with 24 additions and 23 deletions

View File

@ -37,6 +37,8 @@ public:
static void Enable(bool flag);
// set the delay after which the tooltip appears
static void SetDelay(long milliseconds);
// set the delay after which the tooltip disappears
static void SetAutoPop(long milliseconds);
// implementation only from now on
// -------------------------------

View File

@ -88,6 +88,16 @@ public:
m_bOwnerDrawn = true;
}
// Same as wxOwnerDrawn::SetMarginWidth() but does not affect
// ms_nLastMarginWidth. Exists solely to work around bug #4068,
// and will not exist in wxWidgets 2.9.0 and later.
void SetOwnMarginWidth(int nWidth)
{
m_nMarginWidth = (size_t) nWidth;
if ( ((size_t) nWidth) != ms_nDefaultMarginWidth )
m_bOwnerDrawn = true;
}
int GetMarginWidth() const { return (int) m_nMarginWidth; }
static int GetDefaultMarginWidth() { return (int) ms_nDefaultMarginWidth; }

View File

@ -160,7 +160,7 @@ wxCheckListBoxItem::wxCheckListBoxItem(wxCheckListBox *pParent, size_t nIndex)
// fix appearance for check list boxes: they don't look quite the same as
// menu icons
SetMarginWidth(::GetSystemMetrics(SM_CXMENUCHECK) -
SetOwnMarginWidth(::GetSystemMetrics(SM_CXMENUCHECK) -
2*wxSystemSettings::GetMetric(wxSYS_EDGE_X) + 1);
SetBackgroundColour(pParent->GetBackgroundColour());
}

View File

@ -204,6 +204,13 @@ void wxToolTip::SetDelay(long milliseconds)
TTDT_INITIAL, milliseconds);
}
void wxToolTip::SetAutoPop(long milliseconds)
{
SendTooltipMessageToAll(ms_hwndTT, TTM_SETDELAYTIME,
TTDT_AUTOPOP, milliseconds);
}
// ---------------------------------------------------------------------------
// implementation helpers
// ---------------------------------------------------------------------------

View File

@ -429,6 +429,8 @@ CFrame::CFrame(wxFrame* parent,
// Create cursors
#ifdef _WIN32
CreateCursor();
SetToolTip(_(""));
GetToolTip()->SetAutoPop(25000);
#endif
#if defined(HAVE_XRANDR) && HAVE_XRANDR

View File

@ -25,6 +25,7 @@
#include <wx/listctrl.h>
#include <wx/artprov.h>
#include <wx/aui/aui.h>
#include <wx/tooltip.h>
#include <string>
#include <vector>

View File

@ -136,12 +136,6 @@ BEGIN_EVENT_TABLE(CGameListCtrl, wxListCtrl)
EVT_MENU(IDM_INSTALLWAD, CGameListCtrl::OnInstallWAD)
END_EVENT_TABLE()
#ifdef _WIN32
int CGameListCtrl::MarginWidth(wxOwnerDrawn().GetMarginWidth());
#else
int CGameListCtrl::MarginWidth(0);
#endif
CGameListCtrl::CGameListCtrl(wxWindow* parent, const wxWindowID id, const
wxPoint& pos, const wxSize& size, long style)
: wxListCtrl(parent, id, pos, size, style), toolTip(0)
@ -966,15 +960,7 @@ void CGameListCtrl::OnLeftClick(wxMouseEvent& event)
}
void CGameListCtrl::OnRightClick(wxMouseEvent& event)
{
#ifdef _WIN32
// [HACK]
// Restore initial ms_nLastMarginWidth's value.
// This should be done whenever a popup menu is created at run-time
wxOwnerDrawn().SetMarginWidth(MarginWidth);
#endif
{
// Focus the clicked item.
int flags;
long item = HitTest(event.GetPosition(), flags);

View File

@ -96,11 +96,6 @@ private:
void SetBackgroundColor();
void ScanForISOs();
// stores inital ms_nLastMarginWidth's value. This is a static/shared wxWidgets member
// affected by an 'illegal' access from the wxCheckListBox controls.
// NOTE: workaround valid and necessary only with v.2.8.x, since newer versions have fixed this issue.
static int MarginWidth;
DECLARE_EVENT_TABLE()
// events

View File

@ -237,8 +237,6 @@ static wxString FormatString(const GameListItem *item)
return title;
}
// TODO: implement some hack to increase the tooltip display duration, because some of these are way too long for anyone to read in 5 seconds.
wxString profile_tooltip = wxTRANSLATE("Selects which game should be affected by the configuration changes done in this dialog.\nThe (Default) profile affects the standard settings used for every game.");
wxString adapter_tooltip = wxTRANSLATE("Select a hardware adapter to use.\nWhen in doubt, use the first one");
wxString ar_tooltip = wxTRANSLATE("Select what aspect ratio to use when rendering:\nAuto: Use the native aspect ratio (4:3)\nForce 16:9: Stretch the picture to an aspect ratio of 16:9.\nForce 4:3: Stretch the picture to an aspect ratio of 4:3.\nStretch to window: Stretch the picture to the window size.");