File indexing completed on 2024-04-21 04:02:48
0001 /*************************************************************************** 0002 main.cpp - main file for KMuddy 0003 This file is a part of KMuddy distribution. 0004 ------------------- 0005 begin : Fri Jun 14 12:37:51 CEST 2002 0006 copyright : (C) 2002 by Tomas Mecir 0007 email : kmuddy@kmuddy.com 0008 ***************************************************************************/ 0009 0010 /*************************************************************************** 0011 * * 0012 * This program is free software; you can redistribute it and/or modify * 0013 * it under the terms of the GNU General Public License as published by * 0014 * the Free Software Foundation; either version 2 of the License, or * 0015 * (at your option) any later version. * 0016 * * 0017 ***************************************************************************/ 0018 0019 #include <KAboutData> 0020 #include <KLocalizedString> 0021 #include <QApplication> 0022 #include <Kdelibs4ConfigMigrator> 0023 0024 #include <signal.h> 0025 0026 #include "kmuddy-version.h" 0027 #include "kmuddy.h" 0028 #include "cglobalsettings.h" 0029 0030 #define DESCRIPTION i18n("KMuddy is a MUD (Multi-User Dungeon) client by KDE with a variety of features.") 0031 0032 int main(int argc, char *argv[]) 0033 { 0034 QApplication a (argc, argv); 0035 KLocalizedString::setApplicationDomain("kmuddy"); 0036 QApplication::setApplicationDisplayName(i18n("KMuddy")); 0037 0038 KAboutData aboutData ("kmuddy", i18n("KMuddy"), 0039 VERSION, DESCRIPTION, KAboutLicense::GPL, 0040 i18n("(c) 2002-2018, Tomas Mecir"), QString(), "http://www.kmuddy.com/", "mecirt@gmail.com"); 0041 aboutData.addAuthor(i18n ("Tomas Mecir"), 0042 i18n("Main developer and maintainer"), "mecirt@gmail.com"); 0043 aboutData.addCredit(i18n("Alex Bache"), 0044 i18n("Many improvements in external scripting, internal script parser, output view and aliases/triggers, bugfixes"), "alex.bache@ntlworld.com"); 0045 aboutData.addCredit(i18n("Alsherok staff"), 0046 i18n("for releasing AFKMud codebase, used to test MCCP/MSP")); 0047 aboutData.addCredit(i18n("Andrea Cascio"), 0048 i18n("SuSE RPMs, speed-walking improvements"), "hacksaw@triangolo.it"); 0049 aboutData.addCredit(i18n("Orion Elder"), 0050 i18n("KMuddy forum, many ideas"), "orion@mudplanet.org"); 0051 aboutData.addCredit(i18n("Scott Monachello"), 0052 i18n("Improvements in scripting, bugfixes"), "smonachello@yahoo.com"); 0053 aboutData.addCredit(i18n("Tyler Montbriand"), 0054 i18n("Help with SDL support"), "tsm@accesscomm.ca"); 0055 aboutData.addCredit(i18n("Marco Mastroddi"), 0056 i18n("Tick timers"), "marco.mastroddi@libero.it"); 0057 aboutData.addCredit (i18n("Henrikki Almusa"), 0058 i18n("Commands to enable/disable groups"), "hena@iki.fi"); 0059 aboutData.addCredit(i18n("Drossos Stamboulakis"), 0060 i18n("Selection improvements, full screen mode, cross-tab commands"), "adsluard@tpg.com.au"); 0061 aboutData.addCredit (i18n("Antonio J. Soler Sanchez"), 0062 i18n("Spanish translation"), "redtony@telefonica.net"); 0063 aboutData.addCredit(i18n("lontau"), 0064 i18n("Code to access KMuddy variables in Ruby")); 0065 aboutData.addCredit (i18n("Magnus Lundborg"), i18n("Tab-expansion improvements"), "lundborg.magnus@gmail.com"); 0066 aboutData.addCredit(i18n("Vladimir Lazarenko"), 0067 i18n("Many improvements. Hosting KMuddy CVS."), "vlad@lazarenko.net"); 0068 aboutData.addCredit(i18n("Stuart Henshall"), 0069 i18n("Speed improvements."), "shenshall@blueyonder.co.uk"); 0070 aboutData.addCredit(i18n("Vadim Peretokin"), 0071 i18n("Many improvements, website"), "vadimuses@gmail.com"); 0072 aboutData.addCredit(i18n("Heiko Koehn"), 0073 i18n("Scripting improvements"), "koehnheiko@googlemail.com"); 0074 aboutData.addCredit(i18n("Robert Marmorstein"), 0075 i18n("Systray icon support"), "robertandbeth@gmail.com"); 0076 KAboutData::setApplicationData (aboutData); 0077 QApplication::setWindowIcon(QIcon::fromTheme(QStringLiteral("kmuddy"))); 0078 0079 //alarm signal is sometimes causing KMuddy to terminate incorrectly 0080 //when switching tabs using Alt+number - ignoring the signal, hoping 0081 //for the best... 0082 signal (SIGALRM, SIG_IGN); 0083 0084 // migrate settings from kde4 0085 Kdelibs4ConfigMigrator migrator(QStringLiteral("kmuddy")); // the same name defined in the aboutData 0086 // all the config files of your application 0087 migrator.setConfigFiles(QStringList() << QStringLiteral("kmuddyrc")); 0088 // list of KXMLGUI files used by your application 0089 migrator.setUiFiles(QStringList() << QStringLiteral("kmuddymapperpart.rc")); 0090 migrator.migrate(); 0091 0092 KMuddy *kmuddy = nullptr; 0093 0094 /* 0095 if (a.isSessionRestored ()) //session management 0096 RESTORE(KMuddy); //DOES NOT WORK - we need kmuddy object in the program 0097 //and I couldn't find a way to get to it after RESTORE (mainWidget 0098 //didn't work (?)) 0099 else 0100 { 0101 */ 0102 //normal startup 0103 kmuddy = KMuddy::self(); 0104 /* 0105 } 0106 */ 0107 //event handler for macro keys 0108 a.installEventFilter (kmuddy); 0109 0110 kmuddy->show(); 0111 0112 int retCode = a.exec (); 0113 0114 //Looks like KApplication deletes the widget using deleteLater, resulting 0115 //in double deleting and problems. We therefore keep the object alive, 0116 //hoping for the best 0117 0118 //delete kmuddy; 0119 0120 return retCode; 0121 } 0122