]>
Commit | Line | Data |
---|---|---|
fcc99fb8 BS |
1 | diff --git a/app/kdevelop.notifyrc b/app/kdevelop.notifyrc |
2 | index 1f040e7..5dc5782 100644 | |
3 | --- a/app/kdevelop.notifyrc | |
4 | +++ b/app/kdevelop.notifyrc | |
5 | @@ -471,7 +471,7 @@ Comment=A Breakpoint has been hit by the debugger | |
6 | Comment[bs]=Ispravljač grešaka je dosao do prijelomne tačke | |
7 | Comment[ca]=El depurador ha assolit un punt d'interrupció | |
8 | Comment[ca@valencia]=El depurador ha assolit un punt d'interrupció | |
9 | -Comment[cs]=Bod přerušení byl dosažen debuggerem | |
10 | +Comment[cs]=Bod přerušení byl dosažen ladicím nástrojem | |
11 | Comment[da]=Fejlsøgeren nåede et stoppunkt | |
12 | Comment[de]=Der Debugger hat einen Haltepunkt erreicht | |
13 | Comment[el]=Ο διορθωτής έχει σημειώσει προσωρινή παύση | |
14 | @@ -544,7 +544,7 @@ Comment=A Watchpoint has been hit by the debugger | |
15 | Comment[bs]=Ispravljač grešaka je došao do pregledne tačke | |
16 | Comment[ca]=El depurador ha assolit un punt d'observació | |
17 | Comment[ca@valencia]=El depurador ha assolit un punt d'observació | |
18 | -Comment[cs]=Bod sledování byl dosažen debuggerem | |
19 | +Comment[cs]=Bod sledování byl dosažen ladicím nástrojem | |
20 | Comment[da]=Fejlsøgeren nåede et overvågningspunkt | |
21 | Comment[de]=Der Debugger hat einen Beobachtungspunkt erreicht | |
22 | Comment[el]=Ο διορθωτής έχει σημειώσει θέση επιθεώρησης | |
23 | diff --git a/app_templates/cpp/CMake/cmake_qt4gui/cmake_qt4gui.kdevtemplate b/app_templates/cpp/CMake/cmake_qt4gui/cmake_qt4gui.kdevtemplate | |
24 | index 7601ef2..7658185 100644 | |
25 | --- a/app_templates/cpp/CMake/cmake_qt4gui/cmake_qt4gui.kdevtemplate | |
26 | +++ b/app_templates/cpp/CMake/cmake_qt4gui/cmake_qt4gui.kdevtemplate | |
27 | @@ -52,7 +52,7 @@ Comment[it]=Applicazione GUI CMake in Qt4. Genera un'applicazione con GUI basata | |
28 | Comment[kk]=Qt4 CMake GUI бағдарламасы. CMake/Qt4 негіздеген графикалық интерфейсті бағдарламаны жасап береді (кроссплатформалық үлесімді) | |
29 | Comment[nb]=Qt4 Cmake Gui-program. Lag et program med grafisk brukerflate basert på CMake/Qt4 (kryssplattform-kompatibelt) | |
30 | Comment[nds]=Qt4-CMake-Böversietprogramm. En op CMake un Qt4 opbuut Böversiet-Programm opstellen (över Bedriefümgeven weg kompatibel) | |
31 | -Comment[nl]=Gui-toepassing van Qt4 CMake. Genereert een ope CMake/Qt4 gebaseerd GUI-programma (crossplatform compatibel) | |
32 | +Comment[nl]=Gui-toepassing van Qt4 CMake. Genereert een op CMake/Qt4 gebaseerd GUI-programma (crossplatform compatibel) | |
33 | Comment[pl]=Program Qt4 CMake Gui. Generuj programy oparte o CMake/Qt4 (kompatybilne na wielu platformach) | |
34 | Comment[pt]=Aplicação gráfica do Qt4 com CMake. Gera uma aplicação gráfica baseada no CMake/Qt4 (compatível com várias plataformas) | |
35 | Comment[pt_BR]=Aplicativo gráfico com CMake para Qt4. Gera um aplicativo de interface em CMake/Qt4 (compatível com várias plataformas) | |
36 | diff --git a/debuggers/CMakeLists.txt b/debuggers/CMakeLists.txt | |
37 | index 8fe222c..592c1fc 100644 | |
38 | --- a/debuggers/CMakeLists.txt | |
39 | +++ b/debuggers/CMakeLists.txt | |
40 | @@ -1,4 +1,4 @@ | |
41 | -if(NOT WIN32 AND NOT APPLE) | |
42 | +if(NOT WIN32) | |
43 | add_subdirectory(gdb) | |
44 | -endif(NOT WIN32 AND NOT APPLE ) | |
45 | +endif(NOT WIN32) | |
46 | ||
47 | diff --git a/debuggers/gdb/CMakeLists.txt b/debuggers/gdb/CMakeLists.txt | |
48 | index 3d1125c..ef6100f 100644 | |
49 | --- a/debuggers/gdb/CMakeLists.txt | |
50 | +++ b/debuggers/gdb/CMakeLists.txt | |
51 | @@ -1,11 +1,13 @@ | |
52 | project(gdb) | |
53 | ||
54 | +if(NOT APPLE) | |
55 | macro_optional_find_package( KDE4Workspace 4.2.0 ) | |
56 | ||
57 | macro_log_feature( KDE4WORKSPACE_FOUND | |
58 | "KDE 4 Workspace" "KDE 4 Workspace libraries" "kdebase/workspace" FALSE | |
59 | "" "Required for building the process selection dialog for attaching GDB to a running process." | |
60 | ) | |
61 | +endif(NOT APPLE) | |
62 | ||
63 | if(KDE4WORKSPACE_FOUND) | |
64 | include_directories( | |
65 | @@ -80,7 +82,7 @@ set(kdevgdb_PART_UI | |
66 | ||
67 | kde4_add_ui_files(kdevgdb_PART_SRCS ${kdevgdb_PART_UI}) | |
68 | kde4_add_plugin(kdevgdb ${kdevgdb_PART_SRCS}) | |
69 | -target_link_libraries(kdevgdb sublime | |
70 | +target_link_libraries(kdevgdb ${KDEVPLATFORM_SUBLIME_LIBRARIES} | |
71 | ${KDEVPLATFORM_INTERFACES_LIBRARIES} | |
72 | ${KDEVPLATFORM_LANGUAGE_LIBRARIES} | |
73 | ${KDEVPLATFORM_DEBUGGER_LIBRARIES} | |
74 | diff --git a/debuggers/gdb/gdb.cpp b/debuggers/gdb/gdb.cpp | |
75 | index 68e1768..4642087 100644 | |
76 | --- a/debuggers/gdb/gdb.cpp | |
77 | +++ b/debuggers/gdb/gdb.cpp | |
78 | @@ -44,7 +44,7 @@ | |
79 | using namespace GDBDebugger; | |
80 | ||
81 | GDB::GDB(QObject* parent) | |
82 | -: QObject(parent), process_(0), sawPrompt_(false), currentCmd_(0), receivedReply_(false), isRunning_(false) | |
83 | +: QObject(parent), process_(0), sawPrompt_(false), currentCmd_(0), receivedReply_(false), isRunning_(false), childPid_(0) | |
84 | { | |
85 | } | |
86 | ||
87 | @@ -157,8 +157,11 @@ void GDB::interrupt() | |
88 | { | |
89 | //TODO:win32 Porting needed | |
90 | int pid = process_->pid(); | |
91 | - if (pid != 0) | |
92 | + if (childPid_) { | |
93 | + ::kill(childPid_, SIGINT); | |
94 | + } else if (pid != 0) { | |
95 | ::kill(pid, SIGINT); | |
96 | + } | |
97 | } | |
98 | ||
99 | GDBCommand* GDB::currentCommand() const | |
100 | @@ -250,7 +253,24 @@ void GDB::processLine(const QByteArray& line) | |
101 | GDBMI::ResultRecord& result = static_cast<GDBMI::ResultRecord&>(*r); | |
102 | ||
103 | emit internalCommandOutput(QString::fromUtf8(line) + '\n'); | |
104 | - | |
105 | + | |
106 | + if (result.reason == "thread-group-started") { | |
107 | + receivedReply_ = true; | |
108 | + // (gdb) -exec-run | |
109 | + // =thread-group-started,id="i1",pid="16768" | |
110 | + if (line.contains("pid=\"")) { | |
111 | + QList<QByteArray> splitLine = line.split(','); | |
112 | + if (splitLine.size() > 2) { | |
113 | + QByteArray pidStr = splitLine[2]; | |
114 | + pidStr.chop(1); | |
115 | + childPid_ = pidStr.mid(5).toULong(); | |
116 | + if (childPid_ == 0) { | |
117 | + kDebug() << "line=" << line << "pidStr=" << pidStr << pidStr.mid(5) << "pid=" << childPid_; | |
118 | + } | |
119 | + } | |
120 | + } | |
121 | + } | |
122 | + | |
123 | // FIXME: the code below should be reviewed to consider result record | |
124 | // subtype when doing all decisions. | |
125 | ||
126 | diff --git a/debuggers/gdb/gdb.h b/debuggers/gdb/gdb.h | |
127 | index 6f99a60..31688cd 100644 | |
128 | --- a/debuggers/gdb/gdb.h | |
129 | +++ b/debuggers/gdb/gdb.h | |
130 | @@ -144,6 +144,7 @@ private: | |
131 | ||
132 | bool receivedReply_; | |
133 | bool isRunning_; | |
134 | + unsigned long childPid_; | |
135 | }; | |
136 | } | |
137 | ||
138 | diff --git a/debuggers/gdb/stty.cpp b/debuggers/gdb/stty.cpp | |
139 | index 736fff4..606977b 100644 | |
140 | --- a/debuggers/gdb/stty.cpp | |
141 | +++ b/debuggers/gdb/stty.cpp | |
142 | @@ -160,14 +160,19 @@ int STTY::findTTY() | |
143 | ||
144 | #ifdef __sgi__ | |
145 | ptyfd = open("/dev/ptmx",O_RDWR); | |
146 | - if (ptyfd < 0) { | |
147 | +#elif defined(Q_OS_MAC) | |
148 | + ptyfd = posix_openpt(O_RDWR); | |
149 | +#endif | |
150 | +#if defined(__sgi__) || defined(Q_OS_MAC) | |
151 | + if (ptyfd == -1) { | |
152 | perror("Can't open a pseudo teletype"); | |
153 | return(-1); | |
154 | + } else if (ptyfd >= 0) { | |
155 | + strncpy(tty_slave, ptsname(ptyfd), 50); | |
156 | + grantpt(ptyfd); | |
157 | + unlockpt(ptyfd); | |
158 | + needGrantPty = false; | |
159 | } | |
160 | - strncpy(tty_slave, ptsname(ptyfd), 50); | |
161 | - grantpt(ptyfd); | |
162 | - unlockpt(ptyfd); | |
163 | - needGrantPty = false; | |
164 | #endif | |
165 | ||
166 | // first we try UNIX PTY's | |
167 | diff --git a/file_templates/classes/qobject/qobject.desktop b/file_templates/classes/qobject/qobject.desktop | |
168 | index 6e92967..aaade37 100644 | |
169 | --- a/file_templates/classes/qobject/qobject.desktop | |
170 | +++ b/file_templates/classes/qobject/qobject.desktop | |
171 | @@ -13,7 +13,7 @@ Name[fi]=QObject-aliluokka | |
172 | Name[fr]=Sous-classe QObject | |
173 | Name[gl]=Subclase de QObject | |
174 | Name[hu]=QObject alosztály | |
175 | -Name[it]=Sottoclasse GObject | |
176 | +Name[it]=Sottoclasse QObject | |
177 | Name[kk]=QObject субкласы | |
178 | Name[nb]=QObject subklasse | |
179 | Name[nds]=QObject-Ünnerklass | |
180 | @@ -43,7 +43,7 @@ Comment[fi]=QObject-aliluokka ominaisuuksilla | |
181 | Comment[fr]=Sous-classe QObject avec des propriétés | |
182 | Comment[gl]=Subclase de QObject con propiedades | |
183 | Comment[hu]=QObject alosztály tulajdonságokkal | |
184 | -Comment[it]=Sottoclasse GObject con delle proprietà | |
185 | +Comment[it]=Sottoclasse QObject con delle proprietà | |
186 | Comment[kk]=Қасиеттері бар QObject субкласы | |
187 | Comment[nb]=QObject subklasse med egenskaper | |
188 | Comment[nds]=QObject-Ünnerklass mit Egenschappen | |
189 | diff --git a/languages/cpp/codegen/adaptsignatureassistant.cpp b/languages/cpp/codegen/adaptsignatureassistant.cpp | |
190 | index 087c0ed..5b13410 100644 | |
191 | --- a/languages/cpp/codegen/adaptsignatureassistant.cpp | |
192 | +++ b/languages/cpp/codegen/adaptsignatureassistant.cpp | |
193 | @@ -94,7 +94,7 @@ void AdaptSignatureAssistant::reset() | |
194 | m_otherSideId = {}; | |
195 | m_otherSideTopContext = {}; | |
196 | m_otherSideContext = {}; | |
197 | - m_oldSignature = {}; | |
198 | + m_oldSignature = Signature(); | |
199 | m_document = {}; | |
200 | m_view.clear(); | |
201 | } | |
202 | diff --git a/languages/cpp/includepathcomputer.cpp b/languages/cpp/includepathcomputer.cpp | |
203 | index 61c3646..323577a 100644 | |
204 | --- a/languages/cpp/includepathcomputer.cpp | |
205 | +++ b/languages/cpp/includepathcomputer.cpp | |
206 | @@ -111,7 +111,7 @@ void IncludePathComputer::computeForeground() | |
207 | m_effectiveBuildDirectory.clear(); | |
208 | } | |
209 | ||
210 | - for (const auto& dir : idm->includes(file, IDefinesAndIncludesManager::Type(IDefinesAndIncludesManager::UserDefined | IDefinesAndIncludesManager::CompilerSpecific))){ | |
211 | + for (const auto& dir : idm->includes(file, IDefinesAndIncludesManager::Type(IDefinesAndIncludesManager::UserDefined))){ | |
212 | addInclude(dir); | |
213 | } | |
214 | m_defines = idm->defines(file); | |
215 | @@ -121,6 +121,10 @@ void IncludePathComputer::computeForeground() | |
216 | foreach (const Path& dir, dirs) { | |
217 | addInclude(dir); | |
218 | } | |
219 | + | |
220 | + for (const auto& dir : idm->includes(file, IDefinesAndIncludesManager::Type(IDefinesAndIncludesManager::CompilerSpecific))){ | |
221 | + addInclude(dir); | |
222 | + } | |
223 | } | |
224 | ||
225 | if (noProject) { | |
226 | diff --git a/languages/cpp/parser/lexer.cpp b/languages/cpp/parser/lexer.cpp | |
227 | index ace64b7..2b6a843 100644 | |
228 | --- a/languages/cpp/parser/lexer.cpp | |
229 | +++ b/languages/cpp/parser/lexer.cpp | |
230 | @@ -313,9 +313,7 @@ void Lexer::tokenize(ParseSession* _session) | |
231 | size_t previousIndex = index; | |
232 | ||
233 | { | |
234 | - Token token; | |
235 | - token.position = cursor.offsetIn( session->contents() ); | |
236 | - token.size = 0; | |
237 | + Token token{cursor.offsetIn(session->contents()), 0, Token_EOF}; | |
238 | stream->append(token); | |
239 | } | |
240 | Token* current_token = &(session->token_stream->last()); | |
241 | diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp b/languages/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp | |
242 | index 6c53e57..5d5b5fa 100644 | |
243 | --- a/languages/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp | |
244 | +++ b/languages/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp | |
245 | @@ -167,6 +167,9 @@ CompilerProvider::CompilerProvider( QObject* parent, const QVariantList& ) | |
246 | : IPlugin( CompilerProviderFactory::componentData(), parent ) | |
247 | { | |
248 | KDEV_USE_EXTENSION_INTERFACE( ICompilerProvider ); | |
249 | + /// FIXME: cleanup the code base here, don't make the provider a plugin but a static library or similar. | |
250 | + /// simplify the code in generel, less interfaces/virtuals! | |
251 | + static_cast<DefinesAndIncludesManager*>( IDefinesAndIncludesManager::manager() )->setProvider(this); | |
252 | ||
253 | m_factories.append(CompilerFactoryPointer(new GccFactory())); | |
254 | m_factories.append(CompilerFactoryPointer(new ClangFactory())); | |
255 | @@ -198,6 +201,9 @@ CompilerProvider::CompilerProvider( QObject* parent, const QVariantList& ) | |
256 | ||
257 | //Add a provider for files without project | |
258 | addPoject( nullptr, checkCompilerExists({})); | |
259 | + for (auto project : ICore::self()->projectController()->projects()) { | |
260 | + projectOpened( project ); | |
261 | + } | |
262 | } | |
263 | ||
264 | QVector< CompilerPointer > CompilerProvider::compilers() const | |
265 | diff --git a/languages/plugins/custom-definesandincludes/compilerprovider/kdevcompilerprovider.desktop.cmake b/languages/plugins/custom-definesandincludes/compilerprovider/kdevcompilerprovider.desktop.cmake | |
266 | index 8d19603..fd1e020 100644 | |
267 | --- a/languages/plugins/custom-definesandincludes/compilerprovider/kdevcompilerprovider.desktop.cmake | |
268 | +++ b/languages/plugins/custom-definesandincludes/compilerprovider/kdevcompilerprovider.desktop.cmake | |
269 | @@ -8,6 +8,8 @@ Name[en_GB]=Compiler Provider | |
270 | Name[es]=Proveedor del compilador | |
271 | Name[et]=Kompilaatori pakkuja | |
272 | Name[fi]=Käännintarjoaja | |
273 | +Name[fr]=Fournisseur de compilateur | |
274 | +Name[it]=Fornitore compilatore | |
275 | Name[nl]=Leverancier van compiler | |
276 | Name[pl]=Dostawca kompilatora | |
277 | Name[pt]=Fornecedor de Compiladores | |
278 | @@ -25,6 +27,8 @@ GenericName[en_GB]=Compiler Provider | |
279 | GenericName[es]=Proveedor del compilador | |
280 | GenericName[et]=Kompilaatori pakkuja | |
281 | GenericName[fi]=Käännintarjoaja | |
282 | +GenericName[fr]=Fournisseur de compilateur | |
283 | +GenericName[it]=Fornitore compilatore | |
284 | GenericName[nl]=Leverancier van compiler | |
285 | GenericName[pl]=Dostawca kompilatora | |
286 | GenericName[pt]=Fornecedor de Compiladores | |
287 | diff --git a/languages/plugins/custom-definesandincludes/kcm_widget/kcm_kdevcustomdefinesandincludes.desktop b/languages/plugins/custom-definesandincludes/kcm_widget/kcm_kdevcustomdefinesandincludes.desktop | |
288 | index d88a4b6..a4724bf 100644 | |
289 | --- a/languages/plugins/custom-definesandincludes/kcm_widget/kcm_kdevcustomdefinesandincludes.desktop | |
290 | +++ b/languages/plugins/custom-definesandincludes/kcm_widget/kcm_kdevcustomdefinesandincludes.desktop | |
291 | @@ -15,6 +15,8 @@ Name[en_GB]=Custom Defines And Includes | |
292 | Name[es]=Personalizar definiciones e inclusiones | |
293 | Name[et]=Kohandatud definitsioonid ja päised | |
294 | Name[fi]=Mukautetut definet ja includet | |
295 | +Name[fr]=Définitions et inclusions personnalisées | |
296 | +Name[it]=Definizioni e inclusioni personalizzate | |
297 | Name[nl]=Zelf gedefinieerd en invoegingen | |
298 | Name[pl]=Własne definicje i pliki dołączane | |
299 | Name[pt]=Definições e Inclusões Personalizadas | |
300 | @@ -32,6 +34,8 @@ Comment[en_GB]=Configure which macros and include directories/files will be adde | |
301 | Comment[es]=Configurar las macros y los directorios/archivos a incluir que se añadirán al analizador sintáctico durante el análisis de los proyectos. | |
302 | Comment[et]=Aitab seadistada, millised makrod ja päistekataloogid või -failid lisada parserile projekti parsimiseks. | |
303 | Comment[fi]=Määritä, mitkä makrot ja include-hakemistot/tiedostot lisätään jäsentimelle projektin jäsentämisen aikana. | |
304 | +Comment[fr]=Configurer quelles macros et dossiers ou fichiers d'inclusions seront ajoutés à l'analyseur pendant l'analyse du projet. | |
305 | +Comment[it]=Configura quali macro e cartelle/file di inclusione saranno aggiunti all'analizzatore durante l'analisi del progetto. | |
306 | Comment[nl]=Stel in welke macro's en ingevoegde mappen/bestanden toegevoegd zullen worden aan de parser bij het ontleden van het project. | |
307 | Comment[pl]=Ustaw jakie pliki/katalogi makr i plików dołączanych będą dodawane do przetwarzania przy przetwarzaniu projektu. | |
308 | Comment[pt]=Configure quais as macros e pastas/ficheiros de inclusão que serão adicionados ao processador do projecto. | |
309 | diff --git a/languages/plugins/custom-definesandincludes/kdevdefinesandincludesmanager.desktop.cmake b/languages/plugins/custom-definesandincludes/kdevdefinesandincludesmanager.desktop.cmake | |
310 | index 57f845d..a5bbc1c 100644 | |
311 | --- a/languages/plugins/custom-definesandincludes/kdevdefinesandincludesmanager.desktop.cmake | |
312 | +++ b/languages/plugins/custom-definesandincludes/kdevdefinesandincludesmanager.desktop.cmake | |
313 | @@ -7,6 +7,8 @@ Name[en_GB]=Custom Defines And Includes Manager | |
314 | Name[es]=Gestor de definiciones e inclusiones personalizadas | |
315 | Name[et]=Kohandatud definitsioonide ja päiste haldur | |
316 | Name[fi]=Mukautettujen definejen ja includejen hallinta | |
317 | +Name[fr]=Gestionnaire de définitions et inclusions personnalisées | |
318 | +Name[it]=Gestore delle definizioni e inclusioni personalizzate | |
319 | Name[nl]=Beheerder van zelf gedefinieerd en invoegingen | |
320 | Name[pl]=Zarządzanie własnymi definicjami i plikami dołączanymi | |
321 | Name[pt]=Gestor de Definições e Inclusões Personalizadas | |
322 | @@ -23,6 +25,8 @@ GenericName[en_GB]=Custom Defines And Includes Manager | |
323 | GenericName[es]=Gestor de definiciones e inclusiones personalizadas | |
324 | GenericName[et]=Kohandatud definitsioonide ja päiste haldur | |
325 | GenericName[fi]=Mukautettujen definejen ja includejen hallinta | |
326 | +GenericName[fr]=Gestionnaire de définitions et inclusions personnalisées | |
327 | +GenericName[it]=Gestore delle definizioni e inclusioni personalizzate | |
328 | GenericName[nl]=Beheerder van zelf gedefinieerd en invoegingen | |
329 | GenericName[pl]=Zarządzanie własnymi definicjami i plikami dołączanymi | |
330 | GenericName[pt]=Gestor de Definições e Inclusões Personalizadas | |
331 | @@ -39,6 +43,8 @@ Comment[en_GB]=Configure which macros and include directories/files will be adde | |
332 | Comment[es]=Configurar las macros y los directorios/archivos a incluir que se añadirán al analizador sintáctico durante el análisis de los proyectos. | |
333 | Comment[et]=Aitab seadistada, millised makrod ja päistekataloogid või -failid lisada parserile projekti parsimiseks. | |
334 | Comment[fi]=Määritä, mitkä makrot ja include-hakemistot/tiedostot lisätään jäsentimelle projektin jäsentämisen aikana. | |
335 | +Comment[fr]=Configurer quelles macros et dossiers ou fichiers d'inclusions seront ajoutés à l'analyseur pendant l'analyse du projet. | |
336 | +Comment[it]=Configura quali macro e cartelle/file di inclusione saranno aggiunti all'analizzatore durante l'analisi del progetto. | |
337 | Comment[nl]=Stel in welke macro's en ingevoegde mappen/bestanden toegevoegd zullen worden aan de parser bij het ontleden van het project. | |
338 | Comment[pl]=Ustaw jakie pliki/katalogi makr i plików dołączanych będą dodawane do przetwarzania przy przetwarzaniu projektu. | |
339 | Comment[pt]=Configure quais as macros e pastas/ficheiros de inclusão que serão adicionados ao processador do projecto. | |
340 | diff --git a/languages/plugins/custom-definesandincludes/settingsmanager.cpp b/languages/plugins/custom-definesandincludes/settingsmanager.cpp | |
341 | index 9e09798..fb31f39 100644 | |
342 | --- a/languages/plugins/custom-definesandincludes/settingsmanager.cpp | |
343 | +++ b/languages/plugins/custom-definesandincludes/settingsmanager.cpp | |
344 | @@ -51,9 +51,15 @@ const QString compilerTypeKey = QLatin1String( "Type" ); | |
345 | } | |
346 | ||
347 | SettingsManager::SettingsManager() | |
348 | + : m_provider(nullptr) | |
349 | { | |
350 | } | |
351 | ||
352 | +void SettingsManager::setProvider(const ICompilerProvider* provider) | |
353 | +{ | |
354 | + m_provider = provider; | |
355 | +} | |
356 | + | |
357 | namespace | |
358 | { | |
359 | void doWriteSettings( KConfigGroup grp, const QList<ConfigEntry>& paths ) | |
360 | @@ -135,15 +141,6 @@ QList<ConfigEntry> convertedPaths( KConfig* cfg ) | |
361 | return paths; | |
362 | } | |
363 | ||
364 | -ICompilerProvider* currentCompilerProvider() | |
365 | -{ | |
366 | - auto compilerProvider = KDevelop::ICore::self()->pluginController()->pluginForExtension("org.kdevelop.ICompilerProvider"); | |
367 | - if (!compilerProvider || !compilerProvider->extension<ICompilerProvider>()) { | |
368 | - return {}; | |
369 | - } | |
370 | - | |
371 | - return compilerProvider->extension<ICompilerProvider>(); | |
372 | -} | |
373 | } | |
374 | ||
375 | void SettingsManager::writePaths( KConfig* cfg, const QList< ConfigEntry >& paths ) | |
376 | @@ -175,13 +172,15 @@ QList<ConfigEntry> SettingsManager::readPaths( KConfig* cfg ) const | |
377 | ||
378 | CompilerPointer SettingsManager::currentCompiler( KConfig* cfg, const CompilerPointer& defaultCompiler ) const | |
379 | { | |
380 | + Q_ASSERT(m_provider); | |
381 | + | |
382 | auto grp = cfg->group( ConfigConstants::definesAndIncludesGroup ).group("Compiler"); | |
383 | auto name = grp.readEntry( ConfigConstants::compilerNameKey, QString() ); | |
384 | if (name.isEmpty()) { | |
385 | return {}; | |
386 | } | |
387 | ||
388 | - for (auto c : currentCompilerProvider()->compilers()) { | |
389 | + for (auto c : m_provider->compilers()) { | |
390 | if (c->name() == name) { | |
391 | return c; | |
392 | } | |
393 | @@ -190,7 +189,7 @@ CompilerPointer SettingsManager::currentCompiler( KConfig* cfg, const CompilerPo | |
394 | auto path = grp.readEntry( ConfigConstants::compilerPathKey, QString() ); | |
395 | auto type = grp.readEntry( ConfigConstants::compilerTypeKey, QString() ); | |
396 | ||
397 | - auto cf = currentCompilerProvider()->compilerFactories(); | |
398 | + auto cf = m_provider->compilerFactories(); | |
399 | for (auto f : cf) { | |
400 | if (f->name() == type) { | |
401 | return f->createCompiler(name, path, true); | |
402 | @@ -241,6 +240,8 @@ void SettingsManager::writeUserDefinedCompilers(const QVector< CompilerPointer > | |
403 | ||
404 | QVector< CompilerPointer > SettingsManager::userDefinedCompilers() const | |
405 | { | |
406 | + Q_ASSERT(m_provider); | |
407 | + | |
408 | QVector< CompilerPointer > compilers; | |
409 | ||
410 | KConfigGroup config = KGlobal::config()->group(ConfigConstants::compilersGroup); | |
411 | @@ -252,7 +253,7 @@ QVector< CompilerPointer > SettingsManager::userDefinedCompilers() const | |
412 | auto path = grp.readEntry(ConfigConstants::compilerPathKey, QString()); | |
413 | auto type = grp.readEntry(ConfigConstants::compilerTypeKey, QString()); | |
414 | ||
415 | - auto cf = currentCompilerProvider()->compilerFactories(); | |
416 | + auto cf = m_provider->compilerFactories(); | |
417 | for (auto f : cf) { | |
418 | if (f->name() == type) { | |
419 | compilers.append(f->createCompiler(name, path)); | |
420 | diff --git a/languages/plugins/custom-definesandincludes/settingsmanager.h b/languages/plugins/custom-definesandincludes/settingsmanager.h | |
421 | index a329879..23c0d10 100644 | |
422 | --- a/languages/plugins/custom-definesandincludes/settingsmanager.h | |
423 | +++ b/languages/plugins/custom-definesandincludes/settingsmanager.h | |
424 | @@ -34,10 +34,14 @@ namespace KDevelop | |
425 | class IProject; | |
426 | } | |
427 | ||
428 | +class ICompilerProvider; | |
429 | class KDEVDEFINESANDINCLUDESMANAGER_EXPORT SettingsManager | |
430 | { | |
431 | public: | |
432 | SettingsManager(); | |
433 | + ~SettingsManager(){} | |
434 | + | |
435 | + void setProvider(const ICompilerProvider* provider); | |
436 | ||
437 | QList<KDevelop::ConfigEntry> readPaths(KConfig* cfg) const; | |
438 | ||
439 | @@ -55,7 +59,8 @@ public: | |
440 | ||
441 | bool needToReparseCurrentProject( KConfig* cfg ) const; | |
442 | ||
443 | - ~SettingsManager(){} | |
444 | +private: | |
445 | + const ICompilerProvider* m_provider; | |
446 | }; | |
447 | ||
448 | #endif // SETTINGSMANAGER_H | |
449 | diff --git a/projectmanagers/cmake/settings/cmakepreferences.cpp b/projectmanagers/cmake/settings/cmakepreferences.cpp | |
450 | index 6db6974..8b91cfd 100644 | |
451 | --- a/projectmanagers/cmake/settings/cmakepreferences.cpp | |
452 | +++ b/projectmanagers/cmake/settings/cmakepreferences.cpp | |
453 | @@ -82,7 +82,7 @@ CMakePreferences::CMakePreferences(QWidget* parent, const QVariantList& args) | |
454 | connect(m_prefsUi->addBuildDir, SIGNAL(pressed()), this, SLOT(createBuildDir())); | |
455 | connect(m_prefsUi->removeBuildDir, SIGNAL(pressed()), this, SLOT(removeBuildDir())); | |
456 | connect(m_prefsUi->showAdvanced, SIGNAL(toggled(bool)), this, SLOT(showAdvanced(bool))); | |
457 | - connect(m_prefsUi->environment, SIGNAL(currentIndexChanged(int)), this, SLOT(changed())); | |
458 | + connect(m_prefsUi->environment, SIGNAL(currentProfileChanged(QString)), this, SLOT(changed())); | |
459 | ||
460 | showInternal(m_prefsUi->showInternal->checkState()); | |
461 | m_subprojFolder=KUrl(args[1].toString()).upUrl(); | |
462 | diff --git a/providers/ghprovider/kdevghprovider.desktop.cmake b/providers/ghprovider/kdevghprovider.desktop.cmake | |
463 | index 619ff35..c3076c7 100644 | |
464 | --- a/providers/ghprovider/kdevghprovider.desktop.cmake | |
465 | +++ b/providers/ghprovider/kdevghprovider.desktop.cmake | |
466 | @@ -33,7 +33,7 @@ Name=Github Provider | |
467 | Name[bs]=Github pružalac | |
468 | Name[ca]=Proveïdor de Github | |
469 | Name[ca@valencia]=Proveïdor de Github | |
470 | -Name[cs]=Poskytovatel Github | |
471 | +Name[cs]=Poskytovatel GitHubu | |
472 | Name[da]=Github-udbyder | |
473 | Name[de]=GitHub-Provider | |
474 | Name[el]=Πάροχος Github | |
475 | @@ -62,7 +62,7 @@ GenericName=Github Provider | |
476 | GenericName[bs]=Github pružalac | |
477 | GenericName[ca]=Proveïdor de Github | |
478 | GenericName[ca@valencia]=Proveïdor de Github | |
479 | -GenericName[cs]=Poskytovatel Github | |
480 | +GenericName[cs]=Poskytovatel GitHubu | |
481 | GenericName[da]=Github-udbyder | |
482 | GenericName[de]=GitHub-Provider | |
483 | GenericName[el]=Πάροχος Github |