]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/panelstack.C
enable Font cache only for MacOSX and inline width() for other platform.
[lyx.git] / src / frontends / qt4 / panelstack.C
index 97aeba909c6c52afcacd1179e3e30bb19ee2077e..1ca8ada1c304783b395e69c10eaf88986db7cbc5 100644 (file)
@@ -51,7 +51,7 @@ PanelStack::PanelStack(QWidget * parent)
        list_->setHeaderLabels(HeaderLabels);
 
        connect(list_, SIGNAL(currentItemChanged (QTreeWidgetItem*, QTreeWidgetItem*)),
-               this, SLOT(switchPanel(QTreeWidgetItem *, QTreeWidgetItem*)));
+               this, SLOT(switchPanel(QTreeWidgetItem *, QTreeWidgetItem*)));
 
        QHBoxLayout * layout = new QHBoxLayout(this);
        layout->addWidget(list_, 0);
@@ -74,14 +74,20 @@ void PanelStack::addCategory(string const & n, string const & parent)
        }
        else {
                PanelMap::iterator it = panel_map_.find(parent);
+               //BOOST_ASSERT(it != panel_map_.end());
+               if (it == panel_map_.end()) {
+                       addCategory(parent);
+                       it = panel_map_.find(parent);
+               }
                BOOST_ASSERT(it != panel_map_.end());
+
                item = new QTreeWidgetItem(it->second);
                item->setText(0, name);
                //it->second->addChild(item);
        }
 
-       panel_map_[n] = item;\r
-\r
+       panel_map_[n] = item;
+
        list_->setFixedWidth(list_->sizeHint().width());
 /*
        item->setFlags(false);
@@ -108,7 +114,6 @@ void PanelStack::addPanel(QWidget * panel, string const & name, string const & p
        widget_map_[item] = panel;
        stack_->addWidget(panel);
        stack_->setMinimumSize(panel->minimumSize());
-       resize(sizeHint());
 }
 
 
@@ -125,7 +130,8 @@ void PanelStack::setCurrentPanel(string const & name)
 }
 
 
-void PanelStack::switchPanel(QTreeWidgetItem * item, QTreeWidgetItem* previous)
+void PanelStack::switchPanel(QTreeWidgetItem * item,
+                            QTreeWidgetItem * /*previous*/)
 {
        WidgetMap::const_iterator cit = widget_map_.find(item);
        if (cit == widget_map_.end())
@@ -133,3 +139,5 @@ void PanelStack::switchPanel(QTreeWidgetItem * item, QTreeWidgetItem* previous)
 
        stack_->setCurrentWidget(cit->second);
 }
+
+#include "panelstack_moc.cpp"