📄 parametersimpl.cpp
字号:
/** This file is part of QDevelop, an open-source cross-platform IDE* Copyright (C) 2007 Jean-Luc Biord** This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation; either version 2 of the License, or* (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA** Contact e-mail: Jean-Luc Biord <jl.biord@free.fr>* Program URL : http://qdevelop.org**/#include "parametersimpl.h"//#include <QProcess>#include <QHeaderView>#include <QFileDialog>#include <QMessageBox>//#include <QDebug>//ParametersImpl::ParametersImpl(QWidget * parent) : QDialog(parent){ setupUi(this); tableVariables->verticalHeader()->hide(); QHeaderView *header = tableVariables->horizontalHeader(); header->resizeSection(1, 230); on_defaults_clicked();}//Parameters ParametersImpl::parameters(){ Parameters p; p.workingDirectory = location->text(); p.arguments = arguments->text(); for(int row=0; row<tableVariables->rowCount(); row++) p.env << tableVariables->item(row, 0)->text()+"="+tableVariables->item(row, 1)->text(); return p;}//void ParametersImpl::setParameters(Parameters p){ arguments->setText( p.arguments ); newVariable->clear(); location->setText( p.workingDirectory ); for(int i=0; i<tableVariables->rowCount(); i++) tableVariables->removeRow(0); int row = 0; foreach(QString s, p.env) { tableVariables->setRowCount(row+1); QTableWidgetItem *itemCol0 = new QTableWidgetItem( s.section("=", 0, 0) ); itemCol0->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); tableVariables->setItem(row, 0, itemCol0); tableVariables->setItem(row++, 1, new QTableWidgetItem( s.section("=", 1, 1))); }}//void ParametersImpl::on_defaults_clicked(){ arguments->clear(); newVariable->clear(); location->clear(); for(int i=0; i<tableVariables->rowCount(); i++) tableVariables->removeRow(0); QStringList systemEnvironment = QProcess::systemEnvironment(); int row = 0; foreach(QString s, systemEnvironment) { tableVariables->setRowCount(row+1); QTableWidgetItem *itemCol0 = new QTableWidgetItem( s.section("=", 0, 0) ); itemCol0->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); tableVariables->setItem(row, 0, itemCol0); tableVariables->setItem(row++, 1, new QTableWidgetItem( s.section("=", 1, 1))); }}//void ParametersImpl::on_chooseDirectory_clicked(){ QString s = QFileDialog::getExistingDirectory( this, tr("Choose the project location"), location->text(), QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks ); if( s.isEmpty() ) { // Cancel clicked return; } location->setText( s );}//void ParametersImpl::on_add_clicked(){ QString variable = newVariable->text().section("=", 0, 0).simplified(); QString value = newVariable->text().section("=", 1, 1).simplified(); if (variable.isEmpty() || value.isEmpty() ) return; if( tableVariables->findItems(variable, Qt::MatchExactly).count() ) { QMessageBox::warning(this, "QDevelop", tr("The variable \"%1\" already exists.").arg(variable), tr("Cancel") ); return; } tableVariables->setRowCount(tableVariables->rowCount()+1); QTableWidgetItem *itemCol0 = new QTableWidgetItem( variable ); itemCol0->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled ); tableVariables->setItem(tableVariables->rowCount()-1, 0, itemCol0); tableVariables->setItem(tableVariables->rowCount()-1, 1, new QTableWidgetItem( value ) );}//void ParametersImpl::on_del_clicked(){ int row = tableVariables->currentRow(); if( row != 1 ) tableVariables->removeRow( row );}//void ParametersImpl::on_sort_clicked(){ tableVariables->sortItems(0);}//void ParametersImpl::on_edit_clicked(){ int row = tableVariables->currentRow(); if( row != 1 ) { tableVariables->setCurrentItem( tableVariables->item(row, 1) ); tableVariables->editItem( tableVariables->item(row, 1) ); }}//void ParametersImpl::on_tableVariables_itemDoubleClicked(QTableWidgetItem* /*item*/){ on_edit_clicked();}//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -