⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 projectpropertieimpl.cpp

📁 用Qt4编写的linux IDE开发环境
💻 CPP
📖 第 1 页 / 共 3 页
字号:
    else    {        QTreeWidgetItem *itConfig = subItConfig( itCombo );        if ( !itConfig )        {            itConfig = new QTreeWidgetItem( itCombo );            itConfig->setText(0, "CONFIG");            itConfig->setData(0, Qt::UserRole, m_projectManager->toItem("CONFIG", "+="));            m_copyTreeFiles->setItemHidden(itConfig, true);        }        it = itConfig;    }    if ( activer )    {        QTreeWidgetItem *nouvelItem = new QTreeWidgetItem( it );        nouvelItem->setText(0, nomVariable);        nouvelItem->setData(0, Qt::UserRole, m_projectManager->toItem("DATA"));    }    else    {        for (int i=0; i<it->childCount(); i++)        {            if ( it->child( i )->text( 0 ) == nomVariable )            {                QTreeWidgetItem *parent = it->child( i )->parent();                delete it->child( i );                while ( !parent->childCount()                        && m_projectManager->toKey( parent->data(0, Qt::UserRole) ) != "PROJECT"                        && m_projectManager->toKey( parent->data(0, Qt::UserRole) ) != "SCOPE"                      )                {                    it = parent->parent();                    delete parent;                    parent = it;                }            }        }    }}//QTreeWidgetItem *ProjectPropertieImpl::subItTemplate(QTreeWidgetItem *it){    for (int i=0; i<it->childCount(); i++)    {        QTreeWidgetItem *item = it->child( i );        QString cle = m_projectManager->toKey( item->data(0, Qt::UserRole) );        if ( cle == "TEMPLATE" )            return item;    }    return 0;}//QTreeWidgetItem *ProjectPropertieImpl::subItQT(QTreeWidgetItem *it){    for (int i=0; i<it->childCount(); i++)    {        QTreeWidgetItem *item = it->child( i );        QString cle = m_projectManager->toKey( item->data(0, Qt::UserRole) );        if ( cle == "QT" )            return item;    }    return 0;}//QTreeWidgetItem *ProjectPropertieImpl::subItConfig(QTreeWidgetItem *it){    for (int i=0; i<it->childCount(); i++)    {        QTreeWidgetItem *item = it->child( i );        QString cle = m_projectManager->toKey( item->data(0, Qt::UserRole) );        if ( cle == "CONFIG" )            return item;    }    return 0;}//void ProjectPropertieImpl::copyTreeWidget(QTreeWidgetItem *source, QTreeWidgetItem *dest){    if ( source == m_itProject )        m_copyItProject = dest;    dest->setText(0, source->text(0));    dest->setData(0, Qt::UserRole, source->data(0, Qt::UserRole ) );    dest->setToolTip(0, source->toolTip(0) );    dest->setIcon(0, source->icon(0));    dest->treeWidget()->setItemHidden(dest, source->treeWidget()->isItemHidden(source));    dest->treeWidget()->setItemExpanded(dest, source->treeWidget()->isItemExpanded(source));    for (int i=0; i<source->childCount(); i++)    {        copyTreeWidget(source->child(i), new QTreeWidgetItem( dest ) );    }}//void ProjectPropertieImpl::slotAccept(){    QVariant variant = comboScope->itemData( comboScope->currentIndex() );    //QTreeWidgetItem *itCombo = reinterpret_cast<QTreeWidgetItem*>(variant.toUInt());    QTreeWidgetItem *itCombo = (QTreeWidgetItem*)variantToItem(variant);    QTreeWidgetItem *itConfig = subItConfig( itCombo );    if ( !itConfig && supplement->text().simplified().split(" ", QString::SkipEmptyParts).count() )    {        itConfig = new QTreeWidgetItem( m_copyItProject );        itConfig->setText(0, "CONFIG");        itConfig->setData(0, Qt::UserRole, m_projectManager->toItem("CONFIG", "+=") );        m_copyTreeFiles->setItemHidden(itConfig, true);    }    foreach(QString nomVariable, supplement->text().simplified().split(" ", QString::SkipEmptyParts))    {        QTreeWidgetItem *nouvelItem = new QTreeWidgetItem( itConfig );        nouvelItem->setText(0, nomVariable);        nouvelItem->setData(0, Qt::UserRole, m_projectManager->toItem("DATA"));    }    m_treeFiles->clear();    new QTreeWidgetItem(m_treeFiles);    copyTreeWidget(m_copyTreeFiles->topLevelItem(0), m_treeFiles->topLevelItem(0));    m_treeFiles->setItemExpanded(m_treeFiles->topLevelItem(0), m_copyTreeFiles->isItemExpanded(m_copyTreeFiles->topLevelItem(0)));    //m_projectManager->setSrcDirectory(m_projectManager->itemProject(m_projectName), srcDirectory->text() );    //m_projectManager->setUiDirectory(m_projectManager->itemProject(m_projectName), uiDirectory->text() );    accept();}//void ProjectPropertieImpl::slotCurrentItemChanged ( QListWidgetItem * current, QListWidgetItem * /*previous*/ ){    valuesList->clear();    if ( !current )        return;    QVariant variant = current->data( Qt::UserRole );    QTreeWidgetItem *item = (QTreeWidgetItem*)variantToItem(variant);    for (int nb=0; nb < item->childCount(); nb++)    {        valuesList->addItem( item->child( nb )->text(0) );        valuesList->item( valuesList->count()-1 )->setData(Qt::UserRole, addressToVariant(item->child( nb ) ) );    }}//void ProjectPropertieImpl::slotAddVariable(){    QString nouvelleVariable;    //QString text = QInputDialog::getText(this, "QDevelop",    //tr("New variable:"), QLineEdit::Normal,    //"", &ok);    QString text;    QDialog *newVariable = new QDialog;    Ui::NewVariable ui;    ui.setupUi(newVariable);    newVariable->setWindowTitle("QDevelop");    QComboBox *c = ui.comboVariables;    makeComboVariables( c );    bool ok = newVariable->exec();    if (ok)    {        if ( ui.groupUserVariable->isChecked() && !ui.userVariable->text().isEmpty() )            nouvelleVariable = ui.userVariable->text();        else if ( !ui.groupUserVariable->isChecked() )            nouvelleVariable = ui.comboVariables->itemData(ui.comboVariables->currentIndex(), Qt::UserRole).toString();        else        {            delete newVariable;            return;        }    }    else    {        delete newVariable;        return;    }    QComboBox *comboOperator = ui.comboOperator;    QVariant variant = comboScope->itemData( comboScope->currentIndex() );    //QTreeWidgetItem *item = reinterpret_cast<QTreeWidgetItem*>(variant.toUInt());    QTreeWidgetItem *item = (QTreeWidgetItem*)variantToItem(variant);    QTreeWidgetItem *nouvelItem = new QTreeWidgetItem( item );    m_copyTreeFiles->setItemHidden(nouvelItem, true);    nouvelItem->setText(0, nouvelleVariable);    nouvelItem->setData(0, Qt::UserRole, m_projectManager->toItem(nouvelleVariable, comboOperator->currentText()));    slotComboScope( comboScope->currentIndex() );}//void ProjectPropertieImpl::slotDeleteVariable(){    QListWidgetItem *itemCourant;    if ( !(itemCourant = variablesList->currentItem()) )        return;    QVariant variant = itemCourant->data( Qt::UserRole );    //QTreeWidgetItem *itemTree = reinterpret_cast<QTreeWidgetItem*>(variant.toUInt());    QTreeWidgetItem *itemTree = (QTreeWidgetItem*)variantToItem(variant);    delete itemTree;    slotComboScope( comboScope->currentIndex() );}//void ProjectPropertieImpl::slotAddValue(){    QListWidgetItem *itemCourant;    if ( !(itemCourant = variablesList->currentItem()) )        return;    QString nouvelleValeur;    bool ok;    int corriger = -1;    QString text;    do    {        text = QInputDialog::getText(this, "QDevelop",                                     tr("New Value:"), QLineEdit::Normal,                                     text, &ok);        if ( text.contains(" ") && !text.contains("\""))        {            corriger = QMessageBox::warning(0, "QDevelop",                                            tr("The spaces aren't correctly parsed by qmake")                                            +",\n"                                            +tr("delete spaces or put quotes."),                                            tr("Modify"), tr("Cancel") );            if ( corriger == 1 )                ok = false;        }    }    while ( ok && corriger==0 );    if (ok && !text.isEmpty())        nouvelleValeur = text;    else        return;    QVariant variant = itemCourant->data( Qt::UserRole );    QTreeWidgetItem *item = (QTreeWidgetItem*)variantToItem(variant);    QTreeWidgetItem *nouvelItem = new QTreeWidgetItem( item );    m_copyTreeFiles->setItemHidden(nouvelItem, true);    nouvelItem->setText(0, nouvelleValeur);    nouvelItem->setData(0, Qt::UserRole, m_projectManager->toItem("DATA"));    slotCurrentItemChanged(variablesList->currentItem(), 0);}//void ProjectPropertieImpl::slotDeleteValue(){    QListWidgetItem *itemCourant;    if ( !(itemCourant = valuesList->currentItem()) )        return;    QVariant variant = itemCourant->data( Qt::UserRole );    //QTreeWidgetItem *itemTree = reinterpret_cast<QTreeWidgetItem*>(variant.toUInt());    QTreeWidgetItem *itemTree = (QTreeWidgetItem*)variantToItem(variant);    delete itemTree;    slotCurrentItemChanged(variablesList->currentItem(), 0);}//void ProjectPropertieImpl::slotModifyValue(){    QListWidgetItem *itemCourant;    if ( !(itemCourant = valuesList->currentItem()) )        return;    QVariant variant = itemCourant->data( Qt::UserRole );    QString nouvelleValeur;    //QTreeWidgetItem *itemTree = reinterpret_cast<QTreeWidgetItem*>(variant.toUInt());    QTreeWidgetItem *itemTree = (QTreeWidgetItem*)variantToItem(variant);    bool ok;    int corriger = -1;    QString text = itemCourant->text();    do    {        text = QInputDialog::getText(this, "QDevelop",                                     tr("New Value:"), QLineEdit::Normal,                                     text, &ok);        if ( text.contains(" ") && !text.contains("\""))        {            corriger = QMessageBox::warning(0, "QDevelop",

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -