Qt: Show flags for region instead of text

This commit is contained in:
Connor McLaughlin
2020-01-08 13:39:19 +10:00
parent 9402c7c145
commit ecc8109d43
11 changed files with 129 additions and 21 deletions

View File

@ -4,6 +4,8 @@
#include <QtGui/QKeyEvent>
#include <QtWidgets/QDialog>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QScrollBar>
#include <QtWidgets/QStyle>
#include <QtWidgets/QTableView>
#include <algorithm>
#include <array>
@ -34,7 +36,12 @@ void ResizeColumnsForTableView(QTableView* view, const std::initializer_list<int
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);
const int padding = 2;
const int scrollbar_width = ((view->verticalScrollBar() && view->verticalScrollBar()->isVisible()) ||
view->verticalScrollBarPolicy() == Qt::ScrollBarAlwaysOn) ?
view->style()->pixelMetric(QStyle::PM_ScrollBarExtent) :
0;
const int flex_width = std::max(view->width() - total_width - scrollbar_width - padding, 1);
int column_index = 0;
for (const int spec_width : widths)