[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    [PATCH] Email support for KNewStuff
From:       Andras Mantia <amantia () kde ! org>
Date:       2006-12-23 10:32:32
Message-ID: 200612231232.32595.amantia () kde ! org
[Download RAW message or body]

[Attachment #2 (multipart/mixed)]


Hi,

 there is a big drawback in KNewStuff (in KDE3), namely that uploaders 
cannot be reached at all to provide feedback to them about the uploaded 
resources, because there is no field to enter an email address. The 
engine has support for it, altough it was not complete. The attached 
patch adds a new line for the upload dialog for the email address and 
fixes the engine to really use this information. Unfortunately it 
introduces a new string "Email:". "Email" is used in other places 
throughout kdelibs, but not with ":". 
I know I'm late, but I request approval to include in KDE 3.5.6. If the 
string change is not acceptable, I can use i18n("Email") + ":" as 
well. ;-)
 For the rest I rather think this is a bugfix, not a new feature, as it 
just makes it possible to use an existing feature.

Andras

-- 
Quanta Plus developer - http://quanta.kdewebdev.org
K Desktop Environment - http://www.kde.org

["email.patch" (text/x-diff)]

Index: uploaddialog.h
===================================================================
--- uploaddialog.h	(revision 608869)
+++ uploaddialog.h	(working copy)
@@ -86,6 +86,7 @@
 
     QLineEdit *mNameEdit;
     QLineEdit *mAuthorEdit;
+    QLineEdit *mEmailEdit;
     QLineEdit *mVersionEdit;
     QSpinBox *mReleaseSpin;
     KURLRequester *mPreviewUrl;
Index: entry.cpp
===================================================================
--- entry.cpp	(revision 608869)
+++ entry.cpp	(working copy)
@@ -347,6 +347,7 @@
 
   addElement( doc, entry, "name", name() );
   addElement( doc, entry, "author", author() );
+  addElement( doc, entry, "email", authorEmail() );
   addElement( doc, entry, "licence", license() );
   addElement( doc, entry, "version", version() );
   addElement( doc, entry, "release", QString::number( release() ) );
Index: uploaddialog.cpp
===================================================================
--- uploaddialog.cpp	(revision 608869)
+++ uploaddialog.cpp	(working copy)
@@ -65,41 +65,46 @@
   mAuthorEdit = new QLineEdit( topPage );
   topLayout->addWidget( mAuthorEdit, 1, 1 );
 
+  QLabel *emailLabel = new QLabel( i18n("Email:"), topPage );
+  topLayout->addWidget( emailLabel, 2, 0 );
+  mEmailEdit = new QLineEdit( topPage );
+  topLayout->addWidget( mEmailEdit, 2, 1 );
+
   QLabel *versionLabel = new QLabel( i18n("Version:"), topPage );
-  topLayout->addWidget( versionLabel, 2, 0 );  
+  topLayout->addWidget( versionLabel, 3, 0 );  
   mVersionEdit = new QLineEdit( topPage );
-  topLayout->addWidget( mVersionEdit, 2, 1 );
+  topLayout->addWidget( mVersionEdit, 3, 1 );
 
   QLabel *releaseLabel = new QLabel( i18n("Release:"), topPage );
-  topLayout->addWidget( releaseLabel, 3, 0 );  
+  topLayout->addWidget( releaseLabel, 4, 0 );  
   mReleaseSpin = new QSpinBox( topPage );
   mReleaseSpin->setMinValue( 1 );
-  topLayout->addWidget( mReleaseSpin, 3, 1 );
+  topLayout->addWidget( mReleaseSpin, 4, 1 );
 
   QLabel *licenceLabel = new QLabel( i18n("License:"), topPage );
-  topLayout->addWidget( licenceLabel, 4, 0 );
+  topLayout->addWidget( licenceLabel, 5, 0 );
   mLicenceCombo = new QComboBox( topPage );
   mLicenceCombo->setEditable( true );
   mLicenceCombo->insertItem( i18n("GPL") );
   mLicenceCombo->insertItem( i18n("LGPL") );
   mLicenceCombo->insertItem( i18n("BSD") );
-  topLayout->addWidget( mLicenceCombo, 4, 1 );
+  topLayout->addWidget( mLicenceCombo, 5, 1 );
 
   QLabel *languageLabel = new QLabel( i18n("Language:"), topPage );
-  topLayout->addWidget( languageLabel, 5, 0 );
+  topLayout->addWidget( languageLabel, 6, 0 );
   mLanguageCombo = new QComboBox( topPage );
-  topLayout->addWidget( mLanguageCombo, 5, 1 );
+  topLayout->addWidget( mLanguageCombo, 6, 1 );
   mLanguageCombo->insertStringList( KGlobal::locale()->languageList() );
 
   QLabel *previewLabel = new QLabel( i18n("Preview URL:"), topPage );
-  topLayout->addWidget( previewLabel, 6, 0 );
+  topLayout->addWidget( previewLabel, 7, 0 );
   mPreviewUrl = new KURLRequester( topPage );
-  topLayout->addWidget( mPreviewUrl, 6, 1 );
+  topLayout->addWidget( mPreviewUrl, 7, 1 );
 
   QLabel *summaryLabel = new QLabel( i18n("Summary:"), topPage );
-  topLayout->addMultiCellWidget( summaryLabel, 7, 7, 0, 1 );
+  topLayout->addMultiCellWidget( summaryLabel, 8, 8, 0, 1 );
   mSummaryEdit = new KTextEdit( topPage );
-  topLayout->addMultiCellWidget( mSummaryEdit, 8, 8, 0, 1 );
+  topLayout->addMultiCellWidget( mSummaryEdit, 9, 9, 0, 1 );
 
   KUser user;
   mAuthorEdit->setText(user.fullName());
@@ -123,6 +128,7 @@
 
   entry->setName( mNameEdit->text() );
   entry->setAuthor( mAuthorEdit->text() );
+  entry->setAuthorEmail( mEmailEdit->text() );
   entry->setVersion( mVersionEdit->text() );
   entry->setRelease( mReleaseSpin->value() );
   entry->setLicence( mLicenceCombo->currentText() );
@@ -134,6 +140,7 @@
     conf->setGroup( QString("KNewStuffUpload:%1").arg(mPayloadUrl.fileName()) );
     conf->writeEntry("name", mNameEdit->text());
     conf->writeEntry("author", mAuthorEdit->text());
+    conf->writeEntry("email", mEmailEdit->text());
     conf->writeEntry("version", mVersionEdit->text());
     conf->writeEntry("release", mReleaseSpin->value());
     conf->writeEntry("licence", mLicenceCombo->currentText());
@@ -161,6 +168,7 @@
   conf->setGroup( QString("KNewStuffUpload:%1").arg(mPayloadUrl.fileName()) );
   QString name = conf->readEntry("name");
   QString author = conf->readEntry("author");
+  QString email = conf->readEntry("email");
   QString version = conf->readEntry("version");
   QString release = conf->readEntry("release");
   QString preview = conf->readEntry("preview");
@@ -175,6 +183,7 @@
     {
       mNameEdit->setText(name);
       mAuthorEdit->setText(author);
+      mEmailEdit->setText(email);
       mVersionEdit->setText(version);
       mReleaseSpin->setValue(release.toInt());
       mPreviewUrl->setURL(preview);

[Attachment #6 (application/pgp-signature)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic