From 9dd60d60b3406e2537b830c6bcf4abd3faf4e21d Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=BCrgen=20Spitzm=C3=BCller?= Date: Mon, 11 Apr 2005 07:00:03 +0000 Subject: [PATCH] fix qt dialog list resizing (bug 1033) git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9802 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/qt2/ChangeLog | 5 +++++ src/frontends/qt2/panelstack.C | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/frontends/qt2/ChangeLog b/src/frontends/qt2/ChangeLog index 8ab07cdccb..e296965b36 100644 --- a/src/frontends/qt2/ChangeLog +++ b/src/frontends/qt2/ChangeLog @@ -1,3 +1,8 @@ +2005-04-11 Jürgen Spitzmüller + + * panelstack.C (addCategory): let the listview compute the + correct width. + 2005-04-08 Angus Leeming * QAbout.C (build_dialog): specify that the CREDITS data is diff --git a/src/frontends/qt2/panelstack.C b/src/frontends/qt2/panelstack.C index a3bc98e27b..1845c73b2a 100644 --- a/src/frontends/qt2/panelstack.C +++ b/src/frontends/qt2/panelstack.C @@ -15,6 +15,7 @@ #include "qt_helpers.h" #include +#include #include #include @@ -87,8 +88,13 @@ void PanelStack::addCategory(string const & n, string const & parent) item->setOpen(true); panel_map_[n] = item; - // Qt is just unbelievably moronic - list_->setMinimumSize(QSize(150, list_->minimumHeight())); + // calculate the real size the current item needs in the listview + QFontMetrics fm(list_->font()); + int itemsize = item->width(fm, list_, 0) + 10 + + list_->treeStepSize() * (item->depth() + 1) + list_->itemMargin(); + // adjust the listview width to the max. itemsize + if (itemsize > list_->minimumWidth()) + list_->setMinimumWidth(itemsize); } -- 2.39.2