Skip to content

Commit

Permalink
Add filename column to DolphinWX
Browse files Browse the repository at this point in the history
  • Loading branch information
ShadowsFriend committed Oct 7, 2015
1 parent ec28d7d commit 1eafd45
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 6 deletions.
2 changes: 2 additions & 0 deletions Source/Core/Core/ConfigManager.cpp
Expand Up @@ -212,6 +212,7 @@ void SConfig::SaveGameListSettings(IniFile& ini)
gamelist->Set("ColumnNotes", m_showMakerColumn);
gamelist->Set("ColumnID", m_showIDColumn);
gamelist->Set("ColumnRegion", m_showRegionColumn);
gamelist->Set("ColumnFname", m_showFnameColumn);
gamelist->Set("ColumnSize", m_showSizeColumn);
gamelist->Set("ColumnState", m_showStateColumn);
}
Expand Down Expand Up @@ -461,6 +462,7 @@ void SConfig::LoadGameListSettings(IniFile& ini)
gamelist->Get("ColumnNotes", &m_showMakerColumn, true);
gamelist->Get("ColumnID", &m_showIDColumn, false);
gamelist->Get("ColumnRegion", &m_showRegionColumn, true);
gamelist->Get("ColumnFname", &m_showFnameColumn, false);
gamelist->Get("ColumnSize", &m_showSizeColumn, true);
gamelist->Get("ColumnState", &m_showStateColumn, true);
}
Expand Down
1 change: 1 addition & 0 deletions Source/Core/Core/ConfigManager.h
Expand Up @@ -234,6 +234,7 @@ struct SConfig : NonCopyable
bool m_showMakerColumn;
bool m_showIDColumn;
bool m_showRegionColumn;
bool m_showFnameColumn;
bool m_showSizeColumn;
bool m_showStateColumn;

Expand Down
5 changes: 5 additions & 0 deletions Source/Core/DolphinWX/FrameTools.cpp
Expand Up @@ -359,6 +359,8 @@ wxMenuBar* CFrame::CreateMenu()
columnsMenu->Check(IDM_SHOW_ID, SConfig::GetInstance().m_showIDColumn);
columnsMenu->AppendCheckItem(IDM_SHOW_REGION, _("Region"));
columnsMenu->Check(IDM_SHOW_REGION, SConfig::GetInstance().m_showRegionColumn);
columnsMenu->AppendCheckItem(IDM_SHOW_FNAME, _("File Name"));
columnsMenu->Check(IDM_SHOW_FNAME, SConfig::GetInstance().m_showFnameColumn);
columnsMenu->AppendCheckItem(IDM_SHOW_SIZE, _("File Size"));
columnsMenu->Check(IDM_SHOW_SIZE, SConfig::GetInstance().m_showSizeColumn);
columnsMenu->AppendCheckItem(IDM_SHOW_STATE, _("State"));
Expand Down Expand Up @@ -2010,6 +2012,9 @@ void CFrame::OnChangeColumnsVisible(wxCommandEvent& event)
case IDM_SHOW_REGION:
SConfig::GetInstance().m_showRegionColumn = !SConfig::GetInstance().m_showRegionColumn;
break;
case IDM_SHOW_FNAME:
SConfig::GetInstance().m_showFnameColumn = !SConfig::GetInstance().m_showFnameColumn;
break;
case IDM_SHOW_SIZE:
SConfig::GetInstance().m_showSizeColumn = !SConfig::GetInstance().m_showSizeColumn;
break;
Expand Down
27 changes: 21 additions & 6 deletions Source/Core/DolphinWX/GameListCtrl.cpp
Expand Up @@ -107,6 +107,12 @@ static int CompareGameListItems(const GameListItem* iso1, const GameListItem* is
if (iso1->GetCountry() < iso2->GetCountry())
return -1 * t;
return 0;
case CGameListCtrl::COLUMN_FNAME:
if (iso1->GetFileName() > iso2->GetFileName())
return 1 * t;
if (iso1->GetFileName() < iso2->GetFileName())
return -1 * t;
return 0;
case CGameListCtrl::COLUMN_SIZE:
if (iso1->GetFileSize() > iso2->GetFileSize())
return 1 * t;
Expand Down Expand Up @@ -267,6 +273,7 @@ void CGameListCtrl::Update()
InsertColumn(COLUMN_MAKER, _("Maker"));
InsertColumn(COLUMN_ID, _("ID"));
InsertColumn(COLUMN_COUNTRY, "");
InsertColumn(COLUMN_FNAME, _("File"));
InsertColumn(COLUMN_SIZE, _("Size"));
InsertColumn(COLUMN_EMULATION_STATE, _("State"));

Expand All @@ -284,6 +291,7 @@ void CGameListCtrl::Update()
SetColumnWidth(COLUMN_MAKER, SConfig::GetInstance().m_showMakerColumn ? 150 + platform_padding : 0);
SetColumnWidth(COLUMN_ID, SConfig::GetInstance().m_showIDColumn ? 75 + platform_padding : 0);
SetColumnWidth(COLUMN_COUNTRY, SConfig::GetInstance().m_showRegionColumn ? 32 + platform_padding : 0);
SetColumnWidth(COLUMN_FNAME, SConfig::GetInstance().m_showFnameColumn ? 100 + platform_padding : 0);
SetColumnWidth(COLUMN_EMULATION_STATE, SConfig::GetInstance().m_showStateColumn ? 50 + platform_padding : 0);

// add all items
Expand Down Expand Up @@ -401,6 +409,9 @@ void CGameListCtrl::InsertItemInReportView(long _Index)
// Country
SetItemColumnImage(_Index, COLUMN_COUNTRY, m_FlagImageIndex[rISOFile.GetCountry()]);

// File name
SetItem(_Index, COLUMN_FNAME, wxFileNameFromPath(rISOFile.GetFileName()), -1);

// File size
SetItem(_Index, COLUMN_SIZE, NiceSizeFormat(rISOFile.GetFileSize()), -1);

Expand Down Expand Up @@ -615,7 +626,8 @@ void CGameListCtrl::ScanForISOs()

void CGameListCtrl::OnColBeginDrag(wxListEvent& event)
{
if (event.GetColumn() != COLUMN_TITLE && event.GetColumn() != COLUMN_MAKER)
if (event.GetColumn() != COLUMN_TITLE && event.GetColumn() != COLUMN_MAKER &&
event.GetColumn() != COLUMN_FNAME)
event.Veto();
}

Expand Down Expand Up @@ -1265,22 +1277,25 @@ void CGameListCtrl::AutomaticColumnWidth()
+ GetColumnWidth(COLUMN_EMULATION_STATE));

// We hide the Maker column if the window is too small
if (resizable > 400)
if (resizable > 425)
{
if (SConfig::GetInstance().m_showMakerColumn)
{
SetColumnWidth(COLUMN_TITLE, resizable / 2);
SetColumnWidth(COLUMN_MAKER, resizable / 2);
SetColumnWidth(COLUMN_TITLE, resizable / 3);
SetColumnWidth(COLUMN_MAKER, resizable / 3);
SetColumnWidth(COLUMN_FNAME, resizable / 3);
}
else
{
SetColumnWidth(COLUMN_TITLE, resizable);
SetColumnWidth(COLUMN_TITLE, resizable / 2);
SetColumnWidth(COLUMN_FNAME, resizable / 2);
}
}
else
{
SetColumnWidth(COLUMN_TITLE, resizable);
SetColumnWidth(COLUMN_TITLE, resizable / 2);
SetColumnWidth(COLUMN_MAKER, 0);
SetColumnWidth(COLUMN_FNAME, resizable / 2);
}
}
}
Expand Down
1 change: 1 addition & 0 deletions Source/Core/DolphinWX/GameListCtrl.h
Expand Up @@ -48,6 +48,7 @@ class CGameListCtrl : public wxListCtrl
COLUMN_MAKER,
COLUMN_ID,
COLUMN_COUNTRY,
COLUMN_FNAME,
COLUMN_SIZE,
COLUMN_EMULATION_STATE,
NUMBER_OF_COLUMN
Expand Down
1 change: 1 addition & 0 deletions Source/Core/DolphinWX/Globals.h
Expand Up @@ -181,6 +181,7 @@ enum
IDM_SHOW_MAKER,
IDM_SHOW_ID,
IDM_SHOW_REGION,
IDM_SHOW_FNAME,
IDM_SHOW_SIZE,
IDM_SHOW_STATE,

Expand Down

0 comments on commit 1eafd45

Please sign in to comment.