~klimczak-k/beaver-feeds/client

« back to all changes in this revision

Viewing changes to ui/openlineedit.h

  • Committer: Krzysztof Klimczak
  • Date: 2011-01-13 01:53:48 UTC
  • Revision ID: klimczak.k@gmail.com-20110113015348-fdqe451p1f0es5k1
moved from server ui code part

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef OPENLINEEDIT_H
 
2
#define OPENLINEEDIT_H
 
3
 
 
4
#include <QWidget>
 
5
 
 
6
#include <QLineEdit>
 
7
#include <QPushButton>
 
8
#include <QIcon>
 
9
#include <QResizeEvent>
 
10
#include <QSize>
 
11
#include <QFileInfo>
 
12
 
 
13
class OpenLineEdit : public QWidget
 
14
{
 
15
    Q_OBJECT
 
16
public:
 
17
        enum ButtonPosition{
 
18
                Inside,
 
19
                Outside
 
20
        };
 
21
 
 
22
        enum ButtonAlign{
 
23
                Right,
 
24
                Left
 
25
        };
 
26
 
 
27
        enum ButtonMode{
 
28
                OpenFile,
 
29
                SaveFile,
 
30
                Directory
 
31
        };
 
32
 
 
33
        enum AccessMode{
 
34
                ReadOnly = 0x1,
 
35
                WriteOnly = 0x2,
 
36
                FullAccess = 0x3 // ReadOnly + WriteOnly
 
37
        };
 
38
 
 
39
private:
 
40
        class OpenLineEditPrivate;
 
41
        OpenLineEditPrivate *d;
 
42
 
 
43
public:
 
44
        explicit OpenLineEdit(QWidget *parent = 0, bool checkPath = true);
 
45
        ~OpenLineEdit();
 
46
 
 
47
        QSize sizeHint() const;
 
48
        QSize minimumSizeHint() const;
 
49
 
 
50
        void setButtonPosition(const OpenLineEdit::ButtonPosition &pos);
 
51
        void setButtonAlign(const OpenLineEdit::ButtonAlign &align);
 
52
        void setButtonMode(const OpenLineEdit::ButtonMode &mode);
 
53
        void setAccessMode(const OpenLineEdit::AccessMode &mode);
 
54
 
 
55
        OpenLineEdit::ButtonPosition buttonPosition() const;
 
56
        OpenLineEdit::ButtonAlign buttonAlign() const;
 
57
        OpenLineEdit::ButtonMode buttonMode() const;
 
58
        OpenLineEdit::AccessMode accessMode() const;
 
59
 
 
60
 
 
61
        QString text() const;
 
62
 
 
63
        QString buttonText() const;
 
64
 
 
65
        QIcon buttonIcon() const;
 
66
 
 
67
        bool isReadOnly() const;
 
68
 
 
69
        bool checkPath() const;
 
70
 
 
71
        bool isModified() const;
 
72
        void setModified(bool);
 
73
 
 
74
        bool isEmpty() const;
 
75
protected:
 
76
        void resizeEvent(QResizeEvent *);
 
77
 
 
78
 
 
79
private slots:
 
80
        void getFileName();
 
81
        void textEdited( const QString &text );
 
82
 
 
83
public slots:
 
84
        void setText(const QString &text);
 
85
        void setButtonText(const QString &text);
 
86
 
 
87
 
 
88
        void setButtonIcon(const QString &icon);
 
89
        void setButtonIcon(const QIcon &icon);
 
90
 
 
91
        void setReadOnly(const bool &readOnly);
 
92
 
 
93
        void setCheckPath(const bool &flag);
 
94
};
 
95
 
 
96
#endif // OPENLINEEDIT_H