From f8717465c3a46921904a197385c8301381148ec4 Mon Sep 17 00:00:00 2001 From: Le Tan Date: Mon, 14 May 2018 20:39:49 +0800 Subject: [PATCH] refine QFormLayout policy for VSearcher on macOS --- src/utils/vutils.cpp | 13 +++++++++++++ src/utils/vutils.h | 4 ++++ src/vsearcher.cpp | 4 ++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/utils/vutils.cpp b/src/utils/vutils.cpp index 6e84fc07..338341e5 100644 --- a/src/utils/vutils.cpp +++ b/src/utils/vutils.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include "vorphanfile.h" #include "vnote.h" @@ -1514,3 +1515,15 @@ QPixmap VUtils::pixmapFromFile(const QString &p_filePath) qDebug() << "pixmapFromFile" << p_filePath << pixmap.isNull(); return pixmap; } + +QFormLayout *VUtils::getFormLayout() +{ + QFormLayout *layout = new QFormLayout(); + +#if defined(Q_OS_MACOS) || defined(Q_OS_MAC) + layout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow); + layout->setFormAlignment(Qt::AlignLeft | Qt::AlignTop); +#endif + + return layout; +} diff --git a/src/utils/vutils.h b/src/utils/vutils.h index 468fbe56..70ef6764 100644 --- a/src/utils/vutils.h +++ b/src/utils/vutils.h @@ -20,6 +20,7 @@ class QComboBox; class QWebEngineView; class QAction; class QTreeWidgetItem; +class QFormLayout; #if !defined(V_ASSERT) #define V_ASSERT(cond) ((!(cond)) ? qt_assert(#cond, __FILE__, __LINE__) : qt_noop()) @@ -327,6 +328,9 @@ public: static QPixmap pixmapFromFile(const QString &p_filePath); + // Return QFormLayout. + static QFormLayout *getFormLayout(); + // Regular expression for image link. // ![image title]( http://github.com/tamlok/vnote.jpg "alt text" =200x100) // Captured texts (need to be trimmed): diff --git a/src/vsearcher.cpp b/src/vsearcher.cpp index d5df6609..0468cadd 100644 --- a/src/vsearcher.cpp +++ b/src/vsearcher.cpp @@ -171,7 +171,7 @@ void VSearcher::setupUI() m_fuzzyCB->setEnabled(!checked); }); - QFormLayout *advLayout = new QFormLayout(); + QFormLayout *advLayout = VUtils::getFormLayout(); advLayout->addRow(tr("File pattern:"), m_filePatternCB); advLayout->addRow(tr("Engine:"), m_searchEngineCB); advLayout->addRow(m_caseSensitiveCB); @@ -226,7 +226,7 @@ void VSearcher::setupUI() updateNumLabel(p_count); }); - QFormLayout *formLayout = new QFormLayout(); + QFormLayout *formLayout = VUtils::getFormLayout(); formLayout->addRow(tr("Keywords:"), m_keywordCB); formLayout->addRow(tr("Scope:"), m_searchScopeCB); formLayout->addRow(tr("Object:"), m_searchObjectCB);