Qt 4.8
Public Functions | Protected Functions | Private Slots | Properties | List of all members
QBBClipboard::MimeData Class Reference
Inheritance diagram for QBBClipboard::MimeData:
QMimeData QObject

Public Functions

void addFormatToCheck (const QString &format)
 
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...
 
 MimeData (QBBClipboard *clipboard)
 
void setUserMimeData (QMimeData *userMimeData)
 
QMimeDatauserMimeData ()
 
 ~MimeData ()
 
- 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...
 

Protected Functions

QVariant retrieveData (const QString &mimetype, QVariant::Type preferredType) 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...
 

Private Slots

void releaseOwnership ()
 

Properties

QBBClipboard *const m_clipboard
 
QSet< QStringm_formatsToCheck
 
QMimeDatam_userMimeData
 

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 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 Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

Definition at line 75 of file qbbclipboard.cpp.

Constructors and Destructors

◆ MimeData()

QBBClipboard::MimeData::MimeData ( QBBClipboard clipboard)
inline

Definition at line 79 of file qbbclipboard.cpp.

80  : QMimeData(),
81  m_clipboard(clipboard),
83  {
84  Q_ASSERT(clipboard);
85 
86  for (int i = 0; typeList[i] != 0; ++i) {
88  }
89  }
QBBClipboard *const m_clipboard
#define Q_ASSERT(cond)
Definition: qglobal.h:1823
QMimeData()
Constructs a new MIME data object with no data in it.
Definition: qmimedata.cpp:291
QSet< QString > m_formatsToCheck
static QString fromUtf8(const char *, int size=-1)
Returns a QString initialized with the first size bytes of the UTF-8 string str.
Definition: qstring.cpp:4302
static const char * typeList[]

◆ ~MimeData()

QBBClipboard::MimeData::~MimeData ( )
inline

Definition at line 91 of file qbbclipboard.cpp.

92  {
93  delete m_userMimeData;
94  }

Functions

◆ addFormatToCheck()

void QBBClipboard::MimeData::addFormatToCheck ( const QString format)
inline

Definition at line 96 of file qbbclipboard.cpp.

Referenced by QBBClipboard::setMimeData().

96  {
98 
99 #if defined(QBBCLIPBOARD_DEBUG)
100  qDebug() << Q_FUNC_INFO << "formats=" << m_formatsToCheck;
101 #endif
102  }
Q_CORE_EXPORT void qDebug(const char *,...)
QSet< QString > m_formatsToCheck
#define Q_FUNC_INFO
Definition: qglobal.h:1871

◆ formats()

QStringList QBBClipboard::MimeData::formats ( ) const
inlinevirtual

Returns a list of formats supported by the object.

This is a list of MIME types for which the object can return suitable data. The formats in the list are in a priority order.

For the most common types of data, you can call the higher-level functions hasText(), hasHtml(), hasUrls(), hasImage(), and hasColor() instead.

See also
hasFormat(), setData(), data()

Reimplemented from QMimeData.

Definition at line 113 of file qbbclipboard.cpp.

Referenced by releaseOwnership().

114  {
115  QStringList result;
116 
118  if (is_clipboard_format_present(format.toUtf8().constData()) == 0)
119  result << format;
120  }
121 
122 #if defined(QBBCLIPBOARD_DEBUG)
123  qDebug() << Q_FUNC_INFO << "result=" << result;
124 #endif
125  return result;
126  }
QByteArray toUtf8() const Q_REQUIRED_RESULT
Returns a UTF-8 representation of the string as a QByteArray.
Definition: qstring.cpp:4074
The QString class provides a Unicode character string.
Definition: qstring.h:83
Q_CORE_EXPORT void qDebug(const char *,...)
QSet< QString > m_formatsToCheck
The QStringList class provides a list of strings.
Definition: qstringlist.h:66
const char * constData() const
Returns a pointer to the data stored in the byte array.
Definition: qbytearray.h:433
#define Q_FOREACH(variable, container)
Same as foreach(variable, container).
Definition: qglobal.h:2435
#define Q_FUNC_INFO
Definition: qglobal.h:1871

◆ hasFormat()

bool QBBClipboard::MimeData::hasFormat ( const QString mimeType) const
inlinevirtual

Returns true if the object can return data for the MIME type specified by mimeType; otherwise returns false.

For the most common types of data, you can call the higher-level functions hasText(), hasHtml(), hasUrls(), hasImage(), and hasColor() instead.

See also
formats(), setData(), data()

Reimplemented from QMimeData.

Definition at line 104 of file qbbclipboard.cpp.

105  {
106  const bool result = is_clipboard_format_present(mimetype.toUtf8().constData()) == 0;
107 #if defined(QBBCLIPBOARD_DEBUG)
108  qDebug() << Q_FUNC_INFO << "mimetype=" << mimetype << "result=" << result;
109 #endif
110  return result;
111  }
Q_CORE_EXPORT void qDebug(const char *,...)
#define Q_FUNC_INFO
Definition: qglobal.h:1871

◆ releaseOwnership

void QBBClipboard::MimeData::releaseOwnership ( )
inlineprivateslot

Definition at line 159 of file qbbclipboard.cpp.

160  {
161  if (m_userMimeData) {
162 #if defined(QBBCLIPBOARD_DEBUG)
163  qDebug() << Q_FUNC_INFO << "user data formats=" << m_userMimeData->formats() << "system formats=" << formats();
164 #endif
165  delete m_userMimeData;
166  m_userMimeData = 0;
168  }
169  }
virtual QStringList formats() const
Returns a list of formats supported by the object.
Definition: qmimedata.cpp:579
QBBClipboard *const m_clipboard
QStringList formats() const
Returns a list of formats supported by the object.
Q_CORE_EXPORT void qDebug(const char *,...)
void emitChanged(QClipboard::Mode mode)
#define Q_FUNC_INFO
Definition: qglobal.h:1871

◆ retrieveData()

QVariant QBBClipboard::MimeData::retrieveData ( const QString mimeType,
QVariant::Type  type 
) const
inlineprotectedvirtual

Returns a variant with the given type containing data for the MIME type specified by mimeType.

If the object does not support the MIME type or variant type given, a null variant is returned instead.

This function is called by the general data() getter and by the convenience getters (text(), html(), urls(), imageData(), and colorData()). You can reimplement it if you want to store your data using a custom data structure (instead of a QByteArray, which is what setData() provides). You would then also need to reimplement hasFormat() and formats().

See also
data()

Reimplemented from QMimeData.

Definition at line 146 of file qbbclipboard.cpp.

147  {
148 #if defined(QBBCLIPBOARD_DEBUG)
149  qDebug() << Q_FUNC_INFO << "mimetype=" << mimetype << "preferredType=" << preferredType;
150 #endif
151  if (is_clipboard_format_present(mimetype.toUtf8().constData()) != 0)
152  return QMimeData::retrieveData(mimetype, preferredType);
153 
154  const QByteArray data = readClipboardBuff(mimetype.toUtf8().constData());
155  return qVariantFromValue(data);
156  }
QVariant qVariantFromValue(const T &)
Definition: qvariant.h:451
The QByteArray class provides an array of bytes.
Definition: qbytearray.h:135
QByteArray data(const QString &mimetype) const
Returns the data stored in the object in the format described by the MIME type specified by mimeType...
Definition: qmimedata.cpp:524
Q_CORE_EXPORT void qDebug(const char *,...)
virtual QVariant retrieveData(const QString &mimetype, QVariant::Type preferredType) const
Returns a variant with the given type containing data for the MIME type specified by mimeType...
Definition: qmimedata.cpp:603
static QByteArray readClipboardBuff(const char *type)
#define Q_FUNC_INFO
Definition: qglobal.h:1871

◆ setUserMimeData()

void QBBClipboard::MimeData::setUserMimeData ( QMimeData userMimeData)
inline

Definition at line 128 of file qbbclipboard.cpp.

Referenced by QBBClipboard::setMimeData().

129  {
130  delete m_userMimeData;
132 
133  // system clipboard API doesn't allow detection of changes by other applications
134  // simulate an owner change through delayed invocation
135  // basically transfer ownership of data to the system clipboard once event processing resumes
136  if (m_userMimeData)
137  QMetaObject::invokeMethod(this, "releaseOwnership", Qt::QueuedConnection);
138  }
QMimeData * userMimeData()
static bool invokeMethod(QObject *obj, const char *member, Qt::ConnectionType, QGenericReturnArgument ret, QGenericArgument val0=QGenericArgument(0), QGenericArgument val1=QGenericArgument(), QGenericArgument val2=QGenericArgument(), QGenericArgument val3=QGenericArgument(), QGenericArgument val4=QGenericArgument(), QGenericArgument val5=QGenericArgument(), QGenericArgument val6=QGenericArgument(), QGenericArgument val7=QGenericArgument(), QGenericArgument val8=QGenericArgument(), QGenericArgument val9=QGenericArgument())
Invokes the member (a signal or a slot name) on the object obj.

◆ userMimeData()

QMimeData* QBBClipboard::MimeData::userMimeData ( )
inline

Definition at line 140 of file qbbclipboard.cpp.

Referenced by QBBClipboard::mimeData(), QBBClipboard::setMimeData(), and setUserMimeData().

141  {
142  return m_userMimeData;
143  }

Properties

◆ m_clipboard

QBBClipboard* const QBBClipboard::MimeData::m_clipboard
private

Definition at line 172 of file qbbclipboard.cpp.

Referenced by releaseOwnership().

◆ m_formatsToCheck

QSet<QString> QBBClipboard::MimeData::m_formatsToCheck
private

Definition at line 174 of file qbbclipboard.cpp.

Referenced by addFormatToCheck(), formats(), and MimeData().

◆ m_userMimeData

QMimeData* QBBClipboard::MimeData::m_userMimeData
private

Definition at line 175 of file qbbclipboard.cpp.

Referenced by releaseOwnership(), setUserMimeData(), userMimeData(), and ~MimeData().


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