KDevelop API Documentation

distpart_widget.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2004 by ian reinhart geiser                             *
00003  *   geiseri@kde.org                                                       *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU General Public License as published by  *
00007  *   the Free Software Foundation; either version 2 of the License, or     *
00008  *   (at your option) any later version.                                   *
00009  *                                                                         *
00010  *   This program is distributed in the hope that it will be useful,       *
00011  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00012  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00013  *   GNU General Public License for more details.                          *
00014  *                                                                         *
00015  *   You should have received a copy of the GNU General Public License     *
00016  *   along with this program; if not, write to the                         *
00017  *   Free Software Foundation, Inc.,                                       *
00018  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00019  ***************************************************************************/
00020 #include "distpart_widget.h"
00021 
00022 #include <kparts/part.h>
00023 #include <klibloader.h>
00024 #include <kurl.h>
00025 #include <kdebug.h>
00026 #include <kprocess.h>
00027 #include <kfiledialog.h>
00028 #include <kio/netaccess.h>
00029 #include <klocale.h>
00030 #include "kdevproject.h"
00031 #include "domutil.h"
00032 #include <ktar.h>
00033 #include <kmessagebox.h>
00034 
00035 #include <kdevcore.h>
00036 #include <qgroupbox.h>
00037 #include <qlayout.h>
00038 #include <qnetwork.h>
00039 #include <qurloperator.h>
00040 #include <qmessagebox.h>
00041 #include "distpart_part.h"
00042 #include <qdir.h>
00043 #include <qfile.h>
00044 #include <qregexp.h>
00045 #include <qstringlist.h>
00046 #include <qtabwidget.h>
00047 #include "kdevmakefrontend.h"
00048 #include <kprogress.h>
00049 
00050 #include <qerrormessage.h>
00051 #include "specsupport.h"
00052 #include "lsmsupport.h"
00053 
00054 DistpartDialog::DistpartDialog(DistpartPart *part, QWidget *parent)
00055         :distpart_ui(parent, "dist_widget"), m_part(part) {
00056     m_spec = new SpecSupport(m_part);
00057 
00058     connect( customProjectCheckBox, SIGNAL(toggled(bool) ),
00059             this, SLOT(slotcustomProjectCheckBoxChanged()));
00060     connect( uploadCustomCheckBox, SIGNAL(toggled(bool)),
00061             this, SLOT(slotuploadCustomCheckBoxChanged()));
00062 
00063 //    connect( okayPushButton, SIGNAL(clicked()),
00064 //            this, SLOT(slotokayPushButtonPressed()));
00065 //    connect( cancelPushButton, SIGNAL(clicked()),
00066 //            this, SLOT(slotcancelPushButtonPressed()));
00067 /*    connect(help_PushButton, SIGNAL(clicked()),
00068             this, SLOT(slothelp_PushButtonPressed()));*/
00069     connect( createSrcArchPushButton, SIGNAL(clicked()),
00070             this, SLOT(slotcreateSrcArchPushButtonPressed()));
00071     connect( resetSrcPushButton, SIGNAL(clicked()),
00072             this, SLOT(slotresetSrcPushButtonPressed()));
00073 
00074     connect( genHTMLPushButton, SIGNAL(clicked()),
00075             this, SLOT(slotgenHTMLPushButtonPressed()));
00076     connect( resetHTMLPushButton, SIGNAL(clicked()),
00077             this, SLOT(slotresetHTMLPushButtonPressed()));
00078     connect( uploadSubmitPushButton, SIGNAL(clicked()),
00079             this, SLOT(slotuploadSubmitPushButtonPressed()));
00080     connect( uploadResetPushButton, SIGNAL(clicked()),
00081             this, SLOT(slotuploadResetPushButtonPressed()));
00082     connect( uploadAddFileToolButton, SIGNAL(clicked()),
00083             this, SLOT(slotuploadAddFileToolButtonPressed()));
00084     connect( uploadRemoveToolButton, SIGNAL(clicked()),
00085             this, SLOT(slotuploadRemoveToolButtonPressed()));
00086 //  connect(  buildAllPushButton, SIGNAL( clicked() ), this, SLOT( slotbuildAllPushButtonPressed() ));
00087 //  connect(  exportSPECPushButton, SIGNAL( clicked() ), this, SLOT( slotexportSPECPushButtonPressed( ) ) );
00088 //  connect(  srcPackagePushButton, SIGNAL( clicked() ), this, SLOT( slotsrcPackagePushButtonPressed() ) );
00089 //  connect(  importSPECPushButton, SIGNAL( clicked() ), this, SLOT( slotimportSPECPushButtonPressed() ) );
00090     loadSettings();
00091 
00092 
00093      localOptionsGroupBox->setEnabled(false);
00094      devPackageCheckBox->setEnabled(false);
00095      docsPackageCheckBox->setEnabled(false);
00096      appIconCheckBox->setEnabled(false);
00097      uploadftpkdeorgCheckBox->setEnabled(false);
00098      uploadAppsKDEcomCheckBox->setEnabled(false);
00099 }
00100 
00101 
00102 DistpartDialog::~DistpartDialog() {
00103 }
00104 
00105 //    QPushButton* okayPushButton;
00106 
00107 void DistpartDialog::slotokayPushButtonPressed() {
00108     storeSettings();
00109 //    accept();
00110 }
00111 //    QPushButton* cancelPushButton;
00112 
00113 void DistpartDialog::slotcancelPushButtonPressed() {
00114 //    reject();
00115 }
00116 //    QPushButton* help_PushButton;
00117 
00118 /*void DistpartDialog::slothelp_PushButtonPressed() {
00119     QMessageBox::about(this,i18n("Distpart Help"),i18n("In order to build a RPM package :\n\t1) Create a source archive\n\t2) Generate a SPEC File\n\t3) Build the package"));
00120 }*/
00121 
00122 //    QPushButton* createSrcArchPushButton;
00123 void DistpartDialog::slotcreateSrcArchPushButtonPressed() {
00124     kdDebug() << "Starting archive..." << endl;
00125     QString dist = (getcustomProjectCheckBoxState() && getbzipCheckBoxState()) ? "application/x-bzip2" : "application/x-gzip";
00126 
00127     QString filename = m_part->project()->projectDirectory() + "/" + getappNameFormatLineEditText() +
00128                "-" +
00129                getversionLineEditText() +
00130                ((getcustomProjectCheckBoxState() && getbzipCheckBoxState()) ? ".tar.bz2" : ".tar.gz");
00131 
00132     KTar tar(filename, dist);
00133     if ( tar.open(IO_WriteOnly) )
00134     {
00135         QStringList files = m_part->project()->distFiles();
00136     KProgressDialog *prog = new KProgressDialog( m_part->widget(), "dialog", i18n("Building Package"), "", true );
00137     prog->show();
00138     for( uint idx = 0; idx < files.count(); ++idx)
00139     {
00140         if ( !tar.addLocalFile( m_part->project()->projectDirectory() + "/" + files[idx], getappNameFormatLineEditText() + "/" + files[idx]) )
00141         {
00142             kdDebug() << "Failed to write file " << files[idx] << endl;
00143         }
00144         else
00145         {
00146             prog->setLabel(i18n("Adding file: ") + files[idx]);
00147             prog->progressBar()->setValue( (idx*100)/files.count() );
00148         }
00149     }
00150         tar.close( );
00151     prog->hide();
00152     delete prog;
00153     KMessageBox::information(this, "Archive made at: " + filename,"Archive Done");
00154 
00155     }
00156     else
00157     {
00158         kdDebug() << "Failed to open archive..." << endl;
00159     }
00160 
00161 }
00162 
00163 //    QPushButton* resetSrcPushButton;
00164 void DistpartDialog::slotresetSrcPushButtonPressed() {}
00165 
00166 
00167 
00168 //    QPushButton* genHTMLPushButton;
00169 void DistpartDialog::slotgenHTMLPushButtonPressed() {}
00170 
00171 //    QPushButton* resetHTMLPushButton;
00172 void DistpartDialog::slotresetHTMLPushButtonPressed() {}
00173 
00174 //    QToolButton* uploadAddFileToolButton;
00175 void DistpartDialog::slotuploadAddFileToolButtonPressed() {
00176      uploadFileListBox->insertStringList(KFileDialog::getOpenFileNames());
00177 }
00178 
00179 //    QToolButton* uploadRemoveToolButton;
00180 void DistpartDialog::slotuploadRemoveToolButtonPressed() {
00181     for(unsigned int i=0; i<  uploadFileListBox->count(); i++)
00182     if ( uploadFileListBox->isSelected(i))  uploadFileListBox->removeItem(i);
00183 }
00184 
00185 //    QPushButton* uploadSubmitPushButton;
00186 void DistpartDialog::slotuploadSubmitPushButtonPressed() {
00187 
00188     if(getuploadftpkdeorgCheckBoxState() || getuploadAppsKDEcomCheckBoxState())
00189         kdDebug() << "Implement ftp.kde.org & apps.kde.com ftp transfer" << endl;
00190     else {
00191         for(unsigned int i=0; i< uploadFileListBox->count(); i++)
00192         KIO::NetAccess::copy(KURL::fromPathOrURL( uploadFileListBox->text(i) ),
00193                     KURL::fromPathOrURL( getuploadURLLineEditText() +  uploadFileListBox->text(i).replace(QRegExp("[^/]*/"),"") ));
00194     }
00195 }
00196 
00197 //    QPushButton* uploadResetPushButton;
00198 void DistpartDialog::slotuploadResetPushButtonPressed() {
00199      uploadFileListBox->clear();
00200 }
00201 
00202 // Connect Slots to the following widgets and add
00203 // accessors and mutators
00204 
00205 
00206 //    QCheckBox* customProjectCheckBox;
00207 void DistpartDialog::slotcustomProjectCheckBoxChanged() {
00208     kdDebug () << "New State" <<  customProjectCheckBox->isChecked() << endl;
00209      sourceOptionsGroupBox->setEnabled( customProjectCheckBox->isChecked());
00210 }
00211 
00212 bool DistpartDialog::getcustomProjectCheckBoxState() {
00213     return  customProjectCheckBox->isChecked();
00214 }
00215 
00216 void DistpartDialog::setcustomProjectCheckBoxState(bool state) {
00217      customProjectCheckBox->setChecked(state);
00218 }
00219 
00220 //  QCheckBox* uploadCustomCheckBox;
00221 void DistpartDialog::slotuploadCustomCheckBoxChanged() {
00222      uploadURLLineEdit->setEnabled( uploadCustomCheckBox->isChecked());
00223 }
00224 
00225 bool DistpartDialog::getuploadCustomCheckBoxState() {
00226     return  uploadCustomCheckBox->isChecked();
00227 }
00228 
00229 void DistpartDialog::setuploadCustomCheckBoxState(bool state) {
00230      uploadCustomCheckBox->setChecked(state);
00231 }
00232 
00233 // Add accessors and mutators for the following
00234 
00235 //   QCheckBox* bzipCheckBox;
00236 bool DistpartDialog::getbzipCheckBoxState() {
00237     return  bzipCheckBox->isChecked();
00238 }
00239 
00240 void DistpartDialog::setbzipCheckBoxState(bool state) {
00241      bzipCheckBox->setChecked(state);
00242 }
00243 
00244 //    QCheckBox* appIconCheckBox;
00245 bool DistpartDialog::getappIconCheckBoxState() {
00246     return  appIconCheckBox->isChecked();
00247 }
00248 
00249 void DistpartDialog::setappIconCheckBoxState(bool state) {
00250      appIconCheckBox->setChecked(state);
00251 }
00252 
00253 //    QCheckBox* genHTMLCheckBox;
00254 bool DistpartDialog::getgenHTMLCheckBoxState() {
00255     return  genHTMLCheckBox->isChecked();
00256 }
00257 
00258 void DistpartDialog::setgenHTMLCheckBoxState(bool state) {
00259      genHTMLCheckBox->setChecked(state);
00260 }
00261 
00262 //    QCheckBox* useRPMInfoCheckBox;
00263 bool DistpartDialog::getuseRPMInfoCheckBoxState() {
00264     return  useRPMInfoCheckBox->isChecked();
00265 }
00266 
00267 void DistpartDialog::setuseRPMInfoCheckBoxState(bool state) {
00268      useRPMInfoCheckBox->setChecked(state);
00269 }
00270 
00271 //    QCheckBox* uploadAppsKDEcomCheckBox;
00272 bool DistpartDialog::getuploadAppsKDEcomCheckBoxState() {
00273     return  uploadAppsKDEcomCheckBox->isChecked();
00274 }
00275 
00276 void DistpartDialog::setuploadAppsKDEcomCheckBoxState(bool state) {
00277      uploadAppsKDEcomCheckBox->setChecked(state);
00278 }
00279 
00280 //    QCheckBox* uploadftpkdeorgCheckBox;
00281 bool DistpartDialog::getuploadftpkdeorgCheckBoxState() {
00282     return  uploadftpkdeorgCheckBox->isChecked();
00283 }
00284 
00285 void DistpartDialog::setuploadftpkdeorgCheckBoxState(bool state) {
00286      uploadftpkdeorgCheckBox->setChecked(state);
00287 }
00288 
00289 //    QCheckBox* devPackageCheckBox;
00290 bool DistpartDialog::getdevPackageCheckBoxState() {
00291     return  devPackageCheckBox->isChecked();
00292 }
00293 
00294 void DistpartDialog::setdevPackageCheckBoxState(bool state) {
00295      devPackageCheckBox->setChecked(state);
00296 }
00297 
00298 //    QCheckBox* docsPackageCheckBox;
00299 bool DistpartDialog::getdocsPackageCheckBoxState() {
00300     return  docsPackageCheckBox->isChecked();
00301 }
00302 
00303 void DistpartDialog::setdocsPackageCheckBoxState(bool state) {
00304      docsPackageCheckBox->setChecked(state);
00305 }
00306 
00307 //    QLineEdit* archNameFormatLineEdit;
00308 QString DistpartDialog::getarchNameFormatLineEditText() {
00309     return  archNameFormatLineEdit->text();
00310 }
00311 
00312 void DistpartDialog::setarchNameFormatLineEditText(QString text) {
00313      archNameFormatLineEdit->setText(text);
00314 }
00315 
00316 //    QLineEdit* appNameLineEdit;
00317 QString DistpartDialog::getappNameFormatLineEditText() {
00318     return  appNameLineEdit->text();
00319 }
00320 
00321 void DistpartDialog::setappNameFormatLineEditText(QString text) {
00322      appNameLineEdit->setText(text);
00323 }
00324 
00325 //    QLineEdit* summaryLineEdit;
00326 QString DistpartDialog::getsummaryLineEditText() {
00327     return  summaryLineEdit->text();
00328 }
00329 
00330 void DistpartDialog::setsummaryLineEditText(QString text) {
00331      summaryLineEdit->setText(text);
00332 }
00333 
00334 //    QLineEdit* groupLineEdit;
00335 QString DistpartDialog::getgroupLineEditText() {
00336     return  groupLineEdit->text();
00337 }
00338 
00339 void DistpartDialog::setgroupLineEditText(QString text) {
00340      groupLineEdit->setText(text);
00341 }
00342 
00343 //    QLineEdit* releaseLineEdit;
00344 QString DistpartDialog::getreleaseLineEditText() {
00345     return  releaseLineEdit->text();
00346 }
00347 
00348 void DistpartDialog::setreleaseLineEditText(QString text) {
00349      releaseLineEdit->setText(text);
00350 }
00351 
00352 //    QLineEdit* VersionLineEdit;
00353 QString DistpartDialog::getversionLineEditText() {
00354     return  versionLineEdit->text();
00355 }
00356 
00357 void DistpartDialog::setversionLineEditText(QString text) {
00358      versionLineEdit->setText( text );
00359 }
00360 
00361 //    QLineEdit* VendorLineEdit;
00362 QString DistpartDialog::getvendorLineEditText() {
00363     return  vendorLineEdit->text();
00364 }
00365 
00366 void DistpartDialog::setvendorLineEditText(QString text) {
00367      vendorLineEdit->setText(text);
00368 }
00369 
00370 //    QLineEdit* LicenseLineEdit;
00371 QString DistpartDialog::getlicenseLineEditText() {
00372     return  licenseLineEdit->text();
00373 }
00374 
00375 void DistpartDialog::setlicenseLineEditText(QString text) {
00376      licenseLineEdit->setText(text);
00377 }
00378 
00379 //    QLineEdit* uploadURLLineEdit;
00380 QString DistpartDialog::getuploadURLLineEditText() {
00381     return  uploadURLLineEdit->text();
00382 }
00383 
00384 void DistpartDialog::setuploadURLLineEditText(QString text) {
00385      uploadURLLineEdit->setText(text);
00386 }
00387 
00388 //    QLineEdit* PackagerLineEdit;
00389 QString DistpartDialog::getpackagerLineEditText() {
00390     return  packagerLineEdit->text();
00391 }
00392 
00393 void DistpartDialog::setpackagerLineEditText(QString text) {
00394      packagerLineEdit->setText(text);
00395 }
00396 
00397 //    QComboBox* archComboBox;
00398 QString DistpartDialog::getarchComboBoxText() {
00399     return  archComboBox->currentText();
00400 }
00401 
00402 int DistpartDialog::getarchComboBoxItem() {
00403     return  archComboBox->currentItem();
00404 }
00405 
00406 void DistpartDialog::setarchComboBoxItem(int item) {
00407      archComboBox->setCurrentItem( item );
00408 }
00409 
00410 //    QListBox* uploadFileListBox;
00411 QString DistpartDialog::getuploadFileListBoxText() {
00412     return  uploadFileListBox->currentText();
00413 }
00414 
00415 int DistpartDialog::getuploadFileListBoxItem() {
00416     return  uploadFileListBox->currentItem();
00417 }
00418 
00419 void DistpartDialog::setuploadFileListBoxItem(int item) {
00420      uploadFileListBox->setCurrentItem( item);
00421 }
00422 
00423 //    QListBox* srcDistFileListBox;
00424 QString DistpartDialog::getsrcDistFileListBoxText() {
00425     return  srcDistFileListBox->currentText ();
00426 }
00427 
00428 int DistpartDialog::getsrcDistFileListBoxItem() {
00429     return  srcDistFileListBox->currentItem ();
00430 }
00431 
00432 void DistpartDialog::setsrcDistFileListBoxItem(int item) {
00433      srcDistFileListBox->setCurrentItem( item );
00434 }
00435 
00436 //    QMultiLineEdit* projectDescriptionMultilineEdit;
00437 QString DistpartDialog::getprojectDescriptionMultilineEditText() {
00438     return  projectDescriptionMultilineEdit->text();
00439 }
00440 
00441 void DistpartDialog::setprojectDescriptionMultilineEditText(QString text) {
00442      projectDescriptionMultilineEdit->setText(text);
00443 }
00444 
00445 QString DistpartDialog::getprojectChangelogMultilineEditText() {
00446     return  projectChangelogMultilineEdit->text();
00447 }
00448 
00449 void DistpartDialog::setprojectChangelogMultilineEditText(QString text) {
00450      projectChangelogMultilineEdit->setText(text);
00451 }
00452 
00453 QString DistpartDialog::getSourceName() {
00454     QString name = (getcustomProjectCheckBoxState()) ? getarchNameFormatLineEditText() : QString("%n-%v");
00455     name += (getcustomProjectCheckBoxState() && getbzipCheckBoxState()) ? ".tar.bz2" : ".tar.gz";
00456     return name.replace(QRegExp("%n"),getappNameFormatLineEditText())
00457     .replace(QRegExp("%v"),getversionLineEditText())
00458     .replace(QRegExp("%d"),QDate::currentDate().toString("yyyyMMdd"));
00459 }
00460 
00461 void DistpartDialog::loadSettings() {
00462     QDomDocument &dom = *m_part->projectDom();
00463 
00464      srcDistFileListBox->insertStringList( m_part->project()->distFiles() );
00465 
00466     // First Tab
00467     setcustomProjectCheckBoxState(DomUtil::readBoolEntry(dom,"/dist/custom",false));
00468     slotcustomProjectCheckBoxChanged();
00469     setbzipCheckBoxState(DomUtil::readBoolEntry(dom,"/dist/bzip",false));
00470     setarchNameFormatLineEditText(DomUtil::readEntry(dom,"/dist/archname"));
00471 
00472 
00473     // Second Tab
00474     setappNameFormatLineEditText(DomUtil::readEntry(dom,"/dist/appname", m_part->project()->projectName() ));
00475     setversionLineEditText(DomUtil::readEntry(dom,"/dist/version",DomUtil::readEntry(dom,"/general/version")));
00476     setreleaseLineEditText(DomUtil::readEntry(dom,"/dist/release"));
00477     setvendorLineEditText(DomUtil::readEntry(dom,"/dist/vendor"));
00478     setlicenseLineEditText(DomUtil::readEntry(dom,"/dist/licence"));
00479     setsummaryLineEditText(DomUtil::readEntry(dom,"/dist/summary"));
00480     setgroupLineEditText(DomUtil::readEntry(dom,"/dist/group"));
00481     setpackagerLineEditText(DomUtil::readEntry(dom,"/dist/packager"));
00482     setprojectDescriptionMultilineEditText(DomUtil::readEntry(dom,"/dist/description",DomUtil::readEntry(dom,"/general/description")));
00483     setprojectChangelogMultilineEditText(DomUtil::readEntry(dom,"/dist/changelog"));
00484     setdevPackageCheckBoxState(DomUtil::readBoolEntry(dom,"/dist/devpackage"));
00485     setdocsPackageCheckBoxState(DomUtil::readBoolEntry(dom,"/dist/docspackage"));
00486     setappIconCheckBoxState(DomUtil::readBoolEntry(dom,"/dist/appicon"));
00487     setarchComboBoxItem(DomUtil::readIntEntry(dom,"/dist/arch"));
00488 
00489     // Third Tab
00490     setgenHTMLCheckBoxState(DomUtil::readBoolEntry(dom,"/dist/genHTML"));
00491     setuseRPMInfoCheckBoxState(DomUtil::readBoolEntry(dom,"/dist/useRPM"));
00492     setuploadftpkdeorgCheckBoxState(DomUtil::readBoolEntry(dom,"/dist/ftpkde"));
00493     setuploadAppsKDEcomCheckBoxState(DomUtil::readBoolEntry(dom,"/dist/appskde"));
00494     setuploadCustomCheckBoxState(DomUtil::readBoolEntry(dom,"/dist/custom"));
00495     slotuploadCustomCheckBoxChanged();
00496     setuploadURLLineEditText(DomUtil::readEntry(dom,"/dist/url"));
00497 }
00498 
00499 void DistpartDialog::storeSettings() {
00500     QDomDocument &dom = *m_part->projectDom();
00501 
00502     // First Tab
00503     DomUtil::writeBoolEntry(dom,"/dist/custom",getcustomProjectCheckBoxState());
00504     DomUtil::writeBoolEntry(dom,"/dist/bzip",getbzipCheckBoxState());
00505     DomUtil::writeEntry(dom,"/dist/archname",getarchNameFormatLineEditText());
00506 
00507     // Second Tab
00508     DomUtil::writeEntry(dom,"/dist/appname",getappNameFormatLineEditText());
00509     DomUtil::writeEntry(dom,"/dist/version",getversionLineEditText());
00510     DomUtil::writeEntry(dom,"/dist/release",getreleaseLineEditText());
00511     DomUtil::writeEntry(dom,"/dist/vendor",getvendorLineEditText());
00512     DomUtil::writeEntry(dom,"/dist/licence",getlicenseLineEditText());
00513     DomUtil::writeEntry(dom,"/dist/summary",getsummaryLineEditText());
00514     DomUtil::writeEntry(dom,"/dist/group",getgroupLineEditText());
00515     DomUtil::writeEntry(dom,"/dist/packager",getpackagerLineEditText());
00516     DomUtil::writeEntry(dom,"/dist/description",getprojectDescriptionMultilineEditText());
00517     DomUtil::writeEntry(dom,"/dist/changelog",getprojectChangelogMultilineEditText());
00518     DomUtil::writeBoolEntry(dom,"/dist/devpackage",getdevPackageCheckBoxState());
00519     DomUtil::writeBoolEntry(dom,"/dist/docspackage",getdocsPackageCheckBoxState());
00520     DomUtil::writeBoolEntry(dom,"/dist/appicon",getappIconCheckBoxState());
00521     DomUtil::writeIntEntry(dom,"/dist/arch",getarchComboBoxItem());
00522 
00523     // Third Tab
00524     DomUtil::writeBoolEntry(dom,"/dist/genHTML",getgenHTMLCheckBoxState());
00525     DomUtil::writeBoolEntry(dom,"/dist/useRPM",getuseRPMInfoCheckBoxState());
00526     DomUtil::writeBoolEntry(dom,"/dist/ftpkde",getuploadftpkdeorgCheckBoxState());
00527     DomUtil::writeBoolEntry(dom,"/dist/appskde",getuploadAppsKDEcomCheckBoxState());
00528     DomUtil::writeBoolEntry(dom,"/dist/custom",getuploadCustomCheckBoxState());
00529     DomUtil::writeEntry(dom,"/dist/url",getuploadURLLineEditText());
00530 }
00531 // Populate Spec Data from UI;
00532 void DistpartDialog::setPackageData()
00533 {
00534     m_spec->setAppRevision(  releaseLineEdit->text());
00535     m_spec->setAppName(  appNameLineEdit->text());
00536     m_spec->setAppVendor(  vendorLineEdit->text());
00537     m_spec->setAppLicense(  licenseLineEdit->text());
00538     m_spec->setAppSummary(  summaryLineEdit->text());
00539     m_spec->setAppPackager(  packagerLineEdit->text());
00540     m_spec->setAppVersion(  versionLineEdit->text());
00541     m_spec->setAppGroup(  groupLineEdit->text());
00542     m_spec->setAppDescription(  projectDescriptionMultilineEdit->text());
00543     m_spec->setAppChangelog(  projectChangelogMultilineEdit->text());
00544 }
00545 // Populate UI from Spec data;
00546 void DistpartDialog::getPackageData()
00547 {
00548      releaseLineEdit->setText(m_spec->getAppRevision());
00549      appNameLineEdit->setText(m_spec->getAppName());
00550      vendorLineEdit->setText(m_spec->getAppVendor());
00551      licenseLineEdit->setText(m_spec->getAppLicense( ));
00552      summaryLineEdit->setText(m_spec->getAppSummary( ));
00553      packagerLineEdit->setText(m_spec->getAppPackager( ));
00554      versionLineEdit->setText(m_spec->getAppVersion());
00555      groupLineEdit->setText(m_spec->getAppGroup( ));
00556      projectDescriptionMultilineEdit->setText(m_spec->getAppDescription( ));
00557      projectChangelogMultilineEdit->setText(m_spec->getAppChangelog( ));
00558 }
00559 void DistpartDialog::slotbuildAllPushButtonPressed( )
00560 {
00561     setPackageData();
00562     m_spec->slotbuildAllPushButtonPressed();
00563 }
00564 
00565 void DistpartDialog::slotexportSPECPushButtonPressed( )
00566 {
00567     setPackageData();
00568     m_spec->slotexportSPECPushButtonPressed();
00569 }
00570 
00571 void DistpartDialog::slotimportSPECPushButtonPressed( )
00572 {
00573     m_spec->slotimportSPECPushButtonPressed();
00574     getPackageData();
00575 }
00576 
00577 void DistpartDialog::slotsrcPackagePushButtonPressed( )
00578 {
00579     setPackageData();
00580     m_spec->slotsrcPackagePushButtonPressed();
00581 }
00582 
00583 
00584 #include "distpart_widget.moc"
KDE Logo
This file is part of the documentation for KDevelop Version 3.1.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Feb 22 09:22:38 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003