Set default cancelId in JavaScript

This commit is contained in:
Cheng Zhao 2015-07-07 18:33:11 +08:00
parent b158427271
commit fb537d91fc
3 changed files with 14 additions and 19 deletions

View file

@ -92,7 +92,13 @@ module.exports =
options.message ?= ''
options.detail ?= ''
options.icon ?= null
options.cancelId ?= 0
unless options.cancelId?
options.cancelId = 0
for text, i in options.buttons
if text.toLowerCase() in ['cancel', 'no']
options.cancelId = i
break
binding.showMessageBox messageBoxType,
options.buttons,

View file

@ -93,19 +93,16 @@ class GtkMessageBox {
const char* TranslateToStock(int id, const std::string& text) {
std::string lower = base::StringToLowerASCII(text);
if (lower == "cancel") {
cancel_id_ = id;
if (lower == "cancel")
return GTK_STOCK_CANCEL;
} else if (lower == "no") {
cancel_id_ = id;
else if (lower == "no")
return GTK_STOCK_NO;
} else if (lower == "ok") {
else if (lower == "ok")
return GTK_STOCK_OK;
} else if (lower == "yes") {
else if (lower == "yes")
return GTK_STOCK_YES;
} else {
else
return text.c_str();
}
}
void Show() {

View file

@ -207,18 +207,10 @@ void MessageDialog::Close() {
}
int MessageDialog::GetResult() const {
// When the dialog is closed without choosing anything, we think the user
// chose 'Cancel', otherwise we think the default behavior is chosen.
if (result_ == -1) {
for (size_t i = 0; i < buttons_.size(); ++i)
if (LowerCaseEqualsASCII(buttons_[i]->GetText(), "cancel")) {
return i;
}
if (result_ == -1)
return cancel_id_;
} else {
else
return result_;
}
}
////////////////////////////////////////////////////////////////////////////////