summaryrefslogtreecommitdiffstats
path: root/python/pykde/sip/kio/kdirlister.sip
blob: 279b0c451dce6e749cd83bcfc35c2a2cf5b6a4ce (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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module kio  version KDE 3.5.3


// This software 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.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


class KDirLister : QObject
{
%TypeHeaderCode
#include <kdirlister.h>
%End


public:
                         KDirLister (bool = 0);
    virtual bool         openURL (const KURL&, bool = 0, bool = 0);
    virtual void         stop ();
    virtual void         stop (const KURL&);
    bool                 autoUpdate () const;
    virtual void         setAutoUpdate (bool);
    bool                 autoErrorHandlingEnabled () const;
    void                 setAutoErrorHandlingEnabled (bool, QWidget* /Transfer/);
    bool                 showingDotFiles () const;
    virtual void         setShowingDotFiles (bool);
    bool                 dirOnlyMode () const;
    virtual void         setDirOnlyMode (bool);
    const KURL&          url () const;

%If ( KDE_3_4_0 -  )
    const KURL::List&    directories () const;
%End

    virtual void         emitChanges ();
    virtual void         updateDirectory (const KURL&);
    bool                 isFinished () const;
    KFileItem*           rootItem () const;
    virtual KFileItem*   findByURL (const KURL&) const;
    KFileItem*           find (const KURL&) const;
    virtual KFileItem*   findByName (const QString&) const;
    virtual void         setNameFilter (const QString&);
    const QString&       nameFilter () const;
    virtual void         setMimeFilter (const QStringList&);

%If ( KDE_3_1_0 -  )
    void                 setMimeExcludeFilter (const QStringList&);
%End

    virtual void         clearMimeFilter ();
    const QStringList&   mimeFilters () const;
    bool                 matchesFilter (const QString&) const;
    bool                 matchesMimeFilter (const QString&) const;

%If ( KDE_3_1_0 -  )
    void                 setMainWindow (QWidget*);
    QWidget*             mainWindow ();

    enum WhichItems
    {
        AllItems, 
        FilteredItems
    };

    KFileItemList        items (KDirLister::WhichItems = FilteredItems ) const;
    KFileItemList        itemsForDir (const KURL&, KDirLister::WhichItems = FilteredItems ) const;
%End


signals:
    void                 started (const KURL&);
    void                 completed ();
    void                 completed (const KURL&);
    void                 canceled ();
    void                 canceled (const KURL&);
    void                 redirection (const KURL&);
    void                 redirection (const KURL&, const KURL&);
    void                 clear ();
    void                 clear (const KURL&);
    void                 newItems (const KFileItemList&);
    void                 itemsFilteredByMime (const KFileItemList&);
    void                 deleteItem (KFileItem*);
    void                 refreshItems (const KFileItemList&);
    void                 infoMessage (const QString&);
    void                 percent (int);
    void                 totalSize (KIO::filesize_t);
    void                 processedSize (KIO::filesize_t);
    void                 speed (int);

protected:
    virtual bool         matchesFilter (const KFileItem*) const;
    virtual bool         matchesMimeFilter (const KFileItem*) const;
    virtual bool         doNameFilter (const QString&, const QPtrList<QRegExp>&) const;
    virtual bool         doMimeFilter (const QString&, const QStringList&) const;

%If ( KDE_3_1_0 -  )
    bool                 doMimeExcludeFilter (const QString&, const QStringList&) const;
%End

    virtual bool         validURL (const KURL&) const;
    virtual void         handleError (KIO::Job*);

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KDirLister



%MappedType KFileItemList
//converts a Python list of KFileItem
{
%TypeHeaderCode
#include <sipkioKFileItem.h>
%End

%ConvertFromTypeCode
    if (!sipCpp)
        return PyList_New (0);

    PyObject *pylist;

    // Create the list

    if ((pylist = PyList_New(0)) == NULL)
        return NULL;

    // Get it.

    QPtrList<KFileItem> *cpplist = (QPtrList<KFileItem> *)sipCpp;
    KFileItem *cpp;
    PyObject *inst;

    // the loop depends on the type of iterator the  tmeplate makes available
    for(cpp = cpplist->first (); cpp != 0; cpp = cpplist->next () )
    {
        if (((inst = sipConvertFromInstance (cpp, sipClass_KFileItem, sipTransferObj)) == NULL)
            || PyList_Append (pylist, inst) < 0)
        {
            Py_DECREF (pylist);
            return NULL;
        }
    }

    return pylist;
%End

%ConvertToTypeCode
    if (sipIsErr == NULL)
        return PyList_Check(sipPy);

    QPtrList<KFileItem> *cpplist = new QPtrList<KFileItem>;

    PyObject *elem;
    KFileItem *cpp;
    int iserr = 0;

    for (int i = 0; i < PyList_Size (sipPy); i++)
    {
        elem = PyList_GET_ITEM (sipPy, i);
        cpp = (KFileItem *)sipForceConvertTo_KFileItem (elem, &iserr);

        if (iserr)
        {
            *sipIsErr = 1;
            delete cpplist;
            return 0;
        }

        cpplist->append (cpp);
    }

    *sipCppPtr = cpplist;

    return 1;
%End
};


%MappedType QPtrList<QRegExp>
//converts a Python list of QRegExp
{
%TypeHeaderCode
#include <qregexp.h>
#include <sipqtQRegExp.h>
%End

%ConvertFromTypeCode
    if (!sipCpp)
        return PyList_New (0);

    PyObject *pylist;

    // Create the list

    if ((pylist = PyList_New(0)) == NULL)
        return NULL;

    // Get it.

    QPtrList<QRegExp> *cpplist = (QPtrList<QRegExp> *)sipCpp;
    QRegExp *cpp;
    PyObject *inst;

    // the loop depends on the type of iterator the  tmeplate makes available
    for(cpp = cpplist->first (); cpp != 0; cpp = cpplist->next () )
    {
        if (((inst = sipConvertFromInstance (cpp, sipClass_QRegExp, sipTransferObj)) == NULL)
            || PyList_Append (pylist, inst) < 0)
        {
            Py_DECREF (pylist);
            return NULL;
        }
    }

    return pylist;
%End

%ConvertToTypeCode
    if (sipIsErr == NULL)
        return PyList_Check(sipPy);

    QPtrList<QRegExp> *cpplist = new QPtrList<QRegExp>;

    PyObject *elem;
    QRegExp *cpp;
    int iserr = 0;

    for (int i = 0; i < PyList_Size (sipPy); i++)
    {
        elem = PyList_GET_ITEM (sipPy, i);
        cpp = (QRegExp *)sipForceConvertTo_QRegExp (elem, &iserr);
 
        if (iserr)
        {
            *sipIsErr = 1;
            delete cpplist;
            return 0;
        }

        cpplist->append (cpp);
    }

    *sipCppPtr = cpplist;

    return 1;
%End
};