aboutsummaryrefslogtreecommitdiff
path: root/src/viewplugger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/viewplugger.cpp')
-rw-r--r--src/viewplugger.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/viewplugger.cpp b/src/viewplugger.cpp
index 6046f82..58f3605 100644
--- a/src/viewplugger.cpp
+++ b/src/viewplugger.cpp
@@ -1,11 +1,35 @@
1#include "viewplugger.h" 1#include "viewplugger.h"
2 2
3#include <sys/types.h>
4#include <dirent.h>
5
3extern Bu::PluginInfo pluginViewDefault; 6extern Bu::PluginInfo pluginViewDefault;
4extern Bu::PluginInfo pluginViewMake; 7extern Bu::PluginInfo pluginViewMake;
5ViewPlugger::ViewPlugger() 8ViewPlugger::ViewPlugger()
6{ 9{
7 registerBuiltinPlugin( &pluginViewDefault ); 10 registerBuiltinPlugin( &pluginViewDefault );
8 registerBuiltinPlugin( &pluginViewMake ); 11 registerBuiltinPlugin( &pluginViewMake );
12
13 DIR *dir = opendir("/usr/lib/build");
14 if( !dir )
15 return;
16 struct dirent *de;
17 while( (de = readdir( dir )) )
18 {
19 if( strncmp("pluginView", de->d_name, 15 ) )
20 continue;
21
22 Bu::FString sFile("/usr/lib/build/");
23 sFile += de->d_name;
24 char *s = de->d_name;
25 for(; *s && *s != '.'; s++ ) { }
26 registerExternalPlugin(
27 sFile,
28 Bu::FString( de->d_name, (ptrdiff_t)s-(ptrdiff_t)de->d_name )
29 );
30 }
31
32 closedir( dir );
9} 33}
10 34
11ViewPlugger::~ViewPlugger() 35ViewPlugger::~ViewPlugger()