@@ -42,7 +42,8 @@ constexpr int kMagicNumber = 0x502C9510;
|
|||||||
StretchHeaderView::StretchHeaderView(const Qt::Orientation orientation, QWidget *parent)
|
StretchHeaderView::StretchHeaderView(const Qt::Orientation orientation, QWidget *parent)
|
||||||
: QHeaderView(orientation, parent),
|
: QHeaderView(orientation, parent),
|
||||||
stretch_enabled_(false),
|
stretch_enabled_(false),
|
||||||
in_mouse_move_event_(false) {
|
in_mouse_move_event_(false),
|
||||||
|
forced_resize_logical_index_(-1) {
|
||||||
|
|
||||||
setDefaultSectionSize(100);
|
setDefaultSectionSize(100);
|
||||||
setMinimumSectionSize(30);
|
setMinimumSectionSize(30);
|
||||||
@@ -326,6 +327,11 @@ void StretchHeaderView::SectionResized(const int logical_index, const int old_si
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (logical_index == forced_resize_logical_index_) {
|
||||||
|
forced_resize_logical_index_ = -1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (in_mouse_move_event_) {
|
if (in_mouse_move_event_) {
|
||||||
bool resized = false;
|
bool resized = false;
|
||||||
if (new_size >= minimumSectionSize()) {
|
if (new_size >= minimumSectionSize()) {
|
||||||
@@ -356,6 +362,7 @@ void StretchHeaderView::SectionResized(const int logical_index, const int old_si
|
|||||||
}
|
}
|
||||||
if (!resized) {
|
if (!resized) {
|
||||||
in_mouse_move_event_ = true;
|
in_mouse_move_event_ = true;
|
||||||
|
forced_resize_logical_index_ = logical_index;
|
||||||
resizeSection(logical_index, old_size);
|
resizeSection(logical_index, old_size);
|
||||||
in_mouse_move_event_ = false;
|
in_mouse_move_event_ = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ class StretchHeaderView : public QHeaderView {
|
|||||||
QVector<ColumnWidthType> column_widths_;
|
QVector<ColumnWidthType> column_widths_;
|
||||||
|
|
||||||
bool in_mouse_move_event_;
|
bool in_mouse_move_event_;
|
||||||
|
int forced_resize_logical_index_;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // STRETCHHEADERVIEW_H
|
#endif // STRETCHHEADERVIEW_H
|
||||||
|
|||||||
Reference in New Issue
Block a user