Duckstation/src/duckstation-qt/qtutils.cpp

23 lines
617 B
C++
Raw Normal View History

2019-12-31 06:17:17 +00:00
#include "qtutils.h"
#include <QtWidgets/QTableView>
#include <algorithm>
namespace QtUtils {
void ResizeColumnsForTableView(QTableView* view, const std::initializer_list<int>& widths)
{
const int total_width =
std::accumulate(widths.begin(), widths.end(), 0, [](int a, int b) { return a + std::max(b, 0); });
const int flex_width = std::max(view->width() - total_width - 2, 1);
int column_index = 0;
for (const int spec_width : widths)
{
const int width = spec_width < 0 ? flex_width : spec_width;
view->setColumnWidth(column_index, width);
column_index++;
}
}
} // namespace QtUtils