You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.9 KiB
94 lines
2.9 KiB
15 years ago
|
/*
|
||
|
Copyright (C) 2001 Jeff Tranter
|
||
|
tranter@kde.org
|
||
|
|
||
|
This program is free software; you can redistribute it and/or modify
|
||
|
it under the terms of the GNU General Public License as published by
|
||
|
the Free Software Foundation; either version 2 of the License, or
|
||
|
(at your option) any later version.
|
||
|
|
||
|
This program is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
GNU General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License
|
||
|
along with this program; if not, write to the Free Software
|
||
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||
|
|
||
|
|
||
|
------------------------------------------------------------------------
|
||
|
|
||
|
This application displays an error, warning, or informational message
|
||
|
in a dialog. It is normally used by artsd in conjunction with the -m
|
||
|
option. By abstracting this out of artsd, we keep it independent of
|
||
|
any particular graphics toolkit.
|
||
|
|
||
|
This version uses KDE. Equivalent versions could be written using Qt,
|
||
|
Gnome, etc. and used instead.
|
||
|
|
||
|
*/
|
||
|
|
||
|
#include <qregexp.h>
|
||
|
|
||
|
#include <klocale.h>
|
||
|
#include <kglobal.h>
|
||
|
#include <kapplication.h>
|
||
|
#include <kaboutdata.h>
|
||
|
#include <kmessagebox.h>
|
||
|
#include <kcmdlineargs.h>
|
||
|
|
||
|
// command line options
|
||
|
static KCmdLineOptions options[] =
|
||
|
{
|
||
|
{ "e", 0,0 },
|
||
|
{ "error", I18N_NOOP("Display error message (default)"), 0 },
|
||
|
{ "w", 0, 0},
|
||
|
{ "warning", I18N_NOOP("Display warning message"), 0 },
|
||
|
{ "i", 0, 0 },
|
||
|
{ "info", I18N_NOOP("Display informational message"), 0 },
|
||
|
{ "+message", I18N_NOOP("Message string to be displayed"), 0 },
|
||
|
KCmdLineLastOption // End of options.
|
||
|
};
|
||
|
|
||
|
KAboutData aboutData("artsmessage", I18N_NOOP("artsmessage"), "0.1",
|
||
|
I18N_NOOP("Utility to display aRts error messages"),
|
||
|
KAboutData::License_GPL, "(c) 2001, Jeff Tranter", 0, 0, "tranter@kde.org");
|
||
|
|
||
|
int main(int argc, char **argv) {
|
||
|
aboutData.addAuthor("Jeff Tranter", 0, "tranter@kde.org");
|
||
|
KGlobal::locale()->setMainCatalogue("kdelibs");
|
||
|
KCmdLineArgs::init(argc, argv, &aboutData);
|
||
|
KCmdLineArgs::addCmdLineOptions(options);
|
||
|
KApplication app;
|
||
|
|
||
|
KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
|
||
|
QString msg;
|
||
|
|
||
|
// must be at least one argument
|
||
|
if (args->count() == 0) {
|
||
|
args->usage();
|
||
|
}
|
||
|
|
||
|
// build up message string from remaining arguments
|
||
|
for (int i = 0; i < args->count(); i++) {
|
||
|
if (i == 0)
|
||
|
msg = args->arg(i);
|
||
|
else
|
||
|
msg += QString(" ") + args->arg(i);
|
||
|
}
|
||
|
|
||
|
const int notifyOptions = 0; // never activate KNotify
|
||
|
if (args->isSet("w")) {
|
||
|
KMessageBox::sorry(0, msg, i18n("Warning"), notifyOptions);
|
||
|
} else if (args->isSet("i")) {
|
||
|
QString id = msg;
|
||
|
id.replace(QRegExp("[\\[\\]\\s=]"), "_");
|
||
|
KMessageBox::information(0, msg, i18n("Informational"), id, notifyOptions);
|
||
|
} else {
|
||
|
KMessageBox::error(0, msg, i18n("Error"), notifyOptions);
|
||
|
}
|
||
|
|
||
|
return 0;
|
||
|
}
|