From: Jürgen Spitzmüller Date: Sun, 5 Nov 2006 12:30:12 +0000 (+0000) Subject: * src/frontends/qt4/panelstack.C: X-Git-Tag: 1.6.10~12031 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=691ca4c0a4546a24a0dafe8b94dc4beb83698ada;p=lyx.git * src/frontends/qt4/panelstack.C: - fix resizing of treeview - hide pointless header git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15749 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/frontends/qt4/panelstack.C b/src/frontends/qt4/panelstack.C index 48b40d1d25..fe9d8d0d20 100644 --- a/src/frontends/qt4/panelstack.C +++ b/src/frontends/qt4/panelstack.C @@ -16,6 +16,7 @@ #include "debug.h" +#include #include #include #include @@ -40,8 +41,11 @@ PanelStack::PanelStack(QWidget * parent) stack_ = new QStackedWidget(this); list_->setColumnCount(1); - QStringList HeaderLabels; HeaderLabels << QString("Category"); - list_->setHeaderLabels(HeaderLabels); + // Hide the pointless list header + list_->header()->hide(); +// QStringList HeaderLabels; +// HeaderLabels << QString("Category"); +// list_->setHeaderLabels(HeaderLabels); connect(list_, SIGNAL(currentItemChanged (QTreeWidgetItem*, QTreeWidgetItem*)), this, SLOT(switchPanel(QTreeWidgetItem *, QTreeWidgetItem*))); @@ -61,6 +65,8 @@ void PanelStack::addCategory(docstring const & n, docstring const & parent) lyxerr[Debug::GUI] << "addCategory n= " << lyx::to_utf8(n) << " parent= " << endl; + int depth = 1; + if (parent.empty()) { item = new QTreeWidgetItem(list_); item->setText(0, name); @@ -76,11 +82,18 @@ void PanelStack::addCategory(docstring const & n, docstring const & parent) item = new QTreeWidgetItem(it->second); item->setText(0, name); + depth = 2; } panel_map_[n] = item; - list_->setMinimumWidth(list_->header()->sectionSize(0) + list_->indentation()); + QFontMetrics fm(list_->font()); + // calculate the real size the current item needs in the listview + int itemsize = fm.width(name) + 10 + + list_->indentation() * depth; + // adjust the listview width to the max. itemsize + if (itemsize > list_->minimumWidth()) + list_->setMinimumWidth(itemsize); }