mirror of https://github.com/PCSX2/pcsx2.git
Fix resizing loop when the Windows Classic theme with some large resolutions have been chosen.
This commit is contained in:
parent
f0d85d7dcc
commit
d55aa66751
|
@ -30,7 +30,9 @@ END_EVENT_TABLE()
|
||||||
GenericListView::GenericListView(wxWindow* parent, GenericListViewColumn* columns, int columnCount)
|
GenericListView::GenericListView(wxWindow* parent, GenericListViewColumn* columns, int columnCount)
|
||||||
: wxListView(parent,wxID_ANY,wxDefaultPosition,wxDefaultSize,wxLC_VIRTUAL|wxLC_REPORT|wxLC_SINGLE_SEL|wxNO_BORDER)
|
: wxListView(parent,wxID_ANY,wxDefaultPosition,wxDefaultSize,wxLC_VIRTUAL|wxLC_REPORT|wxLC_SINGLE_SEL|wxNO_BORDER)
|
||||||
{
|
{
|
||||||
insertColumns(columns,columnCount);
|
m_isInResizeColumn = false;
|
||||||
|
|
||||||
|
insertColumns(columns, columnCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GenericListView::insertColumns(GenericListViewColumn* columns, int count)
|
void GenericListView::insertColumns(GenericListViewColumn* columns, int count)
|
||||||
|
@ -49,11 +51,22 @@ void GenericListView::insertColumns(GenericListViewColumn* columns, int count)
|
||||||
this->columns = columns;
|
this->columns = columns;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GenericListView::resizeColumn(int col, int width)
|
||||||
|
{
|
||||||
|
if (!m_isInResizeColumn) {
|
||||||
|
m_isInResizeColumn = true;
|
||||||
|
|
||||||
|
SetColumnWidth(col, width);
|
||||||
|
|
||||||
|
m_isInResizeColumn = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void GenericListView::resizeColumns(int totalWidth)
|
void GenericListView::resizeColumns(int totalWidth)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < GetColumnCount(); i++)
|
for (int i = 0; i < GetColumnCount(); i++)
|
||||||
{
|
{
|
||||||
SetColumnWidth(i,totalWidth*columns[i].size);
|
resizeColumn(i, totalWidth * columns[i].size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,8 +47,19 @@ protected:
|
||||||
virtual void onDoubleClick(int itemIndex, const wxPoint& point) { };
|
virtual void onDoubleClick(int itemIndex, const wxPoint& point) { };
|
||||||
virtual void onRightClick(int itemIndex, const wxPoint& point) { };
|
virtual void onRightClick(int itemIndex, const wxPoint& point) { };
|
||||||
virtual void onKeyDown(int key) { };
|
virtual void onKeyDown(int key) { };
|
||||||
|
|
||||||
|
// This flag prevents resizing loop in the resizeColumn method of this class
|
||||||
|
// when the Windows Classic theme with some large resolutions around larger
|
||||||
|
// than 1024 x 768 have been chosen.
|
||||||
|
//
|
||||||
|
// The resizing loop will occur by the ListView_SetColumnWidth macro in the
|
||||||
|
// Windows SDK called by the wxListCtrl::SetColumnWidth method when the
|
||||||
|
// conditions above have been chosen.
|
||||||
|
bool m_isInResizeColumn;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void insertColumns(GenericListViewColumn* columns, int count);
|
void insertColumns(GenericListViewColumn* columns, int count);
|
||||||
|
void resizeColumn(int col, int width);
|
||||||
void resizeColumns(int totalWidth);
|
void resizeColumns(int totalWidth);
|
||||||
wxString OnGetItemText(long item, long col) const;
|
wxString OnGetItemText(long item, long col) const;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue