summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2016-02-26 11:09:51 +0100
committerMarc Mutz <marc.mutz@kdab.com>2016-03-10 22:42:34 +0000
commitadb377c89eac50f8de60c0eb363a37de3301d79d (patch)
tree48ca51db885722a322cff89626ae17b9fdb8cd6c
parent747b39db66cc0a8683b05ec5f09a22c9d04a9ab0 (diff)
ibus: mark some types as movable
These types are held in QVariant, and QIBusAttribute is also held in QVector. Now that they are no longer polymorphic, they can be marked as movable. Remove user-defined dtors to unlock the implicit move special member functions, which I enforce in my local tree for all Q_MOVABLE_TYPEs. Add std::move() when appending QIBusAttribute. QVector has rvalue-push_back(). Change-Id: Ibb359939d5c11b5ef1f8ceced9a051cdde452dd5 Reviewed-by: Takao Fujiwara <takao.fujiwara1@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
-rw-r--r--src/plugins/platforminputcontexts/ibus/qibustypes.cpp22
-rw-r--r--src/plugins/platforminputcontexts/ibus/qibustypes.h9
2 files changed, 5 insertions, 26 deletions
diff --git a/src/plugins/platforminputcontexts/ibus/qibustypes.cpp b/src/plugins/platforminputcontexts/ibus/qibustypes.cpp
index 9d219ff8c1..9462bad335 100644
--- a/src/plugins/platforminputcontexts/ibus/qibustypes.cpp
+++ b/src/plugins/platforminputcontexts/ibus/qibustypes.cpp
@@ -50,10 +50,6 @@ QIBusSerializable::QIBusSerializable()
{
}
-QIBusSerializable::~QIBusSerializable()
-{
-}
-
void QIBusSerializable::deserializeFrom(const QDBusArgument &argument)
{
argument >> name;
@@ -101,10 +97,6 @@ QIBusAttribute::QIBusAttribute()
name = "IBusAttribute";
}
-QIBusAttribute::~QIBusAttribute()
-{
-}
-
void QIBusAttribute::serializeTo(QDBusArgument &argument) const
{
argument.beginStructure();
@@ -181,10 +173,6 @@ QIBusAttributeList::QIBusAttributeList()
name = "IBusAttrList";
}
-QIBusAttributeList::~QIBusAttributeList()
-{
-}
-
void QIBusAttributeList::serializeTo(QDBusArgument &argument) const
{
argument.beginStructure();
@@ -217,7 +205,7 @@ void QIBusAttributeList::deserializeFrom(const QDBusArgument &arg)
QIBusAttribute attr;
var.variant().value<QDBusArgument>() >> attr;
- attributes.append(attr);
+ attributes.append(std::move(attr));
}
arg.endArray();
@@ -262,10 +250,6 @@ QIBusText::QIBusText()
name = "IBusText";
}
-QIBusText::~QIBusText()
-{
-}
-
void QIBusText::serializeTo(QDBusArgument &argument) const
{
argument.beginStructure();
@@ -314,10 +298,6 @@ QIBusEngineDesc::QIBusEngineDesc()
name = "IBusEngineDesc";
}
-QIBusEngineDesc::~QIBusEngineDesc()
-{
-}
-
void QIBusEngineDesc::serializeTo(QDBusArgument &argument) const
{
argument.beginStructure();
diff --git a/src/plugins/platforminputcontexts/ibus/qibustypes.h b/src/plugins/platforminputcontexts/ibus/qibustypes.h
index 9f2b0eb41f..217cd836fc 100644
--- a/src/plugins/platforminputcontexts/ibus/qibustypes.h
+++ b/src/plugins/platforminputcontexts/ibus/qibustypes.h
@@ -54,7 +54,6 @@ class QIBusSerializable
{
public:
QIBusSerializable();
- ~QIBusSerializable();
void serializeTo(QDBusArgument &argument) const;
void deserializeFrom(const QDBusArgument &argument);
@@ -82,7 +81,6 @@ public:
};
QIBusAttribute();
- ~QIBusAttribute();
QTextCharFormat format() const;
@@ -94,12 +92,12 @@ public:
quint32 start;
quint32 end;
};
+Q_DECLARE_TYPEINFO(QIBusAttribute, Q_MOVABLE_TYPE);
class QIBusAttributeList : private QIBusSerializable
{
public:
QIBusAttributeList();
- ~QIBusAttributeList();
QList<QInputMethodEvent::Attribute> imAttributes() const;
@@ -108,12 +106,12 @@ public:
QVector<QIBusAttribute> attributes;
};
+Q_DECLARE_TYPEINFO(QIBusAttributeList, Q_MOVABLE_TYPE);
class QIBusText : private QIBusSerializable
{
public:
QIBusText();
- ~QIBusText();
void serializeTo(QDBusArgument &argument) const;
void deserializeFrom(const QDBusArgument &argument);
@@ -121,12 +119,12 @@ public:
QString text;
QIBusAttributeList attributes;
};
+Q_DECLARE_TYPEINFO(QIBusText, Q_MOVABLE_TYPE);
class QIBusEngineDesc : private QIBusSerializable
{
public:
QIBusEngineDesc();
- ~QIBusEngineDesc();
void serializeTo(QDBusArgument &argument) const;
void deserializeFrom(const QDBusArgument &argument);
@@ -149,6 +147,7 @@ public:
QString textdomain;
QString iconpropkey;
};
+Q_DECLARE_TYPEINFO(QIBusEngineDesc, Q_MOVABLE_TYPE);
inline QDBusArgument &operator<<(QDBusArgument &argument, const QIBusAttribute &attribute)
{ attribute.serializeTo(argument); return argument; }