~ubuntu-branches/debian/sid/kdevelop/sid

« back to all changes in this revision

Viewing changes to languages/plugins/custom-definesandincludes/kcm_widget/kcm_customdefinesandincludes.cpp

  • Committer: Package Import Robot
  • Author(s): Lisandro Damián Nicanor Pérez Meyer, Pino Toscano, Sune Vuorela, Lisandro Damián Nicanor Pérez Meyer
  • Date: 2015-09-02 21:10:24 UTC
  • mfrom: (1.3.24)
  • Revision ID: package-import@ubuntu.com-20150902211024-ntruxcyb574f3xuk
Tags: 4:4.7.1-1
* Team upload.

[ Pino Toscano ]
* Change section of kdevelop-dev to libdevel.
* Add ${misc:Depends} in kdevelop-dbg and kdevelop-l10n.

[ Sune Vuorela ]
* Make KDevelop recommend kapptemplate to have more meaningful project
  templates available.

[ Lisandro Damián Nicanor Pérez Meyer ]
* New upstream release.
  - Bump kdevplatform-dev build dependency to 1.7.1.
* Remove kde-workspace from build dependencies. We no longer provide
  a KDE 4 based workspace.
  - Add libsoprano-dev as a build dependency, it was probably previously
    pulled in by kde-workspace.

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
#include "projectpathswidget.h"
23
23
#include "customdefinesandincludes.h"
24
 
#include "definesandincludesmanager.h"
25
 
#include "../compilerprovider/icompilerprovider.h"
 
24
#include "../compilerprovider/compilerprovider.h"
26
25
 
27
26
#include <interfaces/iruncontroller.h>
28
27
#include <interfaces/iproject.h>
35
34
 
36
35
#include "kcm_customdefinesandincludes.h"
37
36
 
38
 
namespace
39
 
{
40
 
ICompilerProvider* compilerProvider()
41
 
{
42
 
    auto compilerProvider = KDevelop::ICore::self()->pluginController()->pluginForExtension("org.kdevelop.ICompilerProvider");
43
 
    if (!compilerProvider || !compilerProvider->extension<ICompilerProvider>()) {
44
 
        return {};
45
 
    }
46
 
 
47
 
    return compilerProvider->extension<ICompilerProvider>();
48
 
}
49
 
}
50
 
 
51
37
K_PLUGIN_FACTORY(DefinesAndIncludesFactory, registerPlugin<DefinesAndIncludes>(); )
52
38
K_EXPORT_PLUGIN(DefinesAndIncludesFactory("kcm_kdevcustomdefinesandincludes", "kdevcustomdefinesandincludes"))
53
39
 
 
40
using namespace KDevelop;
 
41
 
54
42
DefinesAndIncludes::DefinesAndIncludes( QWidget* parent, const QVariantList& args )
55
43
    : ProjectKCModule<CustomDefinesAndIncludes>( DefinesAndIncludesFactory::componentData(), parent, args )
56
44
{
75
63
void DefinesAndIncludes::loadFrom( KConfig* cfg )
76
64
{
77
65
    configWidget->clear();
78
 
    auto iadm = KDevelop::IDefinesAndIncludesManager::manager();
79
 
    auto settings = static_cast<KDevelop::DefinesAndIncludesManager*>( iadm );
 
66
 
 
67
    auto settings = SettingsManager::globalInstance();
80
68
    configWidget->setPaths( settings->readPaths( cfg ) );
81
69
 
82
 
    if (auto cp = compilerProvider()) {
83
 
        configWidget->setCompilers(cp->compilers());
84
 
        configWidget->setCurrentCompiler(cp->currentCompiler(project())->name());
85
 
    }
 
70
    auto provider = settings->provider();
 
71
    configWidget->setCompilers(provider->compilers());
 
72
    configWidget->setCurrentCompiler(provider->currentCompiler(project())->name());
86
73
}
87
74
 
88
75
void DefinesAndIncludes::saveTo(KConfig* cfg, KDevelop::IProject*)
89
76
{
90
 
    auto iadm = KDevelop::IDefinesAndIncludesManager::manager();
91
 
    auto settings = static_cast<KDevelop::DefinesAndIncludesManager*>( iadm );
 
77
    auto settings = SettingsManager::globalInstance();
92
78
    settings->writePaths( cfg, configWidget->paths() );
93
79
 
94
 
    if (auto cp = compilerProvider()) {
95
 
        settings->writeCurrentCompiler(cfg ,configWidget->currentCompiler());
96
 
 
97
 
        cp->setCompiler(project(), settings->currentCompiler(cfg));
98
 
 
99
 
        settings->writeUserDefinedCompilers(configWidget->compilers());
100
 
    }
 
80
    auto provider = settings->provider();
 
81
    settings->writeCurrentCompiler(cfg, configWidget->currentCompiler());
 
82
    provider->setCompiler(project(), settings->currentCompiler(cfg));
 
83
    settings->writeUserDefinedCompilers(configWidget->compilers());
101
84
 
102
85
    if ( settings->needToReparseCurrentProject( cfg ) ) {
103
 
        using namespace KDevelop;
104
86
        ICore::self()->projectController()->reparseProject(project(), true);
105
87
 
106
88
        //TODO: BackgroundParser should check whether a document is currently opened and prioritize it then. The _focused_ one should be prioritized even further.