mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2024-10-23 23:55:42 +00:00
23 lines
617 B
C++
23 lines
617 B
C++
|
#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
|