|
|
@@ -93,6 +93,7 @@ void VFileList::setupUI()
|
|
|
fileList->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
|
|
fileList->setObjectName("FileList");
|
|
|
fileList->setAttribute(Qt::WA_MacShowFocusRect, false);
|
|
|
+ fileList->setMouseTracking(true);
|
|
|
|
|
|
QVBoxLayout *mainLayout = new QVBoxLayout;
|
|
|
mainLayout->addLayout(titleLayout);
|
|
|
@@ -103,6 +104,15 @@ void VFileList::setupUI()
|
|
|
this, &VFileList::contextMenuRequested);
|
|
|
connect(fileList, &QListWidget::itemClicked,
|
|
|
this, &VFileList::handleItemClicked);
|
|
|
+ connect(fileList, &QListWidget::itemEntered,
|
|
|
+ this, &VFileList::showStatusTipAboutItem);
|
|
|
+ connect(fileList, &QListWidget::currentItemChanged,
|
|
|
+ this, [this](QListWidgetItem *p_cur, QListWidgetItem *p_pre) {
|
|
|
+ Q_UNUSED(p_pre);
|
|
|
+ if (p_cur) {
|
|
|
+ showStatusTipAboutItem(p_cur);
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
setLayout(mainLayout);
|
|
|
}
|
|
|
@@ -734,6 +744,24 @@ void VFileList::handleItemClicked(QListWidgetItem *p_item)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+void VFileList::showStatusTipAboutItem(QListWidgetItem *p_item)
|
|
|
+{
|
|
|
+ Q_ASSERT(p_item);
|
|
|
+ const VNoteFile *file = getVFile(p_item);
|
|
|
+ const QStringList &tags = file->getTags();
|
|
|
+ QString tag;
|
|
|
+ for (int i = 0; i < tags.size(); ++i) {
|
|
|
+ if (i == 0) {
|
|
|
+ tag = "\t[" + tags[i] + "]";
|
|
|
+ } else {
|
|
|
+ tag += " [" + tags[i] + "]";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ QString tip(file->getName() + tag);
|
|
|
+ g_mainWin->showStatusMessage(tip);
|
|
|
+}
|
|
|
+
|
|
|
void VFileList::activateItem(QListWidgetItem *p_item, bool p_restoreFocus)
|
|
|
{
|
|
|
if (!p_item) {
|
|
|
@@ -1347,11 +1375,19 @@ void VFileList::updateViewMenu(QMenu *p_menu)
|
|
|
|
|
|
void VFileList::sortFileList(ViewOrder p_order)
|
|
|
{
|
|
|
+ if (!m_directory) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
QVector<VNoteFile *> files = m_directory->getFiles();
|
|
|
+ if (files.isEmpty()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
sortFiles(files, p_order);
|
|
|
|
|
|
- Q_ASSERT(files.size() == fileList->count());
|
|
|
int cnt = files.size();
|
|
|
+ Q_ASSERT(cnt == fileList->count());
|
|
|
for (int i = 0; i < cnt; ++i) {
|
|
|
int row = -1;
|
|
|
for (int j = i; j < cnt; ++j) {
|