1 /****************************************************************************
2 **
3 ** Copyright (C) 2016 The Qt Company Ltd.
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of Qt Creator.
7 **
8 ** Commercial License Usage
9 ** Licensees holding valid commercial Qt licenses may use this file in
10 ** accordance with the commercial license agreement provided with the
11 ** Software or, alternatively, in accordance with the terms contained in
12 ** a written agreement between you and The Qt Company. For licensing terms
13 ** and conditions see https://www.qt.io/terms-conditions. For further
14 ** information use the contact form at https://www.qt.io/contact-us.
15 **
16 ** GNU General Public License Usage
17 ** Alternatively, this file may be used under the terms of the GNU
18 ** General Public License version 3 as published by the Free Software
19 ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
20 ** included in the packaging of this file. Please review the following
21 ** information to ensure the GNU General Public License requirements will
22 ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
23 **
24 ****************************************************************************/
25 
26 #pragma once
27 
28 #include "projectexplorer_export.h"
29 
30 namespace ProjectExplorer {
31 namespace Constants {
32 
33 // Modes and their priorities
34 const char MODE_SESSION[]         = "Project";
35 
36 // Actions
37 const char BUILD[]                = "ProjectExplorer.Build";
38 const char STOP[]                 = "ProjectExplorer.Stop";
39 const char ADDNEWFILE[]           = "ProjectExplorer.AddNewFile";
40 const char FILEPROPERTIES[]       = "ProjectExplorer.FileProperties";
41 const char RENAMEFILE[]           = "ProjectExplorer.RenameFile";
42 const char REMOVEFILE[]           = "ProjectExplorer.RemoveFile";
43 
44 // Context
45 const char C_PROJECTEXPLORER[]    = "Project Explorer";
46 const char C_PROJECT_TREE[]       = "ProjectExplorer.ProjectTreeContext";
47 
48 // Menus
49 const char M_BUILDPROJECT[]       = "ProjectExplorer.Menu.Build";
50 const char M_DEBUG[]              = "ProjectExplorer.Menu.Debug";
51 const char M_DEBUG_STARTDEBUGGING[] = "ProjectExplorer.Menu.Debug.StartDebugging";
52 
53 // Menu groups
54 const char G_BUILD_BUILD[]        = "ProjectExplorer.Group.Build";
55 const char G_BUILD_ALLPROJECTS[]  = "ProjectExplorer.Group.AllProjects";
56 const char G_BUILD_PROJECT[]      = "ProjectExplorer.Group.Project";
57 const char G_BUILD_PRODUCT[]      = "ProjectExplorer.Group.Product";
58 const char G_BUILD_SUBPROJECT[]   = "ProjectExplorer.Group.SubProject";
59 const char G_BUILD_FILE[]         = "ProjectExplorer.Group.File";
60 const char G_BUILD_ALLPROJECTS_ALLCONFIGURATIONS[] = "ProjectExplorer.Group.AllProjects.AllConfigurations";
61 const char G_BUILD_PROJECT_ALLCONFIGURATIONS[] = "ProjectExplorer.Group.Project.AllConfigurations";
62 const char G_BUILD_RUN[]          = "ProjectExplorer.Group.Run";
63 const char G_BUILD_CANCEL[]       = "ProjectExplorer.Group.BuildCancel";
64 
65 // Context menus
66 const char M_SESSIONCONTEXT[]     = "Project.Menu.Session";
67 const char M_PROJECTCONTEXT[]     = "Project.Menu.Project";
68 const char M_SUBPROJECTCONTEXT[]  = "Project.Menu.SubProject";
69 const char M_FOLDERCONTEXT[]      = "Project.Menu.Folder";
70 const char M_FILECONTEXT[]        = "Project.Menu.File";
71 const char M_OPENFILEWITHCONTEXT[] = "Project.Menu.File.OpenWith";
72 const char M_OPENTERMINALCONTEXT[] = "Project.Menu.File.OpenTerminal";
73 
74 // Context menu groups
75 const char G_SESSION_BUILD[]      = "Session.Group.Build";
76 const char G_SESSION_REBUILD[]     = "Session.Group.Rebuild";
77 const char G_SESSION_FILES[]      = "Session.Group.Files";
78 const char G_SESSION_OTHER[]      = "Session.Group.Other";
79 
80 const char G_PROJECT_FIRST[]      = "Project.Group.Open";
81 const char G_PROJECT_BUILD[]      = "Project.Group.Build";
82 const char G_PROJECT_REBUILD[]    = "Project.Group.Rebuild";
83 const char G_PROJECT_RUN[]        = "Project.Group.Run";
84 const char G_PROJECT_FILES[]      = "Project.Group.Files";
85 const char G_PROJECT_TREE[]       = "Project.Group.Tree";
86 const char G_PROJECT_LAST[]       = "Project.Group.Last";
87 
88 const char G_FOLDER_LOCATIONS[]   = "ProjectFolder.Group.Locations";
89 const char G_FOLDER_FILES[]       = "ProjectFolder.Group.Files";
90 const char G_FOLDER_OTHER[]       = "ProjectFolder.Group.Other";
91 const char G_FOLDER_CONFIG[]      = "ProjectFolder.Group.Config";
92 
93 const char G_FILE_OPEN[]          = "ProjectFile.Group.Open";
94 const char G_FILE_OTHER[]         = "ProjectFile.Group.Other";
95 const char G_FILE_CONFIG[]        = "ProjectFile.Group.Config";
96 
97 // Mime types
98 const char C_SOURCE_MIMETYPE[]    = "text/x-csrc";
99 const char C_HEADER_MIMETYPE[]    = "text/x-chdr";
100 const char CPP_SOURCE_MIMETYPE[]  = "text/x-c++src";
101 const char CPP_HEADER_MIMETYPE[]  = "text/x-c++hdr";
102 const char LINGUIST_MIMETYPE[]    = "text/vnd.trolltech.linguist";
103 const char FORM_MIMETYPE[]        = "application/x-designer";
104 const char QML_MIMETYPE[]         = "text/x-qml"; // separate def also in qmljstoolsconstants.h
105 const char QMLUI_MIMETYPE[]       = "application/x-qt.ui+qml";
106 const char RESOURCE_MIMETYPE[]    = "application/vnd.qt.xml.resource";
107 const char SCXML_MIMETYPE[]       = "application/scxml+xml";
108 
109 // Kits settings category
110 const char KITS_SETTINGS_CATEGORY[]  = "A.Kits";
111 
112 // Kits pages
113 const char KITS_SETTINGS_PAGE_ID[] = "D.ProjectExplorer.KitsOptions";
114 const char SSH_SETTINGS_PAGE_ID[] = "F.ProjectExplorer.SshOptions";
115 const char TOOLCHAIN_SETTINGS_PAGE_ID[] = "M.ProjectExplorer.ToolChainOptions";
116 const char DEBUGGER_SETTINGS_PAGE_ID[] = "N.ProjectExplorer.DebuggerOptions";
117 const char CUSTOM_PARSERS_SETTINGS_PAGE_ID[] = "X.ProjectExplorer.CustomParsersSettingsPage";
118 
119 // Build and Run settings category
120 const char BUILD_AND_RUN_SETTINGS_CATEGORY[]  = "K.BuildAndRun";
121 
122 // Build and Run page
123 const char BUILD_AND_RUN_SETTINGS_PAGE_ID[] = "A.ProjectExplorer.BuildAndRunOptions";
124 
125 // Device settings page
126 const char DEVICE_SETTINGS_CATEGORY[] = "XW.Devices";
127 const char DEVICE_SETTINGS_PAGE_ID[] = "AA.Device Settings";
128 
129 // Task categories
130 const char TASK_CATEGORY_COMPILE[] = "Task.Category.Compile";
131 const char TASK_CATEGORY_BUILDSYSTEM[] = "Task.Category.Buildsystem";
132 const char TASK_CATEGORY_DEPLOYMENT[] = "Task.Category.Deploy";
133 const char TASK_CATEGORY_AUTOTEST[] = "Task.Category.Autotest";
134 
135 // Wizard categories
136 const char QT_PROJECT_WIZARD_CATEGORY[] = "H.Project";
137 const char QT_PROJECT_WIZARD_CATEGORY_DISPLAY[] = QT_TRANSLATE_NOOP("ProjectExplorer", "Other Project");
138 
139 const char QT_APPLICATION_WIZARD_CATEGORY[] = "F.Application";
140 const char QT_APPLICATION_WIZARD_CATEGORY_DISPLAY[] = QT_TRANSLATE_NOOP("ProjectExplorer", "Application");
141 
142 const char LIBRARIES_WIZARD_CATEGORY[] = "G.Library";
143 const char LIBRARIES_WIZARD_CATEGORY_DISPLAY[] = QT_TRANSLATE_NOOP("ProjectExplorer", "Library");
144 
145 const char IMPORT_WIZARD_CATEGORY[] = "T.Import";
146 const char IMPORT_WIZARD_CATEGORY_DISPLAY[] = QT_TRANSLATE_NOOP("ProjectExplorer", "Import Project");
147 
148 // Wizard extra values
149 const char PREFERRED_PROJECT_NODE[] = "ProjectExplorer.PreferredProjectNode";
150 const char PREFERRED_PROJECT_NODE_PATH[] = "ProjectExplorer.PreferredProjectPath";
151 const char PROJECT_POINTER[] = "ProjectExplorer.Project";
152 const char PROJECT_KIT_IDS[] = "ProjectExplorer.Profile.Ids";
153 const char QT_KEYWORDS_ENABLED[] = "ProjectExplorer.QtKeywordsEnabled";
154 
155 // Build step lists ids:
156 const char BUILDSTEPS_CLEAN[] = "ProjectExplorer.BuildSteps.Clean";
157 const char BUILDSTEPS_BUILD[] = "ProjectExplorer.BuildSteps.Build";
158 const char BUILDSTEPS_DEPLOY[] = "ProjectExplorer.BuildSteps.Deploy";
159 
160 // Language
161 
162 // Keep these short: These constants are exposed to the MacroExplorer!
163 const char C_LANGUAGE_ID[] = "C";
164 const char CXX_LANGUAGE_ID[] = "Cxx";
165 const char QMLJS_LANGUAGE_ID[] = "QMLJS";
166 const char PYTHON_LANGUAGE_ID[] = "Python";
167 
168 // ToolChain TypeIds
169 const char CLANG_TOOLCHAIN_TYPEID[] = "ProjectExplorer.ToolChain.Clang";
170 const char GCC_TOOLCHAIN_TYPEID[] = "ProjectExplorer.ToolChain.Gcc";
171 const char LINUXICC_TOOLCHAIN_TYPEID[] = "ProjectExplorer.ToolChain.LinuxIcc";
172 const char MINGW_TOOLCHAIN_TYPEID[] = "ProjectExplorer.ToolChain.Mingw";
173 const char MSVC_TOOLCHAIN_TYPEID[] = "ProjectExplorer.ToolChain.Msvc";
174 const char CLANG_CL_TOOLCHAIN_TYPEID[] = "ProjectExplorer.ToolChain.ClangCl";
175 const char CUSTOM_TOOLCHAIN_TYPEID[] = "ProjectExplorer.ToolChain.Custom";
176 
177 // Default directory to run custom (build) commands in.
178 const char DEFAULT_WORKING_DIR[] = "%{buildDir}";
179 const char DEFAULT_WORKING_DIR_ALTERNATE[] = "%{sourceDir}";
180 
181 // Desktop Device related ids:
182 const char DESKTOP_DEVICE_ID[] = "Desktop Device";
183 const char DESKTOP_DEVICE_TYPE[] = "Desktop";
184 const int DESKTOP_PORT_START = 30000;
185 const int DESKTOP_PORT_END = 31000;
186 
187 // Android ABIs
188 const char ANDROID_ABI_ARMEABI[] = "armeabi";
189 const char ANDROID_ABI_ARMEABI_V7A[] = "armeabi-v7a";
190 const char ANDROID_ABI_ARM64_V8A[] = "arm64-v8a";
191 const char ANDROID_ABI_X86[] = "x86";
192 const char ANDROID_ABI_X86_64[] = "x86_64";
193 
194 // Variable Names:
195 const char VAR_CURRENTPROJECT_PREFIX[] = "CurrentProject";
196 const char VAR_CURRENTPROJECT_NAME[] = "CurrentProject:Name";
197 const char VAR_CURRENTBUILD_NAME[] = "CurrentBuild:Name";
198 const char VAR_CURRENTBUILD_ENV[] = "CurrentBuild:Env";
199 
200 // JsonWizard:
201 const char PAGE_ID_PREFIX[] = "PE.Wizard.Page.";
202 const char GENERATOR_ID_PREFIX[] = "PE.Wizard.Generator.";
203 
204 // RunMode
205 const char NO_RUN_MODE[]="RunConfiguration.NoRunMode";
206 const char NORMAL_RUN_MODE[]="RunConfiguration.NormalRunMode";
207 const char DEBUG_RUN_MODE[]="RunConfiguration.DebugRunMode";
208 const char QML_PROFILER_RUN_MODE[]="RunConfiguration.QmlProfilerRunMode";
209 const char QML_PROFILER_RUNNER[]="RunConfiguration.QmlProfilerRunner";
210 const char QML_PREVIEW_RUN_MODE[]="RunConfiguration.QmlPreviewRunMode";
211 const char QML_PREVIEW_RUNNER[]="RunConfiguration.QmlPreviewRunner";
212 const char PERFPROFILER_RUN_MODE[]="PerfProfiler.RunMode";
213 const char PERFPROFILER_RUNNER[]="PerfProfiler.Runner";
214 
215 // Navigation Widget
216 const char PROJECTTREE_ID[] = "Projects";
217 
218 // File icon overlays
219 const char FILEOVERLAY_QT[]=":/projectexplorer/images/fileoverlay_qt.png";
220 const char FILEOVERLAY_GROUP[] = ":/projectexplorer/images/fileoverlay_group.png";
221 const char FILEOVERLAY_PRODUCT[] = ":/projectexplorer/images/fileoverlay_product.png";
222 const char FILEOVERLAY_MODULES[] = ":/projectexplorer/images/fileoverlay_modules.png";
223 const char FILEOVERLAY_QML[]=":/projectexplorer/images/fileoverlay_qml.png";
224 const char FILEOVERLAY_UI[]=":/projectexplorer/images/fileoverlay_ui.png";
225 const char FILEOVERLAY_QRC[]=":/projectexplorer/images/fileoverlay_qrc.png";
226 const char FILEOVERLAY_CPP[]=":/projectexplorer/images/fileoverlay_cpp.png";
227 const char FILEOVERLAY_H[]=":/projectexplorer/images/fileoverlay_h.png";
228 const char FILEOVERLAY_SCXML[]=":/projectexplorer/images/fileoverlay_scxml.png";
229 const char FILEOVERLAY_PY[]=":/projectexplorer/images/fileoverlay_py.png";
230 const char FILEOVERLAY_UNKNOWN[]=":/projectexplorer/images/fileoverlay_unknown.png";
231 
232 // Settings
233 const char ADD_FILES_DIALOG_FILTER_HISTORY_KEY[] = "ProjectExplorer.AddFilesFilterKey";
234 const char PROJECT_ROOT_PATH_KEY[] = "ProjectExplorer.Project.RootPath";
235 const char STARTUPSESSION_KEY[] = "ProjectExplorer/SessionToRestore";
236 const char LASTSESSION_KEY[] = "ProjectExplorer/StartupSession";
237 
238 // UI texts
239 PROJECTEXPLORER_EXPORT QString msgAutoDetected();
240 PROJECTEXPLORER_EXPORT QString msgAutoDetectedToolTip();
241 PROJECTEXPLORER_EXPORT QString msgManual();
242 
243 } // namespace Constants
244 } // namespace ProjectExplorer
245