Fixed #142.
This commit is contained in:
parent
35bb9c9a56
commit
ad36c34298
@ -1,3 +1,9 @@
|
||||
3.5.4
|
||||
—————
|
||||
|
||||
Fixed:
|
||||
▪ First item in itemviews is now selected when focus is gained. (#142)
|
||||
|
||||
3.5.3
|
||||
—————
|
||||
|
||||
|
@ -454,6 +454,14 @@ void FeedsView::switchVisibility() {
|
||||
setVisible(!isVisible());
|
||||
}
|
||||
|
||||
void FeedsView::focusInEvent(QFocusEvent* event) {
|
||||
QTreeView::focusInEvent(event);
|
||||
|
||||
if (currentIndex().isValid()) {
|
||||
selectionModel()->select(currentIndex(), QItemSelectionModel::SelectionFlag::Select | QItemSelectionModel::SelectionFlag::Rows);
|
||||
}
|
||||
}
|
||||
|
||||
void FeedsView::expandItemDelayed(const QModelIndex& idx) {
|
||||
QTimer::singleShot(100, this, [ = ] {
|
||||
setExpanded(m_proxyModel->mapFromSource(idx), true);
|
||||
|
@ -86,6 +86,7 @@ class FeedsView : public QTreeView {
|
||||
void openMessagesInNewspaperView(RootItem* root, const QList<Message>& messages);
|
||||
|
||||
protected:
|
||||
void focusInEvent(QFocusEvent* event);
|
||||
void selectionChanged(const QItemSelection& selected, const QItemSelection& deselected);
|
||||
void keyPressEvent(QKeyEvent* event);
|
||||
void contextMenuEvent(QContextMenuEvent* event);
|
||||
|
@ -138,6 +138,7 @@ void MessagesView::reloadSelections() {
|
||||
}
|
||||
|
||||
void MessagesView::setupAppearance() {
|
||||
setFocusPolicy(Qt::FocusPolicy::StrongFocus);
|
||||
setUniformRowHeights(true);
|
||||
setAcceptDrops(false);
|
||||
setDragEnabled(false);
|
||||
@ -149,6 +150,7 @@ void MessagesView::setupAppearance() {
|
||||
setSortingEnabled(true);
|
||||
setAllColumnsShowFocus(false);
|
||||
setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
|
||||
setItemDelegate(new StyledItemDelegateWithoutFocus(this));
|
||||
header()->setDefaultSectionSize(MESSAGES_VIEW_DEFAULT_COL);
|
||||
header()->setMinimumSectionSize(MESSAGES_VIEW_MINIMUM_COL);
|
||||
@ -157,6 +159,14 @@ void MessagesView::setupAppearance() {
|
||||
header()->setSortIndicatorShown(true);
|
||||
}
|
||||
|
||||
void MessagesView::focusInEvent(QFocusEvent* event) {
|
||||
QTreeView::focusInEvent(event);
|
||||
|
||||
if (currentIndex().isValid()) {
|
||||
selectionModel()->select(currentIndex(), QItemSelectionModel::SelectionFlag::Select | QItemSelectionModel::SelectionFlag::Rows);
|
||||
}
|
||||
}
|
||||
|
||||
void MessagesView::keyPressEvent(QKeyEvent* event) {
|
||||
QTreeView::keyPressEvent(event);
|
||||
|
||||
|
@ -93,6 +93,7 @@ class MessagesView : public QTreeView {
|
||||
void setupAppearance();
|
||||
|
||||
// Event reimplementations.
|
||||
void focusInEvent(QFocusEvent* event);
|
||||
void contextMenuEvent(QContextMenuEvent* event);
|
||||
void mousePressEvent(QMouseEvent* event);
|
||||
void keyPressEvent(QKeyEvent* event);
|
||||
|
Loading…
x
Reference in New Issue
Block a user