| 22 | #endif |
| 23 | |
| 24 | ProcessPicker::ProcessPicker(QWidget *parent) |
| 25 | : QDialog(parent) |
| 26 | , ui(new Ui::ProcessPicker) |
| 27 | , m_useCustomList(false) |
| 28 | { |
| 29 | ui->setupUi(this); |
| 30 | |
| 31 | // Configure table |
| 32 | ui->processTable->setColumnWidth(0, 80); // PID column - fixed width |
| 33 | ui->processTable->setColumnWidth(1, 200); // Name column - fixed width |
| 34 | ui->processTable->horizontalHeader()->setStretchLastSection(true); // Path column - fills remaining space |
| 35 | ui->processTable->setWordWrap(false); // Disable word wrap for single-line display |
| 36 | ui->processTable->setTextElideMode(Qt::ElideLeft); // Elide from left (show end of path) |
| 37 | |
| 38 | // Connect signals |
| 39 | connect(ui->refreshButton, &QPushButton::clicked, this, &ProcessPicker::refreshProcessList); |
| 40 | connect(ui->processTable, &QTableWidget::itemDoubleClicked, this, &ProcessPicker::onProcessSelected); |
| 41 | connect(ui->filterEdit, &QLineEdit::textChanged, this, &ProcessPicker::filterProcesses); |
| 42 | connect(ui->attachButton, &QPushButton::clicked, this, &ProcessPicker::onProcessSelected); |
| 43 | |
| 44 | // Initial process enumeration |
| 45 | refreshProcessList(); |
| 46 | } |
| 47 | |
| 48 | ProcessPicker::ProcessPicker(const QList<ProcessInfo>& customProcesses, QWidget *parent) |
| 49 | : QDialog(parent) |
nothing calls this directly
no outgoing calls
no test coverage detected