summaryrefslogtreecommitdiffstats
path: root/kbabel/kbabeldict/modules/dbsearchengine2/dbscan.h
blob: 990d556ca89af4b80479c97727da1d41c25d2fe0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
/***************************************************************************
			  dbscan.h  - 
			     -------------------
    begin                : Fri Sep 8 2000
    copyright            : (C) 2000 by Andrea Rizzi
    email                : rizzi@kde.org
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/
/*
 Translation search engine  
  Copyright  2000
  Andrea Rizzi rizzi@kde.org
  
*/


#ifndef _DBSCAN_H_
#define _DBSCAN_H_

#include <catalog.h>
#include <kurl.h>
#include "database.h"

#include "sourcedialog.h"

class KConfigBase;

class MessagesSource
{
    //FIXME Use KURL and add network support
    
    public: 
    MessagesSource();
    void writeConfig(KConfigBase *config);
    void readConfig(KConfigBase *config);
    void setDialogValues(SourceDialog *sd);
    void getDialogValues(SourceDialog *sd);
    
    /**
      * It returns a list of urls to scan, the list contains single file if type is "SingleFile" 
      * or a list of files if type is "SingleDir" or "RecDir"
      */
    QValueList<KURL> urls();
    
    private:
    QValueList<KURL> filesInDir(KURL url,bool recursive);
    
    KURL location;
    // The source type "SingleFile" =0, "SingleDirectory"=1, "RecursiveDirectory"=2
    uint type;
    
    /**
	* A filter to apply on source files
*/	
    
    SearchFilter filter;
    
    QString projectName;
    QString projectKeywords;
    QString status;
};


class PoScanner : public QObject
{
    Q_OBJECT;
    
    public:
    
    PoScanner(DataBaseInterface *dbi,QObject *parent=0,const char *name=0);
    
    /*
   Scan a single PO file.
 */ 
    bool scanFile(QString fileName); 
    
    /*
   Scan a single URL file.
 */ 
    bool scanURL(KURL u); 
    
    
    /*
   Scan a list of space separated files with possible MetaCharacters
  */
    bool scanPattern(QString pathName,QString pattern="*.po",bool rec=false);
    
    
    
    
    signals: 
    void fileStarted();
    void fileProgress(int);
    void fileFinished();
    void fileLoading(int);
    void patternStarted();
    void patternProgress(int);
    void patternFinished();
    void added(int);
    void filename(QString);
    private:
    
    // If true when a translation is found in a CATALOG the old translation for this CATALOG
    // will be removed  
    bool removeOldCatalogTranslation;
    int count;
    DataBaseInterface *di;
    // InfoItem cinfo;
};


#endif