1
/* KDevelop Custom Makefile Support
3
* Copyright 2007 Dukju Ahn <dukjuahn@gmail.com>
5
* This program is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU General Public License
7
* as published by the Free Software Foundation; either version 2
8
* of the License, or (at your option) any later version.
11
#ifndef CUSTOMMAKETREESYNCHRONIZER_H
12
#define CUSTOMMAKETREESYNCHRONIZER_H
14
#include "projectfilesystemwatcher.h"
20
class ProjectFileItem;
21
class ProjectFolderItem;
22
class IProjectFileManager;
25
class CustomMakeManager;
26
class ProjectFileSystemWatcher;
28
class CustomMakeTreeSynchronizer : public QObject
32
explicit CustomMakeTreeSynchronizer( CustomMakeManager* manager, QObject* parent = 0 );
33
virtual ~CustomMakeTreeSynchronizer();
35
void addDirectory( const QString &path, KDevelop::ProjectFolderItem *folderItem );
36
void addFile( const QString &path, KDevelop::ProjectFileItem *fileItem = 0 );
38
void removeDirectory( const QString & path, bool recurse );
39
void removeFile( const QString & path );
42
void filesCreated( const KUrl::List &files, KDevelop::ProjectFolderItem *parentFolder );
43
void filesDeleted( const QList<KDevelop::ProjectFileItem*> &files,
44
KDevelop::ProjectFolderItem *parentFolder );
46
void directoriesCreated( const KUrl::List &files, KDevelop::ProjectFolderItem *parentFolder );
47
void directoriesDeleted( const QList<KDevelop::ProjectFolderItem*> &dirs,
48
KDevelop::ProjectFolderItem *parentFolder );
50
void fileChanged( const QString& file, KDevelop::ProjectFileItem* fileItem);
53
void parseDirectoryRecursively( KDevelop::ProjectFolderItem* dir,
54
KDevelop::IProjectFileManager* manager );
57
CustomMakeManager *m_customMan;
58
ProjectFileSystemWatcher *m_watch;