X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Faddprofile.cpp;fp=src%2Faddprofile.cpp;h=f9c463552ec3b8951e2cf2cbba9845f32ec80c64;hb=4ce3be0451a1e12b091ac18b90aebf59de109a2f;hp=2292419957f20ea8d0a96b235c9396aacf5b1888;hpb=fc9e638703f7b80c390289630b508499c05ca229;p=confmgr diff --git a/src/addprofile.cpp b/src/addprofile.cpp index 2292419..f9c4635 100644 --- a/src/addprofile.cpp +++ b/src/addprofile.cpp @@ -11,6 +11,10 @@ AddProfile::AddProfile(QWidget *parent) : connect(&mFrmAddStep, SIGNAL(StepAddedSuccessfully(Steps)), this, SLOT(updateStepList(Steps))); mFrmAddStep.setWindowFlags(mFrmAddStep.windowFlags() | Qt::Window); + bIsStepEdited = false; + iStepEditPosition = 0; + mFrmAddStep.setParent(this, Qt::Window); + mFrmAddStep.setAttribute(Qt::WA_Maemo5StackedWindow); } AddProfile::~AddProfile() @@ -43,10 +47,27 @@ void AddProfile::showStepsUI() void AddProfile::updateStepList(Steps step) { - mSteps.append(step); QString text = "Value: " + step.value(); text += " || Delay: " + QString::number(step.delay()); - ui->addProStepList->addItem(text); + if(bIsStepEdited) + { + // Reset the flag + bIsStepEdited = false; + + // Remove the old one... + mSteps.removeAt(iStepEditPosition); + QString *pText = (QString*) ui->addProStepList->takeItem(ui->addProStepList->currentRow()); + delete pText; + + // update with the new one... + mSteps.insert(iStepEditPosition, step); + ui->addProStepList->insertItem(iStepEditPosition, text); + } + else + { + mSteps.append(step); + ui->addProStepList->addItem(text); + } qDebug() << "updateStepList(): Text in List: " << text; } @@ -74,6 +95,8 @@ void AddProfile::clear() void AddProfile::showProfile(Profile &p) { ui->addProName->setText(p.mName); + mSteps.clear(); + mSteps = p.mSteps; for(unsigned int i = 0; i < p.mNoOfSteps; i++) { Steps step = p.mSteps.at(i); @@ -83,3 +106,20 @@ void AddProfile::showProfile(Profile &p) } this->show(); } + +void AddProfile::on_addProModifyStep_clicked() +{ + if(ui->addProStepList->count() <= 0 || ui->addProStepList->currentRow() < 0) + { + QMessageBox msg; + msg.setText("Please add/select a step first!"); + msg.exec(); + return; + } + bIsStepEdited = true; + iStepEditPosition = ui->addProStepList->currentRow(); + qDebug() << "Step to be edited: " << iStepEditPosition; + mFrmAddStep.setParent(this, Qt::Window); + mFrmAddStep.setAttribute(Qt::WA_Maemo5StackedWindow); + mFrmAddStep.showStep((Steps &)mSteps.at(iStepEditPosition)); +}