Add detailedsorry and detailderror support to kdialog

DIGEST: For all those of you writing handy console scripts, kdialog now supports detailederror and detailedsorry methods for providing additional information in a messagebox
REVIEW: 105304
This commit is contained in:
Kai Uwe Broulik 2013-10-14 20:39:41 +02:00
parent e8035defa9
commit aa3982d83a

View file

@ -278,10 +278,16 @@ static int directCommand(KCmdLineArgs *args)
option = "sorry";
type = KMessageBox::Sorry;
}
else if (args->isSet("detailedsorry")) {
option = "detailedsorry";
}
else if (args->isSet("error")) {
option = "error";
type = KMessageBox::Error;
}
else if (args->isSet("detailederror")) {
option = "detailederror";
}
else if (args->isSet("msgbox")) {
option = "msgbox";
type = KMessageBox::Information;
@ -305,13 +311,22 @@ static int directCommand(KCmdLineArgs *args)
else
qDebug( "Incorrect --dontagain!" );
}
int ret;
int ret = 0;
QString text = Widgets::parseString(args->getOption(option));
QString details;
if (args->count() == 1) {
details = Widgets::parseString(args->arg(0));
}
if ( type == KMessageBox::WarningContinueCancel ) {
ret = KMessageBox::messageBox( 0, type, text, title, continueButton,
noButton, cancelButton, dontagain );
} else if (option == "detailedsorry") {
KMessageBox::detailedSorry( 0, text, details, title );
} else if (option == "detailederror") {
KMessageBox::detailedError( 0, text, details, title );
} else {
ret = KMessageBox::messageBox( 0, type, text, title,
yesButton, noButton, cancelButton, dontagain );
@ -852,7 +867,9 @@ int main(int argc, char *argv[])
options.add("cancel-label <text>", ki18n("Use text as Cancel button label"));
options.add("continue-label <text>", ki18n("Use text as Continue button label"));
options.add("sorry <text>", ki18n("'Sorry' message box"));
options.add("detailedsorry <text> <details>", ki18n("'Sorry' message box with expandable Details field"));
options.add("error <text>", ki18n("'Error' message box"));
options.add("detailederror <text> <details>", ki18n("'Error' message box with expandable Details field"));
options.add("msgbox <text>", ki18n("Message Box dialog"));
options.add("inputbox <text> <init>", ki18n("Input Box dialog"));
options.add("password <text>", ki18n("Password dialog"));