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
|
3.5.3
|
||||||
—————
|
—————
|
||||||
|
|
||||||
|
@ -454,6 +454,14 @@ void FeedsView::switchVisibility() {
|
|||||||
setVisible(!isVisible());
|
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) {
|
void FeedsView::expandItemDelayed(const QModelIndex& idx) {
|
||||||
QTimer::singleShot(100, this, [ = ] {
|
QTimer::singleShot(100, this, [ = ] {
|
||||||
setExpanded(m_proxyModel->mapFromSource(idx), true);
|
setExpanded(m_proxyModel->mapFromSource(idx), true);
|
||||||
|
@ -86,6 +86,7 @@ class FeedsView : public QTreeView {
|
|||||||
void openMessagesInNewspaperView(RootItem* root, const QList<Message>& messages);
|
void openMessagesInNewspaperView(RootItem* root, const QList<Message>& messages);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
void focusInEvent(QFocusEvent* event);
|
||||||
void selectionChanged(const QItemSelection& selected, const QItemSelection& deselected);
|
void selectionChanged(const QItemSelection& selected, const QItemSelection& deselected);
|
||||||
void keyPressEvent(QKeyEvent* event);
|
void keyPressEvent(QKeyEvent* event);
|
||||||
void contextMenuEvent(QContextMenuEvent* event);
|
void contextMenuEvent(QContextMenuEvent* event);
|
||||||
|
@ -138,6 +138,7 @@ void MessagesView::reloadSelections() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MessagesView::setupAppearance() {
|
void MessagesView::setupAppearance() {
|
||||||
|
setFocusPolicy(Qt::FocusPolicy::StrongFocus);
|
||||||
setUniformRowHeights(true);
|
setUniformRowHeights(true);
|
||||||
setAcceptDrops(false);
|
setAcceptDrops(false);
|
||||||
setDragEnabled(false);
|
setDragEnabled(false);
|
||||||
@ -149,6 +150,7 @@ void MessagesView::setupAppearance() {
|
|||||||
setSortingEnabled(true);
|
setSortingEnabled(true);
|
||||||
setAllColumnsShowFocus(false);
|
setAllColumnsShowFocus(false);
|
||||||
setSelectionMode(QAbstractItemView::ExtendedSelection);
|
setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||||
|
|
||||||
setItemDelegate(new StyledItemDelegateWithoutFocus(this));
|
setItemDelegate(new StyledItemDelegateWithoutFocus(this));
|
||||||
header()->setDefaultSectionSize(MESSAGES_VIEW_DEFAULT_COL);
|
header()->setDefaultSectionSize(MESSAGES_VIEW_DEFAULT_COL);
|
||||||
header()->setMinimumSectionSize(MESSAGES_VIEW_MINIMUM_COL);
|
header()->setMinimumSectionSize(MESSAGES_VIEW_MINIMUM_COL);
|
||||||
@ -157,6 +159,14 @@ void MessagesView::setupAppearance() {
|
|||||||
header()->setSortIndicatorShown(true);
|
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) {
|
void MessagesView::keyPressEvent(QKeyEvent* event) {
|
||||||
QTreeView::keyPressEvent(event);
|
QTreeView::keyPressEvent(event);
|
||||||
|
|
||||||
|
@ -93,6 +93,7 @@ class MessagesView : public QTreeView {
|
|||||||
void setupAppearance();
|
void setupAppearance();
|
||||||
|
|
||||||
// Event reimplementations.
|
// Event reimplementations.
|
||||||
|
void focusInEvent(QFocusEvent* event);
|
||||||
void contextMenuEvent(QContextMenuEvent* event);
|
void contextMenuEvent(QContextMenuEvent* event);
|
||||||
void mousePressEvent(QMouseEvent* event);
|
void mousePressEvent(QMouseEvent* event);
|
||||||
void keyPressEvent(QKeyEvent* event);
|
void keyPressEvent(QKeyEvent* event);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user