• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdesdk API Reference
  • KDE Home
  • Contact Us
 

okteta

  • sources
  • kde-4.12
  • kdesdk
  • okteta
  • kasten
  • controllers
  • view
  • structures
structuresmanager.cpp
Go to the documentation of this file.
1 /*
2  * This file is part of the Okteta Kasten Framework, made within the KDE community.
3  *
4  * Copyright 2009, 2010, 2012 Alex Richardson <alex.richardson@gmx.de>
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) version 3, or any
10  * later version accepted by the membership of KDE e.V. (or its
11  * successor approved by the membership of KDE e.V.), which shall
12  * act as a proxy defined in Section 6 of version 3 of the license.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
21  */
22 
23 #include "structuresmanager.h"
24 #include "structviewpreferences.h"
25 // tool
26 #include "structuredefinitionfile.h"
27 #include <KStandardDirs>
28 #include <KDebug>
29 #include <QDir>
30 
31 namespace Kasten2
32 {
33 
34 StructuresManager::~StructuresManager()
35 {
36  qDeleteAll(mDefs);
37 }
38 
39 StructuresManager::StructuresManager()
40 {
41  mConfig = KSharedConfig::openConfig(QLatin1String("oktetastructuresrc"),
42  KSharedConfig::FullConfig, "config");
43  reloadPaths();
44 }
45 
46 void StructuresManager::reloadPaths()
47 {
48  qDeleteAll(mDefs);
49  mDefs.clear();
50  mLoadedFiles.clear();
51  QStringList paths = KGlobal::dirs()->findAllResources("data",
52  QLatin1String("okteta/structures/*/*.desktop"), KStandardDirs::Recursive
53  | KStandardDirs::NoDuplicates);
54  kDebug() << "found structures: " << paths;
55  KPluginInfo::List plugins = KPluginInfo::fromFiles(paths, mConfig->group("Plugins"));
56  foreach(const KPluginInfo& info, plugins)
57  {
58  addStructDef(info);
59  }
60 }
61 
62 void StructuresManager::addStructDef(const KPluginInfo& info)
63 {
64 
65  StructureDefinitionFile* def = new StructureDefinitionFile(info);
66  QString pluginName = info.pluginName();
67  if (!mDefs.contains(pluginName))
68  mDefs.insert(pluginName, def);
69  else
70  delete def;
71 }
72 
73 StructureDefinitionFile* StructuresManager::definition(QString& pluginName)
74 {
75  if (!mDefs.contains(pluginName))
76  {
77  kWarning() << "could not find structuredefinitionFile with name=" << pluginName;
78  return NULL;
79  }
80  return mDefs.value(pluginName);
81 }
82 
83 }
Kasten2::StructureDefinitionFile
This class takes care of all the XML parsing and stores the result.
Definition: structuredefinitionfile.h:43
Kasten2::StructuresManager::~StructuresManager
virtual ~StructuresManager()
Definition: structuresmanager.cpp:34
structviewpreferences.h
Kasten2::StructuresManager::paths
const QStringList paths() const
Definition: structuresmanager.h:48
Kasten2::StructuresManager::StructuresManager
StructuresManager()
Definition: structuresmanager.cpp:39
Kasten2::StructuresManager::reloadPaths
void reloadPaths()
Definition: structuresmanager.cpp:46
structuredefinitionfile.h
structuresmanager.h
Kasten2::StructuresManager::definition
StructureDefinitionFile * definition(QString &pluginName)
Definition: structuresmanager.cpp:73
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:04:09 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

okteta

Skip menu "okteta"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdesdk API Reference

Skip menu "kdesdk API Reference"
  • kapptemplate
  • kcachegrind
  • kompare
  • lokalize
  • okteta
  • umbrello
  •   umbrello

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal