~ubuntu-branches/ubuntu/oneiric/kdeplasma-addons/oneiric

« back to all changes in this revision

Viewing changes to applets/pastebin/pastebin.h

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Thomas
  • Date: 2010-05-25 09:50:14 UTC
  • mfrom: (1.1.28 upstream)
  • Revision ID: james.westby@ubuntu.com-20100525095014-6mlrm9z9bkws0zkt
Tags: 4:4.4.80-0ubuntu1
* New upstream beta release:
  - Bump kde-sc-dev-latest build-dep version to 4.4.80
  - Refresh kubuntu_04_kimpanel_disable_scim.diff
  - Update various .install files
  - Drop liblancelot0a and liblancelot-dev packages; Upstream has broken ABI
    without an .so version bump, and after discussion with Debian it was
    decided it was not worth it to ship an unstable library.
  - Add liblancelot files to plasma-widget-lancelot, adding appropriate
    Replaces: entries
* Switch to source format 3.0 (quilt):
  - Bump debhelper build-depend version to 7.3.16 or greater

Show diffs side-by-side

added added

removed removed

Lines of Context:
35
35
#include <QClipboard>
36
36
#include <QTimer>
37
37
#include <QPen>
 
38
#include <QWeakPointer>
38
39
 
39
40
class QSignalMapper;
40
41
class KAction;
 
42
class QPropertyAnimation;
 
43
 
 
44
namespace Plasma
 
45
{
 
46
    class Service;
 
47
} // namespace Plasma
41
48
 
42
49
class Pastebin : public Plasma::Applet
43
50
{
44
51
    Q_OBJECT
 
52
    Q_PROPERTY(qreal animationUpdate READ animationValue WRITE animationUpdate)
45
53
public:
46
54
    Pastebin(QObject *parent, const QVariantList &args);
47
55
    ~Pastebin();
54
62
                        const QRect &contents);
55
63
    void constraintsEvent(Plasma::Constraints constraints);
56
64
 
 
65
    qreal animationValue() const;
 
66
 
57
67
    enum InteractionState { /* What is the user doing, used for visual feedback on user actions */
58
68
        Off = 0,            /* Not set */
59
69
        Waiting = 1,        /* Applet hanging around idle */
71
81
    };
72
82
 
73
83
    enum textServers { PASTEBINCA, PASTEBINCOM };
74
 
    enum imageServers { IMAGEBINCA, IMAGESHACK, SIMPLESTIMAGEHOSTING };
 
84
    enum imageServers { IMAGEBINCA, IMAGESHACK, SIMPLESTIMAGEHOSTING, IMGUR };
75
85
 
76
86
public slots:
77
87
    void configAccepted();
101
111
    void updateTheme();
102
112
    void resetActionState();
103
113
    void copyToClipboard(const QString &url);
 
114
    void postingFinished(Plasma::ServiceJob *job);
104
115
 
105
116
    void editTextServer();
106
117
    void saveTextServer();
107
118
    void editImageServer();
108
119
    void saveImageServer();
109
120
    void closeServerDialog();
 
121
 
110
122
private:
111
123
    int iconSize();
112
124
    void showOverlay(bool show);
113
125
    void postContent(QString text, QImage imageData);
 
126
    void postClipboard(bool preferSelection);
114
127
 
115
128
    void addToHistory(const QString &url);
116
129
 
122
135
 
123
136
    bool m_isHovered;
124
137
    bool m_fadeIn;
125
 
    int m_animId;
 
138
    QWeakPointer<QPropertyAnimation> m_animation;
126
139
    qreal m_alpha;
127
140
 
128
141
    QFont m_font;
129
142
    QPen m_linePen;
130
143
    QColor m_fgColor;
131
144
    QColor m_bgColor;
132
 
    KIcon* m_icon;
133
145
 
134
146
    Plasma::ToolTipContent toolTipData;
135
147
    QString m_url;
139
151
    int m_imagePrivacy;
140
152
    QString m_server;
141
153
 
142
 
    QTimer *timer;
 
154
    QTimer *m_timer;
143
155
 
144
156
    int m_historySize;
145
157
    QSignalMapper *m_signalMapper;
151
163
 
152
164
    // custom server dialog
153
165
    QWidget *m_servers;
154
 
    bool m_waiting;
155
166
 
156
167
    QClipboard::Mode lastMode;
157
168
 
158
169
    Ui::pastebinConfig uiConfig;
159
170
    Ui::pastebinServersConfig uiServers;
 
171
 
 
172
    Plasma::Service *m_postingService;
 
173
 
 
174
    QString m_hoverText;
160
175
};
161
176
 
162
177
K_EXPORT_PLASMA_APPLET(pastebin, Pastebin)