summaryrefslogtreecommitdiffstats
path: root/krename/permission.h
blob: da4dbd5e883a1483ccf6289356058d48e9d6d06c (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
/***************************************************************************
                          permission.h  -  description
                             -------------------
    begin                : Sun Jan 13 2002
    copyright            : (C) 2002 by Dominik Seichter
    email                : domseichter@web.de
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef PERMISSION_H
#define PERMISSION_H

/*
 * This two includes are required, because you have to use
 * krenames internal structures and enums.
 */
#include "batchrenamer.h"
#include "pluginloader.h"
#include "plugin.h"
#include "helpdialog.h"

#include <stdio.h>

class KComboBox;
class TQCheckBox;
class TQGroupBox;
class TQVBoxLayout;
class TQHBoxLayout;
class TQString;
class TQWidget;


// Plugin class starts here
class MyPermPlugin: public Plugin {
    Q_OBJECT
  
    public:
        const TQString getName() const;
        const TQString getAccelName() const;
        const int type() const;

        bool checkError();
        void drawInterface( TQWidget* w, TQVBoxLayout* l );
        void fillStructure();
        TQString processFile( BatchRenamer* b, int, TQString token, int );
        void finished();
        const TQPixmap getIcon() const;        

    private:
        int getPermissions();
        int getGid( TQString group );
        int getUid( TQString owner );

        struct pervals {
            bool changePermissions;
            bool changeOwner;

            TQString owner;  // name of owner
            TQString group;  // name of group

            int newPermission;  // Permissions
        }perm;

    private slots:
        void enableControls();

    protected:
        TQGroupBox* groupPermission;
        TQGroupBox* groupOwner;
        TQCheckBox* checkPermissions;
        TQCheckBox* checkOwner;
        TQCheckBox* permBox[3][4];
        KComboBox* username;
        KComboBox* groupname;

        TQVBoxLayout* groupOwnerLayout;
        TQVBoxLayout* Layout0;
        TQHBoxLayout* Layout2;
        TQHBoxLayout* Layout3;
        TQHBoxLayout* Layout4;
};

#endif