Пример #1
0
void KRenameWindow::setupPlugins()
{
    PluginLoader *loader = PluginLoader::Instance();

    const QList<Plugin *> &list = loader->plugins();
    QList<Plugin *>::const_iterator it = list.begin();

    m_pluginsWidgetHash.reserve(list.count());
    m_pluginsHash.reserve(list.count());

    m_pagePlugins->searchPlugins->searchLine()->setTreeWidget(m_pagePlugins->listPlugins);

    while (it != list.end()) {
        // create plugin gui
        QWidget *widget = new QWidget(m_pagePlugins->stackPlugins);
        (*it)->createUI(widget);
        int idx = m_pagePlugins->stackPlugins->addWidget(widget);
        m_pagePlugins->stackPlugins->setCurrentIndex(idx);

        m_pluginsHash[(*it)->name()] = (*it);
        m_pluginsWidgetHash[(*it)->name()] = widget;

        // add to list of all plugins
        QTreeWidgetItem *item = new QTreeWidgetItem(m_pagePlugins->listPlugins);
        item->setText(0, (*it)->name());
        item->setIcon(0, (*it)->icon());

        slotPluginChanged(item);

        ++it;
    }

    m_pagePlugins->splitter->setStretchFactor(0, 0);
    m_pagePlugins->splitter->setStretchFactor(1, 8);
    m_pagePlugins->listPlugins->sortColumn();
}