From fbe9aea7d13d68e914262584e6228ef177c695c5 Mon Sep 17 00:00:00 2001 From: ncyellow Date: Wed, 27 Mar 2019 23:40:54 +0300 Subject: [PATCH] Xrefs select top item (#1401) * closes #1363 select top item from refs or xrefs --- src/common/Helpers.cpp | 14 ++++++++++++++ src/common/Helpers.h | 2 +- src/dialogs/XrefsDialog.cpp | 6 ++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/common/Helpers.cpp b/src/common/Helpers.cpp index 577a166d..f94b9455 100644 --- a/src/common/Helpers.cpp +++ b/src/common/Helpers.cpp @@ -72,6 +72,20 @@ QTreeWidgetItem *appendRow(QTreeWidget *tw, const QString &str, const QString &s return tempItem; } +/** + * @brief select first item of QTreeWidget if tree is not empty. + * @param tw - QTreeWidget instance + * @return true - setCurrentItem was set, false - tree is empty + */ +bool selectFirstItem(QTreeWidget* tw) +{ + if (tw->topLevelItem(0)) { + tw->setCurrentItem(tw->topLevelItem(0)); + return true; + } + return false; +} + void setVerticalScrollMode(QAbstractItemView *tw) { tw->setVerticalScrollMode(scrollMode()); diff --git a/src/common/Helpers.h b/src/common/Helpers.h index 0ecebe9c..b6a48994 100644 --- a/src/common/Helpers.h +++ b/src/common/Helpers.h @@ -19,7 +19,7 @@ namespace qhelpers { QString formatBytecount(const long bytecount); void adjustColumns(QTreeView *tv, int columnCount, int padding); void adjustColumns(QTreeWidget *tw, int padding); - +bool selectFirstItem(QTreeWidget* tw); QTreeWidgetItem *appendRow(QTreeWidget *tw, const QString &str, const QString &str2 = QString(), const QString &str3 = QString(), const QString &str4 = QString(), const QString &str5 = QString()); diff --git a/src/dialogs/XrefsDialog.cpp b/src/dialogs/XrefsDialog.cpp index 4821076c..53129a8b 100644 --- a/src/dialogs/XrefsDialog.cpp +++ b/src/dialogs/XrefsDialog.cpp @@ -64,6 +64,12 @@ void XrefsDialog::fillRefs(QList refs, QList x // Adjust columns to content qhelpers::adjustColumns(ui->toTreeWidget, 0); + + // try to select first item from refs or xrefs + if (!qhelpers::selectFirstItem(ui->toTreeWidget)) { + qhelpers::selectFirstItem(ui->fromTreeWidget); + } + } void XrefsDialog::on_fromTreeWidget_itemDoubleClicked(QTreeWidgetItem *item, int column)