diff --git a/src/app/VolumeParamsDialog.cpp b/src/app/VolumeParamsDialog.cpp index 9a2c17e..6a881cd 100644 --- a/src/app/VolumeParamsDialog.cpp +++ b/src/app/VolumeParamsDialog.cpp @@ -1,10 +1,12 @@ #include "VolumeParamsDialog.hpp" +#include #include #include #include #include +#include #include #include #include @@ -141,6 +143,13 @@ VolumeParamsDialog::VolumeParamsDialog(const QVector& sources, mount_->setModel(model); mount_->setView(view); view->expandAll(); + // 下拉面板加宽:默认只取 combo 宽度+缩进 → 长名被截。按最长节点名的文本宽 + 缩进/箭头/滚动条余量 + // 定最小宽,保证 GS/TM 全名可见(用户反馈被遮住)。 + int maxTextW = 0; + const QFontMetrics fm = view->fontMetrics(); + for (const auto& n : structure) + maxTextW = std::max(maxTextW, fm.horizontalAdvance(QString::fromStdString(n.name))); + view->setMinimumWidth(std::max(geopro::app::scaledPx(260), maxTextW + geopro::app::scaledPx(120))); // 默认选中:指定的 defaultMountId,否则首个节点。view 当前项决定 mountTargetId;combo 显示尽力。 QStandardItem* def = mItems.value(defaultMountId, nullptr); if (!def && model->rowCount() > 0) def = model->item(0);