Modules widget: copy only copies the first selected cell

Abierto Apto para principiantes
#1,114 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
88/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Tranquilo
Stack tecnológico
cpp
Área
desktop

Línea de trabajo

Empieza en ui/moduleswidget.cpp, en DebugModulesWidget::copy(), y compáralo después con la implementación corregida de DebugMemoryMapWidget::copy(). Traslada el manejo de selección pertinente para que cada celda seleccionada se copie en orden visual, con columnas separadas por tabuladores y filas separadas por saltos de línea.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Description

In the Debugger Modules sidebar widget, selecting multiple cells and copying (Ctrl+C / right-click → Copy) only copies the contents of the first selected cell. All other selected cells are ignored.

Cause

DebugModulesWidget::copy() in ui/moduleswidget.cpp only reads sel[0]:

QModelIndexList sel = selectionModel()->selectedIndexes();
if (sel.empty())
    return;

auto sourceIndex = m_filter->mapToSource(sel[0]);   // <-- only the first cell
...
switch (sel[0].column()) { ... }

It should iterate over all selected indexes.

Expected behavior

Copy the contents of every selected cell — grouped by row (tab-separated columns within a row, newline between rows), in visual order — matching typical table-copy behavior.

Notes

The same bug existed in the Memory Map widget (DebugMemoryMapWidget::copy()) and has been fixed there; the same fix should be ported to the Modules widget. See DebugMemoryMapWidget::copy() for the reference implementation.

Lenguaje dominante
C++
Estrellas
331
Forks
33
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Vector35/debugger

Todos los issues de Vector35/debugger

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.