diff --git a/src/EditProfileDialog.cpp b/src/EditProfileDialog.cpp index cb556d42..20e78753 100644 --- a/src/EditProfileDialog.cpp +++ b/src/EditProfileDialog.cpp @@ -90,8 +90,7 @@ EditProfileDialog::EditProfileDialog(QWidget* parent) connect( _ui->tabWidget , SIGNAL(currentChanged(int)) , this , SLOT(preparePage(int)) ); - _tempProfile = Profile::Ptr(new Profile); - _tempProfile->setHidden(true); + createTempProfile(); } EditProfileDialog::~EditProfileDialog() { @@ -113,8 +112,8 @@ void EditProfileDialog::save() _previewedProperties.remove(iter.key()); } - _tempProfile = Profile::Ptr(new Profile); - _tempProfile->setHidden(true); + createTempProfile(); + enableButtonApply(false); } void EditProfileDialog::reject() @@ -178,8 +177,7 @@ void EditProfileDialog::setProfile(Profile::Ptr profile) if ( _tempProfile ) { - _tempProfile = Profile::Ptr(new Profile); - _tempProfile->setHidden(true); + createTempProfile(); } } const Profile::Ptr EditProfileDialog::lookupProfile() const @@ -823,6 +821,12 @@ void EditProfileDialog::updateTransparencyWarning() } } +void EditProfileDialog::createTempProfile() +{ + _tempProfile = Profile::Ptr(new Profile); + _tempProfile->setHidden(true); +} + void EditProfileDialog::updateTempProfileProperty(Profile::Property property, const QVariant & value) { _tempProfile->setProperty(property, value); diff --git a/src/EditProfileDialog.h b/src/EditProfileDialog.h index dc84d522..96c46012 100644 --- a/src/EditProfileDialog.h +++ b/src/EditProfileDialog.h @@ -212,6 +212,10 @@ private: // always come after the preview operation. void updateTempProfileProperty(Profile::Property, const QVariant& value); + // helper method for creating an empty & hidden profile and assigning + // it to _tempProfile. + void createTempProfile(); + // Enable or disable apply button, used only within // updateTempProfileProperty(). void updateButtonApply();