MCPcopy Create free account
hub / github.com/KDE/kdevelop / createLaunchConfiguration

Method createLaunchConfiguration

kdevplatform/shell/runcontroller.cpp:980–1020  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

978}
979
980ILaunchConfiguration* RunController::createLaunchConfiguration ( LaunchConfigurationType* type,
981 const QPair<QString,QString>& launcher,
982 IProject* project, const QString& name )
983{
984 KConfigGroup launchGroup;
985 if( project )
986 {
987 launchGroup = project->projectConfiguration()->group( Strings::LaunchConfigurationsGroup() );
988
989 } else
990 {
991 launchGroup = Core::self()->activeSession()->config()->group( Strings::LaunchConfigurationsGroup() );
992
993 }
994 QStringList configs = launchGroup.readEntry( Strings::LaunchConfigurationsListEntry(), QStringList() );
995 uint num = 0;
996 QString baseName = QStringLiteral("Launch Configuration");
997 while( configs.contains( QStringLiteral( "%1 %2" ).arg( baseName ).arg( num ) ) )
998 {
999 num++;
1000 }
1001 QString groupName = QStringLiteral( "%1 %2" ).arg( baseName ).arg( num );
1002 KConfigGroup launchConfigGroup = launchGroup.group( groupName );
1003 QString cfgName = name;
1004 if( name.isEmpty() )
1005 {
1006 cfgName = i18n("New %1 Launcher", type->name() );
1007 cfgName = makeUnique(cfgName);
1008 }
1009
1010 launchConfigGroup.writeEntry(LaunchConfiguration::LaunchConfigurationNameEntry(), cfgName );
1011 launchConfigGroup.writeEntry(LaunchConfiguration::LaunchConfigurationTypeEntry(), type->id() );
1012 launchConfigGroup.sync();
1013 configs << groupName;
1014 launchGroup.writeEntry( Strings::LaunchConfigurationsListEntry(), configs );
1015 launchGroup.sync();
1016 auto* l = new LaunchConfiguration( launchConfigGroup, project );
1017 l->setLauncherForMode( launcher.first, launcher.second );
1018 Core::self()->runControllerInternal()->addLaunchConfiguration( l );
1019 return l;
1020}
1021
1022QItemDelegate * KDevelop::RunController::delegate() const
1023{

Callers 7

createEmptyLauncherMethod · 0.80
createConfigurationMethod · 0.80
launchAsMethod · 0.80
mainFunction · 0.80
suggestionTriggeredMethod · 0.80
suggestionTriggeredMethod · 0.80
createTestJobFunction · 0.80

Calls 15

QStringListClass · 0.85
makeUniqueFunction · 0.85
readEntryMethod · 0.80
writeEntryMethod · 0.80
setLauncherForModeMethod · 0.80
runControllerInternalMethod · 0.80
projectConfigurationMethod · 0.45
configMethod · 0.45
activeSessionMethod · 0.45

Tested by 1

createTestJobFunction · 0.64