Qt 4.8
Public Functions | Public Variables | List of all members
QClipboardWatcher Class Reference
Inheritance diagram for QClipboardWatcher:
QInternalMimeData QInternalMimeData QMimeData QMimeData QObject QObject

Public Functions

bool empty () const
 
QStringList formats_sys () const
 
virtual QStringList formats_sys () const
 
QByteArray getDataInFormat (Atom fmtatom) const
 
bool hasFormat_sys (const QString &mimetype) const
 
virtual bool hasFormat_sys (const QString &mimetype) const
 
 QClipboardWatcher ()
 
 QClipboardWatcher (QClipboard::Mode mode)
 
QVariant retrieveData_sys (const QString &mimetype, QVariant::Type preferredType) const
 
QVariant retrieveData_sys (const QString &mimetype, QVariant::Type type) const
 
 ~QClipboardWatcher ()
 
- Public Functions inherited from QInternalMimeData
QStringList formats () const
 Returns a list of formats supported by the object. More...
 
bool hasFormat (const QString &mimeType) const
 Returns true if the object can return data for the MIME type specified by mimeType; otherwise returns false. More...
 
 QInternalMimeData ()
 
 ~QInternalMimeData ()
 
- Public Functions inherited from QMimeData
void clear ()
 Removes all the MIME type and data entries in the object. More...
 
QVariant colorData () const
 Returns a color if the data stored in the object represents a color (MIME type application/x-color); otherwise returns a null variant. More...
 
QByteArray data (const QString &mimetype) const
 Returns the data stored in the object in the format described by the MIME type specified by mimeType. More...
 
bool hasColor () const
 Returns true if the object can return a color (MIME type application/x-color); otherwise returns false. More...
 
bool hasHtml () const
 Returns true if the object can return HTML (MIME type text/html); otherwise returns false. More...
 
bool hasImage () const
 Returns true if the object can return an image; otherwise returns false. More...
 
bool hasText () const
 Returns true if the object can return plain text (MIME type text/plain); otherwise returns false. More...
 
bool hasUrls () const
 Returns true if the object can return a list of urls; otherwise returns false. More...
 
QString html () const
 Returns a string if the data stored in the object is HTML (MIME type text/html); otherwise returns an empty string. More...
 
QVariant imageData () const
 Returns a QVariant storing a QImage if the object can return an image; otherwise returns a null variant. More...
 
 QMimeData ()
 Constructs a new MIME data object with no data in it. More...
 
void removeFormat (const QString &mimetype)
 Removes the data entry for mimeType in the object. More...
 
void setColorData (const QVariant &color)
 Sets the color data in the object to the given color. More...
 
void setData (const QString &mimetype, const QByteArray &data)
 Sets the data associated with the MIME type given by mimeType to the specified data. More...
 
void setHtml (const QString &html)
 Sets html as the HTML (MIME type text/html) used to represent the data. More...
 
void setImageData (const QVariant &image)
 Sets the data in the object to the given image. More...
 
void setText (const QString &text)
 Sets text as the plain text (MIME type text/plain) used to represent the data. More...
 
void setUrls (const QList< QUrl > &urls)
 Sets the URLs stored in the MIME data object to those specified by urls. More...
 
QString text () const
 Returns a plain text (MIME type text/plain) representation of the data. More...
 
QList< QUrlurls () const
 Returns a list of URLs contained within the MIME data object. More...
 
 ~QMimeData ()
 Destroys the MIME data object. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool event (QEvent *)
 This virtual function receives events to an object and should return true if the event e was recognized and processed. More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 

Public Variables

Atom atom
 
QByteArray format_atoms
 
QStringList formatList
 

Additional Inherited Members

- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 
- Static Public Functions inherited from QInternalMimeData
static bool canReadData (const QString &mimeType)
 
static QStringList formatsHelper (const QMimeData *data)
 
static bool hasFormatHelper (const QString &mimeType, const QMimeData *data)
 
static QByteArray renderDataHelper (const QString &mimeType, const QMimeData *data)
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Functions inherited from QInternalMimeData
QVariant retrieveData (const QString &mimeType, QVariant::Type type) const
 Returns a variant with the given type containing data for the MIME type specified by mimeType. More...
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

Definition at line 78 of file qclipboard_win.cpp.

Constructors and Destructors

◆ QClipboardWatcher() [1/2]

QClipboardWatcher::QClipboardWatcher ( )
inline

Definition at line 80 of file qclipboard_win.cpp.

Referenced by getDataInFormat(), and setupOwner().

82  {
83  }

◆ QClipboardWatcher() [2/2]

QClipboardWatcher::QClipboardWatcher ( QClipboard::Mode  mode)

Definition at line 1169 of file qclipboard_x11.cpp.

1170  : QInternalMimeData()
1171 {
1172  switch (mode) {
1173  case QClipboard::Selection:
1174  atom = XA_PRIMARY;
1175  break;
1176 
1177  case QClipboard::Clipboard:
1178  atom = ATOM(CLIPBOARD);
1179  break;
1180 
1181  default:
1182  qWarning("QClipboardWatcher: Internal error: Unsupported clipboard mode");
1183  break;
1184  }
1185 
1186  setupOwner();
1187 }
static void setupOwner()
#define ATOM(x)
Definition: qt_x11_p.h:723
Q_CORE_EXPORT void qWarning(const char *,...)

◆ ~QClipboardWatcher()

QClipboardWatcher::~QClipboardWatcher ( )

Definition at line 1189 of file qclipboard_x11.cpp.

Referenced by setupOwner().

1190 {
1191  if(selection_watcher == this)
1192  selection_watcher = 0;
1193  if(clipboard_watcher == this)
1194  clipboard_watcher = 0;
1195 }
static QClipboardWatcher * selection_watcher
static QClipboardWatcher * clipboard_watcher

Functions

◆ empty()

bool QClipboardWatcher::empty ( ) const

Definition at line 1197 of file qclipboard_x11.cpp.

Referenced by setupOwner().

1198 {
1199  Display *dpy = X11->display;
1200  Window win = XGetSelectionOwner(dpy, atom);
1201 
1202  if(win == requestor->internalWinId()) {
1203  qWarning("QClipboardWatcher::empty: Internal error: Application owns the selection");
1204  return true;
1205  }
1206 
1207  return win == XNone;
1208 }
#define X11
Definition: qt_x11_p.h:724
Q_CORE_EXPORT void qWarning(const char *,...)
static QWidget * requestor
struct _XDisplay Display
Definition: qwindowdefs.h:115
WId internalWinId() const
Returns the window system identifier of the widget, or 0 if the widget is not created yet...
Definition: qwidget.h:244

◆ formats_sys() [1/2]

QStringList QClipboardWatcher::formats_sys ( ) const
virtual

Implements QInternalMimeData.

Definition at line 105 of file qclipboard_win.cpp.

Referenced by empty(), QClipboardWatcher(), and setupOwner().

106 {
107  QStringList fmts;
108  IDataObject * pDataObj = 0;
109 
110  if (OleGetClipboard(&pDataObj) != S_OK && !pDataObj) // Sanity
111  return QStringList();
112 
113  fmts = QWindowsMime::allMimesForFormats(pDataObj);
114 
115  pDataObj->Release();
116 
117  return fmts;
118 }
static QStringList allMimesForFormats(IDataObject *pDataObj)
Definition: qmime_win.cpp:392
#define OleGetClipboard
The QStringList class provides a list of strings.
Definition: qstringlist.h:66

◆ formats_sys() [2/2]

virtual QStringList QClipboardWatcher::formats_sys ( ) const
virtual

Implements QInternalMimeData.

◆ getDataInFormat()

QByteArray QClipboardWatcher::getDataInFormat ( Atom  fmtatom) const

Definition at line 1274 of file qclipboard_x11.cpp.

Referenced by empty(), and setupOwner().

1275 {
1276  QByteArray buf;
1277 
1278  Display *dpy = X11->display;
1280  Window win = requestor->internalWinId();
1282 
1283  DEBUG("QClipboardWatcher::getDataInFormat: selection '%s' format '%s'",
1284  X11->xdndAtomToString(atom).data(), X11->xdndAtomToString(fmtatom).data());
1285 
1286  XSelectInput(dpy, win, NoEventMask); // don't listen for any events
1287 
1288  XDeleteProperty(dpy, win, ATOM(_QT_SELECTION));
1289  XConvertSelection(dpy, atom, fmtatom, ATOM(_QT_SELECTION), win, X11->time);
1290  XSync(dpy, false);
1291 
1292  VDEBUG("QClipboardWatcher::getDataInFormat: waiting for SelectionNotify event");
1293 
1294  XEvent xevent;
1295  if (!X11->clipboardWaitForEvent(win,SelectionNotify,&xevent,clipboard_timeout) ||
1296  xevent.xselection.property == XNone) {
1297  DEBUG("QClipboardWatcher::getDataInFormat: format not available");
1298  return buf;
1299  }
1300 
1301  VDEBUG("QClipboardWatcher::getDataInFormat: fetching data...");
1302 
1303  Atom type;
1304  XSelectInput(dpy, win, PropertyChangeMask);
1305 
1306  if (X11->clipboardReadProperty(win, ATOM(_QT_SELECTION), true, &buf, 0, &type, 0)) {
1307  if (type == ATOM(INCR)) {
1308  int nbytes = buf.size() >= 4 ? *((int*)buf.data()) : 0;
1309  buf = X11->clipboardReadIncrementalProperty(win, ATOM(_QT_SELECTION), nbytes, false);
1310  }
1311  }
1312 
1313  XSelectInput(dpy, win, NoEventMask);
1314 
1315  DEBUG("QClipboardWatcher::getDataInFormat: %d bytes received", buf.size());
1316 
1317  return buf;
1318 }
int type
Definition: qmetatype.cpp:239
static int clipboard_timeout
char * data()
Returns a pointer to the data stored in the byte array.
Definition: qbytearray.h:429
The QByteArray class provides an array of bytes.
Definition: qbytearray.h:135
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
#define X11
Definition: qt_x11_p.h:724
union _XEvent XEvent
Definition: qwindowdefs.h:116
#define ATOM(x)
Definition: qt_x11_p.h:723
bool testAttribute(Qt::WidgetAttribute) const
Returns true if attribute attribute is set on this widget; otherwise returns false.
Definition: qwidget.h:1041
static QWidget * requestor
struct _XDisplay Display
Definition: qwindowdefs.h:115
WId internalWinId() const
Returns the window system identifier of the widget, or 0 if the widget is not created yet...
Definition: qwidget.h:244
int size() const
Returns the number of bytes in this byte array.
Definition: qbytearray.h:402
#define DEBUG
void createWinId()
Definition: qwidget.cpp:2626
#define VDEBUG

◆ hasFormat_sys() [1/2]

bool QClipboardWatcher::hasFormat_sys ( const QString mimetype) const
virtual

Implements QInternalMimeData.

Definition at line 91 of file qclipboard_win.cpp.

Referenced by empty(), QClipboardWatcher(), and setupOwner().

92 {
93  IDataObject * pDataObj = 0;
94 
95  if (OleGetClipboard(&pDataObj) != S_OK && !pDataObj) // Sanity
96  return false;
97 
98  bool has = QWindowsMime::converterToMime(mime, pDataObj) != 0;
99 
100  pDataObj->Release();
101 
102  return has;
103 }
const char * mime
#define OleGetClipboard
static QWindowsMime * converterToMime(const QString &mimeType, IDataObject *pDataObj)
Definition: qmime_win.cpp:365

◆ hasFormat_sys() [2/2]

virtual bool QClipboardWatcher::hasFormat_sys ( const QString mimetype) const
virtual

Implements QInternalMimeData.

◆ retrieveData_sys() [1/2]

QVariant QClipboardWatcher::retrieveData_sys ( const QString mimetype,
QVariant::Type  preferredType 
) const
virtual

Implements QInternalMimeData.

Definition at line 120 of file qclipboard_win.cpp.

Referenced by empty(), QClipboardWatcher(), and setupOwner().

121 {
122  QVariant result;
123  IDataObject * pDataObj = 0;
124 
125  if (OleGetClipboard(&pDataObj) != S_OK && !pDataObj) // Sanity
126  return result;
127 
128  QWindowsMime *converter = QWindowsMime::converterToMime(mimeType, pDataObj);
129 
130  if (converter)
131  result = converter->convertToMime(mimeType, pDataObj, type);
132 
133  pDataObj->Release();
134 
135  return result;
136 }
The QVariant class acts like a union for the most common Qt data types.
Definition: qvariant.h:92
The QWindowsMime class maps open-standard MIME to Window Clipboard formats.
Definition: qmime.h:79
int type
Definition: qmetatype.cpp:239
#define OleGetClipboard
static QWindowsMime * converterToMime(const QString &mimeType, IDataObject *pDataObj)
Definition: qmime_win.cpp:365
virtual QVariant convertToMime(const QString &mimeType, IDataObject *pDataObj, QVariant::Type preferredType) const =0
Returns a QVariant containing the converted data for mimeType from pDataObj.

◆ retrieveData_sys() [2/2]

QVariant QClipboardWatcher::retrieveData_sys ( const QString mimetype,
QVariant::Type  type 
) const
virtual

Implements QInternalMimeData.

Properties

◆ atom

Atom QClipboardWatcher::atom

Definition at line 155 of file qclipboard_x11.cpp.

Referenced by empty(), getDataInFormat(), and QClipboardWatcher().

◆ format_atoms

QByteArray QClipboardWatcher::format_atoms
mutable

Definition at line 157 of file qclipboard_x11.cpp.

Referenced by empty().

◆ formatList

QStringList QClipboardWatcher::formatList
mutable

Definition at line 156 of file qclipboard_x11.cpp.

Referenced by empty().


The documentation for this class was generated from the following files: