~ci-train-bot/unity8/unity8-ubuntu-zesty-2404

« back to all changes in this revision

Viewing changes to plugins/Unity/Indicators/modelprinter.cpp

  • Committer: Nick Dedekind
  • Date: 2016-11-28 13:46:55 UTC
  • mfrom: (2704 unity8)
  • mto: This revision was merged to the branch mainline in revision 2752.
  • Revision ID: nick.dedekind@canonical.com-20161128134655-vd70a64pbci1b4oc
merged with trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
105
105
 
106
106
    Q_FOREACH(int role, roles) {
107
107
        const QByteArray& roleName = roleNames[role];
108
 
        stream << tabify(depth) << getVariantString(roleName, sourceModel->get(row, roleName));
 
108
        stream << getVariantString(roleName, sourceModel->get(row, roleName), depth);
109
109
    }
110
110
    return str;
111
111
}
112
112
 
113
 
QString ModelPrinter::getVariantString(const QString& roleName, const QVariant &vData) const
 
113
QString ModelPrinter::getVariantString(const QVariant& vData) const
 
114
{
 
115
    if (vData.type() == QVariant::List) {
 
116
        QStringList strList;
 
117
        for (const auto& v : vData.toList())
 
118
            strList.append(getVariantString(v));
 
119
 
 
120
        return '[' + strList.join(", ") + ']';
 
121
    }
 
122
 
 
123
    return vData.toString();
 
124
}
 
125
 
 
126
QString ModelPrinter::getVariantString(const QString& roleName, const QVariant &vData, int depth) const
114
127
{
115
128
    QString str;
116
129
    QTextStream stream(&str);
119
132
        QMapIterator<QString, QVariant> iter(vData.toMap());
120
133
        while (iter.hasNext()) {
121
134
            iter.next();
 
135
            stream << tabify(depth);
122
136
            stream << roleName
123
137
                << "."
124
138
                << iter.key()
125
139
                << ": "
126
 
                << iter.value().toString()
 
140
                << getVariantString(iter.value())
127
141
                << endl;
128
142
        }
129
143
    }
130
144
    else {
 
145
            stream << tabify(depth);
131
146
            stream << roleName
132
147
                << ": "
133
 
                << vData.toString()
 
148
                << getVariantString(vData)
134
149
                << endl;
135
150
    }
136
151
    return str;