KDevelop API Documentation

ProjectManager Class Reference

#include <projectmanager.h>

Inheritance diagram for ProjectManager:

Inheritance graph
[legend]
Collaboration diagram for ProjectManager:

Collaboration graph
[legend]
List of all members.

Public Slots

bool loadProject (const KURL &url)
bool loadKDevelop2Project (const KURL &url)
bool closeProject (bool exiting=false)

Public Member Functions

 ~ProjectManager ()
void loadSettings ()
void saveSettings ()
void loadDefaultProject ()
bool projectLoaded () const
KURL projectFile () const
void createActions (KActionCollection *ac)
ProjectSessionprojectSession () const

Static Public Member Functions

QString projectDirectory (const QString &path, bool absolute)
ProjectManagergetInstance ()

Private Slots

void slotOpenProject ()
void slotProjectOptions ()
void slotLoadProject ()
void loadLocalParts ()
void updateActiveLangMenu ()
void switchLanguage (const QString &lang)

Private Member Functions

 ProjectManager ()
void setupActions ()
void getGeneralInfo ()
bool loadProjectFile ()
bool saveProjectFile ()
bool loadProjectPart ()
void unloadProjectPart ()
bool loadLanguageSupport (const QString &lang)
void unloadLanguageSupport ()

Private Attributes

ProjectInfom_info
KActionm_closeProjectAction
KActionm_projectOptionsAction
KRecentFilesActionm_openRecentProjectAction
KSelectActionm_activeLanguage
ProjectSessionm_pProjectSession

Static Private Attributes

ProjectManagers_instance = 0

Constructor & Destructor Documentation

ProjectManager::~ProjectManager  ) 
 

Definition at line 76 of file projectmanager.cpp.

ProjectManager::ProjectManager  )  [private]
 

Definition at line 70 of file projectmanager.cpp.


Member Function Documentation

bool ProjectManager::closeProject bool  exiting = false  )  [slot]
 

Definition at line 331 of file projectmanager.cpp.

References API::codeModel(), Core::doEmitProjectClosed(), API::getInstance(), TopLevel::getInstance(), Core::getInstance(), PartController::getInstance(), PluginController::getInstance(), KURL::isLocalFile(), PluginController::loadedPlugins(), m_activeLanguage, m_closeProjectAction, m_info, ProjectInfo::m_loadParts, m_pProjectSession, m_projectOptionsAction, ProjectInfo::m_projectURL, KDevMainWindow::prepareToCloseViews(), projectLoaded(), PartController::querySaveFiles(), saveProjectFile(), ProjectSession::saveToFile(), ProjectInfo::sessionFile(), KAction::setEnabled(), KDevApi::setProjectDom(), PartController::slotCloseAllWindows(), unloadLanguageSupport(), PluginController::unloadPlugins(), unloadProjectPart(), and CodeModel::wipeout().

Referenced by createActions(), loadProject(), and Core::queryClose().

void ProjectManager::createActions KActionCollection ac  ) 
 

Definition at line 89 of file projectmanager.cpp.

References closeProject(), KRecentFilesAction::loadEntries(), loadProject(), m_activeLanguage, m_closeProjectAction, m_openRecentProjectAction, m_projectOptionsAction, KAction::setEnabled(), KAction::setToolTip(), KAction::setWhatsThis(), slotOpenProject(), slotProjectOptions(), and switchLanguage().

Referenced by MainWindowShare::createActions().

void ProjectManager::getGeneralInfo  )  [private]
 

Definition at line 470 of file projectmanager.cpp.

References getAttribute(), getAttributeList(), ProjectInfo::m_document, ProjectInfo::m_ignoreParts, m_info, ProjectInfo::m_keywords, ProjectInfo::m_language, ProjectInfo::m_projectPlugin, and ProjectInfo::m_secondaryLanguages.

Referenced by loadLocalParts(), slotLoadProject(), and updateActiveLangMenu().

ProjectManager * ProjectManager::getInstance  )  [static]
 

Definition at line 82 of file projectmanager.cpp.

References s_instance.

Referenced by MainWindowShare::createActions(), NewMainWindow::loadSettings(), MainWindow::loadSettings(), main(), Core::openProject(), projectDirectory(), Core::queryClose(), saveSettings(), NewMainWindow::saveSettings(), and MainWindow::saveSettings().

void ProjectManager::loadDefaultProject  ) 
 

Definition at line 226 of file projectmanager.cpp.

References loadProject(), KConfigBase::readBoolEntry(), KConfigBase::readPathEntry(), and KConfigBase::setGroup().

Referenced by main().

bool ProjectManager::loadKDevelop2Project const KURL url  )  [slot]
 

Definition at line 612 of file projectmanager.cpp.

References KGlobal::dirs(), KStandardDirs::findExe(), KURL::isLocalFile(), KURL::isValid(), loadProject(), KURL::path(), projectFile(), KShellProcess::quote(), KProcess::setWorkingDirectory(), KMessageBox::sorry(), and KShellProcess::start().

Referenced by slotOpenProject().

bool ProjectManager::loadLanguageSupport const QString lang  )  [private]
 

Definition at line 532 of file projectmanager.cpp.

References PluginController::argumentsFromService(), PluginController::getInstance(), API::getInstance(), PluginController::integratePart(), KSelectAction::items, kdDebug(), KDEVELOP_PLUGIN_VERSION, m_activeLanguage, ProjectInfo::m_activeLanguage, m_info, ProjectInfo::m_language, main(), KService::Ptr, KSelectAction::setCurrentItem(), KDevApi::setLanguageSupport(), and KMessageBox::sorry().

Referenced by slotLoadProject(), and switchLanguage().

void ProjectManager::loadLocalParts  )  [private, slot]
 

Definition at line 586 of file projectmanager.cpp.

References getGeneralInfo(), PluginController::getInstance(), PluginController::loadLocalParts(), ProjectInfo::m_ignoreParts, m_info, ProjectInfo::m_loadParts, and PluginController::unloadPlugins().

Referenced by slotLoadProject(), slotProjectOptions(), and switchLanguage().

bool ProjectManager::loadProject const KURL url  )  [slot]
 

Definition at line 238 of file projectmanager.cpp.

References closeProject(), TopLevel::getInstance(), KURL::isValid(), m_info, m_openRecentProjectAction, ProjectInfo::m_projectURL, KDevMainWindow::main(), main(), KMainWindow::menuBar(), KURL::path(), projectFile(), projectLoaded(), KMessageBox::questionYesNo(), KListAction::setCurrentItem(), and slotLoadProject().

Referenced by createActions(), loadDefaultProject(), loadKDevelop2Project(), main(), Core::openProject(), and slotOpenProject().

bool ProjectManager::loadProjectFile  )  [private]
 

Definition at line 375 of file projectmanager.cpp.

References KIO::NetAccess::download(), API::getInstance(), ProjectInfo::m_document, m_info, ProjectInfo::m_projectURL, main(), KURL::prettyURL(), KIO::NetAccess::removeTempFile(), KDevApi::setProjectDom(), and KMessageBox::sorry().

Referenced by slotLoadProject().

bool ProjectManager::loadProjectPart  )  [private]
 

Definition at line 483 of file projectmanager.cpp.

References PluginController::argumentsFromService(), KURL::fileName(), PluginController::getInstance(), API::getInstance(), PluginController::integratePart(), kdDebug(), m_info, ProjectInfo::m_projectPlugin, ProjectInfo::m_projectURL, main(), KDevProject::openProject(), projectDirectory(), KDevApi::projectDom(), KService::Ptr, DomUtil::readBoolEntry(), DomUtil::readEntry(), KService::serviceByDesktopName(), KDevApi::setProject(), and KMessageBox::sorry().

Referenced by slotLoadProject().

void ProjectManager::loadSettings  ) 
 

Definition at line 209 of file projectmanager.cpp.

Referenced by NewMainWindow::loadSettings(), and MainWindow::loadSettings().

QString ProjectManager::projectDirectory const QString path,
bool  absolute
[static]
 

Definition at line 60 of file projectmanager.cpp.

References KURL::cleanPath(), getInstance(), KURL::path(), and projectFile().

Referenced by loadProjectPart(), and GeneralInfoWidget::projectDirectory().

KURL ProjectManager::projectFile  )  const
 

Definition at line 595 of file projectmanager.cpp.

References m_info, and ProjectInfo::m_projectURL.

Referenced by loadKDevelop2Project(), loadProject(), projectDirectory(), saveSettings(), and slotLoadProject().

bool ProjectManager::projectLoaded  )  const
 

Definition at line 602 of file projectmanager.cpp.

References m_info.

Referenced by closeProject(), loadProject(), and saveSettings().

ProjectSession * ProjectManager::projectSession  )  const
 

Definition at line 607 of file projectmanager.cpp.

bool ProjectManager::saveProjectFile  )  [private]
 

Definition at line 421 of file projectmanager.cpp.

References KTempFile::close(), API::getInstance(), KURL::isLocalFile(), m_info, ProjectInfo::m_projectURL, main(), KTempFile::name(), KURL::path(), KDevApi::projectDom(), KTempFile::setAutoDelete(), KMessageBox::sorry(), KTempFile::status(), KTempFile::textStream(), and KIO::NetAccess::upload().

Referenced by closeProject(), and slotProjectOptions().

void ProjectManager::saveSettings  ) 
 

Definition at line 213 of file projectmanager.cpp.

References getInstance(), m_openRecentProjectAction, projectFile(), projectLoaded(), KRecentFilesAction::saveEntries(), KConfigBase::setGroup(), and KConfigBase::writePathEntry().

Referenced by NewMainWindow::saveSettings(), MainWindow::saveSettings(), and slotLoadProject().

void ProjectManager::setupActions  )  [private]
 

void ProjectManager::slotLoadProject  )  [private, slot]
 

Definition at line 271 of file projectmanager.cpp.

References KRecentFilesAction::addURL(), Core::doEmitProjectOpened(), getGeneralInfo(), Core::getInstance(), PluginController::getInstance(), TopLevel::getInstance(), KURL::isLocalFile(), kdWarning(), PluginController::loadedPlugins(), loadLanguageSupport(), loadLocalParts(), loadProjectFile(), loadProjectPart(), m_closeProjectAction, m_info, ProjectInfo::m_language, m_openRecentProjectAction, m_pProjectSession, m_projectOptionsAction, ProjectInfo::m_projectURL, KDevMainWindow::main(), KMainWindow::menuBar(), projectFile(), KRecentFilesAction::removeURL(), ProjectSession::restoreFromFile(), saveSettings(), ProjectInfo::sessionFile(), KAction::setEnabled(), KDevMainWindow::statusBar(), unloadLanguageSupport(), and updateActiveLangMenu().

Referenced by loadProject().

void ProjectManager::slotOpenProject  )  [private, slot]
 

Definition at line 129 of file projectmanager.cpp.

References KFileDialog::getOpenURL(), KURL::isEmpty(), loadKDevelop2Project(), loadProject(), main(), KURL::path(), KConfigBase::readPathEntry(), and KConfigBase::setGroup().

Referenced by createActions().

void ProjectManager::slotProjectOptions  )  [private, slot]
 

Definition at line 149 of file projectmanager.cpp.

References KDialogBase::addVBoxPage(), Core::doEmitProjectConfigWidget(), Core::getInstance(), loadLocalParts(), main(), KConfigBase::readNumEntry(), saveProjectFile(), KConfigBase::setGroup(), updateActiveLangMenu(), and KConfigBase::writeEntry().

Referenced by createActions().

void ProjectManager::switchLanguage const QString lang  )  [private, slot]
 

Definition at line 195 of file projectmanager.cpp.

References Core::doEmitLanguageChanged(), Core::getInstance(), PluginController::getInstance(), loadLanguageSupport(), loadLocalParts(), m_info, ProjectInfo::m_loadParts, unloadLanguageSupport(), and PluginController::unloadPlugins().

Referenced by createActions().

void ProjectManager::unloadLanguageSupport  )  [private]
 

Definition at line 576 of file projectmanager.cpp.

References PluginController::getInstance(), API::getInstance(), kdDebug(), KDevApi::languageSupport(), PluginController::removePart(), and KDevApi::setLanguageSupport().

Referenced by closeProject(), slotLoadProject(), and switchLanguage().

void ProjectManager::unloadProjectPart  )  [private]
 

Definition at line 522 of file projectmanager.cpp.

References KDevProject::closeProject(), PluginController::getInstance(), API::getInstance(), KDevApi::project(), PluginController::removePart(), and KDevApi::setProject().

Referenced by closeProject().

void ProjectManager::updateActiveLangMenu  )  [private, slot]
 

Definition at line 185 of file projectmanager.cpp.

References getGeneralInfo(), KSelectAction::items, ProjectInfo::m_activeLanguage, m_activeLanguage, m_info, ProjectInfo::m_language, ProjectInfo::m_secondaryLanguages, KSelectAction::setCurrentItem(), KAction::setEnabled(), and KSelectAction::setItems().

Referenced by slotLoadProject(), and slotProjectOptions().


Member Data Documentation

KSelectAction* ProjectManager::m_activeLanguage [private]
 

Definition at line 93 of file projectmanager.h.

Referenced by closeProject(), createActions(), loadLanguageSupport(), and updateActiveLangMenu().

KAction* ProjectManager::m_closeProjectAction [private]
 

Definition at line 91 of file projectmanager.h.

Referenced by closeProject(), createActions(), and slotLoadProject().

ProjectInfo* ProjectManager::m_info [private]
 

Definition at line 89 of file projectmanager.h.

Referenced by closeProject(), getGeneralInfo(), loadLanguageSupport(), loadLocalParts(), loadProject(), loadProjectFile(), loadProjectPart(), projectFile(), projectLoaded(), saveProjectFile(), slotLoadProject(), switchLanguage(), and updateActiveLangMenu().

KRecentFilesAction* ProjectManager::m_openRecentProjectAction [private]
 

Definition at line 92 of file projectmanager.h.

Referenced by createActions(), loadProject(), saveSettings(), and slotLoadProject().

ProjectSession* ProjectManager::m_pProjectSession [private]
 

Definition at line 97 of file projectmanager.h.

Referenced by closeProject(), and slotLoadProject().

KAction * ProjectManager::m_projectOptionsAction [private]
 

Definition at line 91 of file projectmanager.h.

Referenced by closeProject(), createActions(), and slotLoadProject().

ProjectManager * ProjectManager::s_instance = 0 [static, private]
 

Definition at line 68 of file projectmanager.cpp.

Referenced by getInstance().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for KDevelop Version 3.1.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Mar 23 00:28:34 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003