diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp index e08e39238123b2c8b3614bf532957137b41a81b5..766b798b1dad2c03814b2447dcbec92b1ee158dc 100644 --- a/src/plugins/clearcase/clearcaseplugin.cpp +++ b/src/plugins/clearcase/clearcaseplugin.cpp @@ -920,9 +920,14 @@ void ClearCasePlugin::undoCheckOutCurrent() QDialog uncoDlg; uncoUi.setupUi(&uncoDlg); uncoUi.lblMessage->setText(tr("Do you want to undo the check out of \"%1\"?").arg(fileName)); + uncoUi.chkKeep->setChecked(m_settings.keepFileUndoCheckout); if (uncoDlg.exec() != QDialog::Accepted) return; keep = uncoUi.chkKeep->isChecked(); + if (keep != m_settings.keepFileUndoCheckout) { + m_settings.keepFileUndoCheckout = keep; + m_settings.toSettings(ICore::settings()); + } } vcsUndoCheckOut(state.topLevel(), file, keep); } diff --git a/src/plugins/clearcase/clearcasesettings.cpp b/src/plugins/clearcase/clearcasesettings.cpp index 1c75fae46b77ea40a57fc4f08f5c96e55a504b4e..4eebc9d2df798c042144c379fb19fe21e0d60bd2 100644 --- a/src/plugins/clearcase/clearcasesettings.cpp +++ b/src/plugins/clearcase/clearcasesettings.cpp @@ -43,6 +43,7 @@ static const char historyCountKeyC[] = "HistoryCount"; static const char timeOutKeyC[] = "TimeOut"; static const char autoCheckOutKeyC[] = "AutoCheckOut"; static const char noCommentKeyC[] = "NoComment"; +static const char keepFileUndoCheckoutKeyC[] = "KeepFileUnDoCheckout"; static const char diffTypeKeyC[] = "DiffType"; static const char diffArgsKeyC[] = "DiffArgs"; static const char autoAssignActivityKeyC[] = "AutoAssignActivityName"; @@ -69,6 +70,7 @@ ClearCaseSettings::ClearCaseSettings() : autoAssignActivityName(true), autoCheckOut(true), noComment(false), + keepFileUndoCheckout(true), promptToCheckIn(false), disableIndexer(false), extDiffAvailable(false), @@ -84,6 +86,7 @@ void ClearCaseSettings::fromSettings(QSettings *settings) timeOutS = settings->value(QLatin1String(timeOutKeyC), defaultTimeOutS).toInt(); autoCheckOut = settings->value(QLatin1String(autoCheckOutKeyC), false).toBool(); noComment = settings->value(QLatin1String(noCommentKeyC), false).toBool(); + keepFileUndoCheckout = settings->value(QLatin1String(keepFileUndoCheckoutKeyC), true).toBool(); QString sDiffType = settings->value(QLatin1String(diffTypeKeyC), QLatin1String("Graphical")).toString(); switch (sDiffType[0].toUpper().toLatin1()) { case 'G': diffType = GraphicalDiff; break; @@ -112,6 +115,7 @@ void ClearCaseSettings::toSettings(QSettings *settings) const settings->setValue(QLatin1String(commandKeyC), ccCommand); settings->setValue(QLatin1String(autoCheckOutKeyC), autoCheckOut); settings->setValue(QLatin1String(noCommentKeyC), noComment); + settings->setValue(QLatin1String(keepFileUndoCheckoutKeyC), keepFileUndoCheckout); settings->setValue(QLatin1String(timeOutKeyC), timeOutS); QString sDiffType; switch (diffType) { @@ -136,16 +140,17 @@ void ClearCaseSettings::toSettings(QSettings *settings) const bool ClearCaseSettings::equals(const ClearCaseSettings &s) const { - return ccCommand == s.ccCommand - && historyCount == s.historyCount - && timeOutS == s.timeOutS - && autoCheckOut == s.autoCheckOut - && noComment == s.noComment - && diffType == s.diffType - && diffArgs == s.diffArgs + return ccCommand == s.ccCommand + && historyCount == s.historyCount + && timeOutS == s.timeOutS + && autoCheckOut == s.autoCheckOut + && noComment == s.noComment + && keepFileUndoCheckout == s.keepFileUndoCheckout + && diffType == s.diffType + && diffArgs == s.diffArgs && autoAssignActivityName == s.autoAssignActivityName - && promptToCheckIn == s.promptToCheckIn - && disableIndexer == s.disableIndexer - && indexOnlyVOBs == s.indexOnlyVOBs - && totalFiles == s.totalFiles; + && promptToCheckIn == s.promptToCheckIn + && disableIndexer == s.disableIndexer + && indexOnlyVOBs == s.indexOnlyVOBs + && totalFiles == s.totalFiles; } diff --git a/src/plugins/clearcase/clearcasesettings.h b/src/plugins/clearcase/clearcasesettings.h index f0fe8446aa50a55add7476e651c92c4d03ce8c1d..1bd880c1e5d6e54b3a3ed5ceb564392b3c696453 100644 --- a/src/plugins/clearcase/clearcasesettings.h +++ b/src/plugins/clearcase/clearcasesettings.h @@ -69,6 +69,7 @@ public: bool autoAssignActivityName; bool autoCheckOut; bool noComment; + bool keepFileUndoCheckout; bool promptToCheckIn; bool disableIndexer; bool extDiffAvailable;