• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • KDevelop Generic Shell
 

KDevelop Generic Shell

  • src
main.cpp
1#include <config.h>
2
3#include <tdeaboutdata.h>
4#include <tdeapplication.h>
5#include <tdecmdlineargs.h>
6#include <tdelocale.h>
7#include <tdemainwindow.h>
8#include <kstandarddirs.h>
9#include <kdebug.h>
10#include <dcopclient.h>
11
12#include <tqfileinfo.h>
13
14#include "splashscreen.h"
15#include "toplevel.h"
16#include "plugincontroller.h"
17#include "partcontroller.h"
18#include "core.h"
19#include "projectmanager.h"
20
21#include "kdevideextension.h"
22
23static TDECmdLineOptions options[] =
24{
25 { "profile <profile>", I18N_NOOP("Profile to load"), 0 },
26 { "+file(s)", I18N_NOOP("Files to load"), 0 },
27 { 0,0,0 }
28};
29
30int main(int argc, char *argv[])
31{
32 static const char description[] = I18N_NOOP("The TDevelop Integrated Development Environment");
33 TDEAboutData aboutData("tdevelop", I18N_NOOP("TDevelop"),
34 VERSION, description, TDEAboutData::License_GPL,
35 I18N_NOOP("(c) 1999-2007, The KDevelop developers"), "", "http://www.kdevelop.org");
36 aboutData.addAuthor("Alexander Dymo", I18N_NOOP("Release coordinator, Overall improvements, Pascal support, C++ support, New File and Documentation parts"), "adymo@kdevelop.org");
37 aboutData.addAuthor("Amilcar do Carmo Lucas", I18N_NOOP("Release coordinator, API documentation, Doxygen and autoproject patches"), "amilcar@ida.ing.tu-bs.de");
38 aboutData.addAuthor("David Nolden", I18N_NOOP("Advanced C++ code completion, C++ support, overall improvements"), "david.nolden.kdevelop@art-master.de");
39 aboutData.addAuthor("Bernd Gehrmann", I18N_NOOP("Initial idea, basic architecture, much initial source code"), "bernd@kdevelop.org");
40 aboutData.addAuthor("Caleb Tennis", I18N_NOOP("KTabBar, bugfixes"), "caleb@aei-tech.com");
41 aboutData.addAuthor("Richard Dale", I18N_NOOP("Java & Objective C support"), "Richard_Dale@tipitina.demon.co.uk");
42 aboutData.addAuthor("John Birch", I18N_NOOP("Debugger frontend"), "jbb@kdevelop.org");
43 aboutData.addAuthor("Vladimir Prus", I18N_NOOP("Debugger frontend"), "ghost@cs.msu.su");
44 aboutData.addAuthor("Sandy Meier", I18N_NOOP("PHP support, context menu stuff"), "smeier@kdevelop.org");
45 aboutData.addAuthor("Kurt Granroth", I18N_NOOP("TDE application templates"), "kurth@granroth.org");
46 aboutData.addAuthor("Ian Reinhart Geiser", I18N_NOOP("Dist part, bash support, application templates"), "geiseri@yahoo.com");
47 aboutData.addAuthor("Matthias Hoelzer-Kluepfel", I18N_NOOP("Several components, htdig indexing"), "hoelzer@kde.org");
48 aboutData.addAuthor("Victor Roeder", I18N_NOOP("Help with Automake manager and persistent class store"), "victor_roeder@gmx.de");
49 aboutData.addAuthor("Megan Webb", I18N_NOOP("Automake manager patches, Astyle plugin update, plugin patches and improvements"),"tdeveloper.megan@gmail.com");
50 aboutData.addAuthor("Harald Fernengel", I18N_NOOP("Ported to TQt 3, patches, valgrind, diff and perforce support"), "harry@kdevelop.org");
51 aboutData.addAuthor("Roberto Raggi", I18N_NOOP("TQEditor component, code completion, Abbrev component, C++ support, Java support"), "roberto@kdevelop.org");
52 aboutData.addAuthor("Simon Hausmann", I18N_NOOP("Help with KParts infrastructure"), "hausmann@kde.org");
53 aboutData.addAuthor("Oliver Kellogg", I18N_NOOP("Ada support"), "okellogg@users.sourceforge.net");
54 aboutData.addAuthor("Andreas Pakulat", I18N_NOOP("TQMake projectmanager, TQt4 Support"), "apaku@gmx.de");
55 aboutData.addAuthor("Jakob Simon-Gaarde", I18N_NOOP("TQMake projectmanager"), "jsgaarde@tdcspace.dk");
56 aboutData.addAuthor("F@lk Brettschneider", I18N_NOOP("MDI modes, TQEditor, bugfixes"), "falkbr@kdevelop.org");
57 aboutData.addAuthor("Mario Scalas", I18N_NOOP("PartExplorer, redesign of CvsPart, patches, bugs(fixes)"), "mario.scalas@libero.it");
58 aboutData.addAuthor("Jens Dagerbo", I18N_NOOP("Replace, Bookmarks, FileList and CTags2 plugins. Overall improvements and patches"), "jens.dagerbo@swipnet.se");
59 aboutData.addAuthor("Julian Rockey", I18N_NOOP("Filecreate part and other bits and patches"), "linux@jrockey.com");
60 aboutData.addCredit("Ajay Guleria", I18N_NOOP("ClearCase support"), "ajay_guleria@yahoo.com");
61 aboutData.addCredit("Marek Janukowicz", I18N_NOOP("Ruby support"), "child@t17.ds.pwr.wroc.pl");
62
63 aboutData.addCredit("The KWrite authors", I18N_NOOP("Kate editor component"), "kwrite-devel@kde.org");
64 aboutData.addCredit("The TDEHTML authors", I18N_NOOP("HTML documentation component"), "kwrite-devel@kde.org");
65 aboutData.addCredit("Robert Moniot", I18N_NOOP("Fortran documentation"), "moniot@fordham.edu");
66 aboutData.addCredit("Ka-Ping Yee", I18N_NOOP("Python documentation utility"), "ping@lfw.org");
67 aboutData.addCredit("Dimitri van Heesch", I18N_NOOP("Doxygen wizard"), "dimitri@stack.nl");
68 aboutData.addCredit("Hugo Varotto", I18N_NOOP("Fileselector component"), "hugo@varotto-usa.com");
69 aboutData.addCredit("Matt Newell", I18N_NOOP("Fileselector component"), "newellm@proaxis.com");
70 aboutData.addCredit("Trolltech AS", I18N_NOOP("Designer code"), "info@trolltech.com");
71 aboutData.addCredit("Daniel Engelschalt", I18N_NOOP("C++ code completion, persistent class store"), "daniel.engelschalt@gmx.net");
72 aboutData.addCredit("Stephane ANCELOT", I18N_NOOP("Patches"), "sancelot@free.fr");
73 aboutData.addCredit("Jens Zurheide", I18N_NOOP("Patches"), "jens.zurheide@gmx.de");
74 aboutData.addCredit("Luc Willems", I18N_NOOP("Help with Perl support"), "Willems.luc@pandora.be");
75 aboutData.addCredit("Marcel Turino", I18N_NOOP("Documentation index view"), "M.Turino@gmx.de");
76 aboutData.addCredit("Yann Hodique", I18N_NOOP("Patches"), "Yann.Hodique@lifl.fr");
77 aboutData.addCredit("Tobias Gl\303\244\303\237er" , I18N_NOOP("Documentation Finder, qmake projectmanager patches, usability improvements, bugfixes ... "), "tobi.web@gmx.de");
78 aboutData.addCredit("Andreas Koepfle" , I18N_NOOP("TQMake project manager patches"), "koepfle@ti.uni-mannheim.de");
79 aboutData.addCredit("Sascha Cunz" , I18N_NOOP("Cleanup and bugfixes for qEditor, AutoMake and much other stuff"), "sascha@kdevelop.org");
80 aboutData.addCredit("Robert Gruber" , I18N_NOOP("SnippetPart, debugger and usability patches"), "rgruber@users.sourceforge.net");
81 aboutData.addCredit("Zoran Karavla", I18N_NOOP("Artwork for the Ruby language"), "webmaster@the-error.net", "http://the-error.net");
82
83 TDECmdLineArgs::init(argc, argv, &aboutData);
84 TDECmdLineArgs::addCmdLineOptions( options );
85 TDECmdLineArgs* args = TDECmdLineArgs::parsedArgs();
86
87 TDEApplication app;
88
89 KDevIDEExtension::init();
90
91 KDevSplashScreen *splash = 0;
92 TQString splashFile = locate("appdata", "pics/tdevelop-splash.png");
93 if (!splashFile.isEmpty())
94 {
95 TQPixmap pm;
96 pm.load(splashFile);
97 splash = new KDevSplashScreen( pm );
98 }
99
100 app.processEvents();
101
102 if (splash) splash->message( i18n( "Loading Settings" ) );
103 TopLevel::getInstance()->loadSettings();
104
105 TQObject::connect(PluginController::getInstance(), TQ_SIGNAL(loadingPlugin(const TQString &)),
106 splash, TQ_SLOT(message(const TQString &)));
107 if (splash) splash->show();
108
109 PluginController::getInstance()->loadInitialPlugins();
110
111 Core::getInstance()->doEmitCoreInitialized();
112
113 if (splash) splash->message( i18n( "Starting GUI" ) );
114 TopLevel::getInstance()->main()->show();
115
116 if (splash) delete splash;
117
118 for( int i=0; i<args->count(); ++i ){
119 kdDebug(9000) << "------> arg " << args->arg(i) << endl;
120 }
121
122 bool openProject = false;
123 if( args->count() == 0 ){
124 ProjectManager::getInstance()->loadDefaultProject();
125 openProject = true;
126 } else if( args->count() > 0 ){
127 KURL url = args->url( 0 );
128 TQString ext = TQFileInfo( url.fileName() ).extension();
129 if( ext == "kdevelop" ){
130 ProjectManager::getInstance()->loadProject( url );
131 openProject = true;
132 }
133 }
134
135 if( !openProject ){
136 for( int a=0; a<args->count(); ++a ){
137 PartController::getInstance()->editDocument( KURL(args->url(a)) );
138 }
139 }
140
141 kapp->dcopClient()->registerAs("tdevelop");
142
143 int ret = app.exec();
144
145 ProjectManager::getInstance()->closeProject( true ); // exiting
146 delete ProjectManager::getInstance();
147
148 delete PluginController::getInstance();
149 if (TopLevel::mainWindowValid())
150 delete TopLevel::getInstance();
151
152 return ret;
153}
KDevSplashScreen
Splash screen.
Definition splashscreen.h:15
ProjectManager::closeProject
bool closeProject(bool exiting=false)
Definition projectmanager.cpp:312
TopLevel::getInstance
static KDevMainWindow * getInstance()
Get a pointer to the single KDevTopLevel object.
Definition toplevel.cpp:18

KDevelop Generic Shell

Skip menu "KDevelop Generic Shell"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

KDevelop Generic Shell

Skip menu "KDevelop Generic Shell"
  • buildtools
  •   lib
  •     base
  •     parsers
  •       autotools
  •       qmake
  •     widgets
  •   api
  • languages
  •   lib
  •     debugger
  •     designer_integration
  •     interfaces
  • lib
  •   catalog
  •   interfaces
  •     extensions
  •     external
  •     extras
  •   util
  •   widgets
  •     propeditor
  • parts
  •   documentation
  •     interfaces
  • src
  •   profileengine
  •     lib
Generated for KDevelop Generic Shell by doxygen 1.9.8
This website is maintained by Timothy Pearson.