diff --git a/libgui/src/workspace-model.cc b/libgui/src/workspace-model.cc --- a/libgui/src/workspace-model.cc +++ b/libgui/src/workspace-model.cc @@ -81,30 +81,50 @@ { QVariant retval; - if (idx.isValid () - && (role == Qt::DisplayRole - || (idx.column () == 0 && role == Qt::EditRole))) + if (idx.isValid ()) { - switch (idx.column ()) + if (role == Qt::BackgroundColorRole) { - case 0: - retval = QVariant (_symbols[idx.row()]); - break; + switch (_scopes.at (idx.row ()).toAscii ()) + { + case 'f': // function variable (inside debugger) + return QVariant (QColor (198, 247, 248)); - case 1: - retval = QVariant (_class_names[idx.row()]); - break; + case 'g': + return QVariant (QColor (151, 248, 140)); - case 2: - retval = QVariant (_dimensions[idx.row()]); - break; + case 'p': + return QVariant (QColor (255, 190, 255)); - case 3: - retval = QVariant (_values[idx.row()]); - break; + default: + return QVariant (QColor (255, 202, 186)); + } + } - default: - break; + if (role == Qt::DisplayRole + || (idx.column () == 0 && role == Qt::EditRole)) + { + switch (idx.column ()) + { + case 0: + retval = QVariant (_symbols[idx.row()]); + break; + + case 1: + retval = QVariant (_class_names[idx.row()]); + break; + + case 2: + retval = QVariant (_dimensions[idx.row()]); + break; + + case 3: + retval = QVariant (_values[idx.row()]); + break; + + default: + break; + } } }