diff --git a/src/Gui/DlgProjectInformation.ui b/src/Gui/DlgProjectInformation.ui index f080e6233..df33f5517 100644 --- a/src/Gui/DlgProjectInformation.ui +++ b/src/Gui/DlgProjectInformation.ui @@ -1,10 +1,8 @@ - - - - + + Gui::Dialog::DlgProjectInformation - - + + 0 0 @@ -12,220 +10,148 @@ 540 - + Project information - + true - + true - - + + 9 - + 6 - - - + + + Information - - + + 9 - + 6 - - - - &Name: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - lineEditName - - - - - - - - 0 - 25 - - - - true - - - - - - - Path: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 25 - - - - true - - - - - - - UUID: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 25 - - - - true - - - - - - - Created &by: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - lineEditCreator - - - - - - - - 0 - 25 - - - - - - - - Creation &date: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - lineEditDate - - - - - - - - 0 - 25 - - - - true - - - - - - - &Last modified by: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - lineEditLastMod - - - - - - - - 0 - 25 - - - - - - - + + + Last &modification date: - + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + lineEditLastModDate - - - + + + + &Name: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + lineEditName + + + + + + 0 25 - + true - - - - Com&pany: + + + + Commen&t: - + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - lineEditCompany + + textEditComment - - - + + + + Path: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 25 + + + + true + + + + + + + UUID: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 25 + + + + true + + + + + + + Created &by: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + lineEditCreator + + + + + + 0 25 @@ -233,31 +159,103 @@ - - - - Commen&t: + + + + Creation &date: - + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - textEditComment + + lineEditDate - - + + + + + 0 + 25 + + + + true + + - + + + + &Last modified by: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + lineEditLastMod + + + + + + + + 0 + 25 + + + + + + + + + 0 + 25 + + + + true + + + + + + + Com&pany: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + lineEditCompany + + + + + + + + 0 + 25 + + + + + + + + - + Qt::Vertical - + QSizePolicy::Expanding - + 91 240 @@ -265,26 +263,63 @@ + + + + License information: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + License URL + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + + + + + Open in browser + + + + + - - - - 0 - - + + + 6 + + 0 + - + Qt::Horizontal - + QSizePolicy::Expanding - + 20 20 @@ -293,30 +328,30 @@ - - + + &OK - + - + true - + true - - + + &Cancel - + - + true @@ -325,9 +360,7 @@ - - - + @@ -336,11 +369,11 @@ Gui::Dialog::DlgProjectInformation accept() - + 20 20 - + 20 20 @@ -352,11 +385,11 @@ Gui::Dialog::DlgProjectInformation reject() - + 20 20 - + 20 20 diff --git a/src/Gui/DlgProjectInformationImp.cpp b/src/Gui/DlgProjectInformationImp.cpp index c5f878693..fd58c674d 100644 --- a/src/Gui/DlgProjectInformationImp.cpp +++ b/src/Gui/DlgProjectInformationImp.cpp @@ -28,6 +28,8 @@ #include "DlgProjectInformationImp.h" #include "Document.h" +#include +#include using namespace Gui::Dialog; @@ -52,6 +54,8 @@ DlgProjectInformationImp::DlgProjectInformationImp( App::Document* doc, QWidget* lineEditLastMod->setText(QString::fromUtf8(doc->LastModifiedBy.getValue())); lineEditLastModDate->setText(QString::fromUtf8(doc->LastModifiedDate.getValue())); lineEditCompany->setText(QString::fromUtf8(doc->Company.getValue())); + lineEditLicense->setText(QString::fromUtf8(doc->License.getValue())); + lineEditLicenseURL->setText(QString::fromUtf8(doc->LicenseURL.getValue())); // When saving the text to XML the newlines get lost. So we store also the newlines as '\n'. // See also accept(). @@ -59,6 +63,7 @@ DlgProjectInformationImp::DlgProjectInformationImp( App::Document* doc, QWidget* QStringList lines = comment.split(QLatin1String("\\n"), QString::KeepEmptyParts); QString text = lines.join(QLatin1String("\n")); textEditComment->setPlainText( text ); + connect(pushButtonOpenURL, SIGNAL(clicked()),this, SLOT(open_url())); } /** @@ -77,6 +82,8 @@ void DlgProjectInformationImp::accept() _doc->CreatedBy.setValue(lineEditCreator->text().toUtf8()); _doc->LastModifiedBy.setValue(lineEditCreator->text().toUtf8()); _doc->Company.setValue(lineEditCompany->text().toUtf8()); + _doc->License.setValue(lineEditLicense->text().toUtf8()); + _doc->LicenseURL.setValue(lineEditLicenseURL->text().toUtf8()); // Replace newline escape sequence trough '\\n' string QStringList lines = textEditComment->toPlainText().split @@ -87,3 +94,11 @@ void DlgProjectInformationImp::accept() QDialog::accept(); } +/** + * Opens the text in the LicenseURL property in external browser. + */ +void DlgProjectInformationImp::open_url() +{ + QString url = QString::fromUtf8(_doc->LicenseURL.getValue()); + QDesktopServices::openUrl(QUrl(url, QUrl::TolerantMode)); +} diff --git a/src/Gui/DlgProjectInformationImp.h b/src/Gui/DlgProjectInformationImp.h index e7f3b7903..cda120e7c 100644 --- a/src/Gui/DlgProjectInformationImp.h +++ b/src/Gui/DlgProjectInformationImp.h @@ -42,6 +42,7 @@ public: protected: void accept(); + void open_url(); App::Document* _doc; };