This commit is contained in:
Martin Rotter 2017-10-22 19:54:22 +02:00
parent 35bb9c9a56
commit ad36c34298
5 changed files with 26 additions and 0 deletions

View File

@ -1,3 +1,9 @@
3.5.4
—————
Fixed:
▪ First item in itemviews is now selected when focus is gained. (#142)
3.5.3
—————

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);