mirror of
https://github.com/NohamR/Reclass.git
synced 2026-05-10 19:59:21 +00:00
Provider refactor: 2-method base class, ProcessProvider, ProcessPicker
Collapse Provider interface from 9 virtual methods to 2 (read + size), move providers to src/providers/, add name()/kind()/getSymbol() virtuals. Replace FileProvider with BufferProvider, add ProcessProvider (Win32) with module-based symbol resolution, wire ProcessPicker dialog, and integrate getSymbol into pointer display and command row. - Fix isReadable overflow for large addresses - Guard deferred showSourcePicker/showTypeAutocomplete against stale edits - 7/7 tests pass including 3 new provider test suites Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
46
src/processpicker.h
Normal file
46
src/processpicker.h
Normal file
@@ -0,0 +1,46 @@
|
||||
#ifndef PROCESSPICKER_H
|
||||
#define PROCESSPICKER_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <QIcon>
|
||||
#include <cstdint>
|
||||
|
||||
namespace Ui {
|
||||
class ProcessPicker;
|
||||
}
|
||||
|
||||
struct ProcessInfo {
|
||||
uint32_t pid;
|
||||
QString name;
|
||||
QString path;
|
||||
QIcon icon;
|
||||
};
|
||||
|
||||
class ProcessPicker : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ProcessPicker(QWidget *parent = nullptr);
|
||||
~ProcessPicker();
|
||||
|
||||
uint32_t selectedProcessId() const;
|
||||
QString selectedProcessName() const;
|
||||
|
||||
private slots:
|
||||
void refreshProcessList();
|
||||
void onProcessSelected();
|
||||
void filterProcesses(const QString& text);
|
||||
|
||||
private:
|
||||
void enumerateProcesses();
|
||||
void populateTable(const QList<ProcessInfo>& processes);
|
||||
void applyFilter();
|
||||
|
||||
Ui::ProcessPicker *ui;
|
||||
uint32_t m_selectedPid = 0;
|
||||
QString m_selectedName;
|
||||
QList<ProcessInfo> m_allProcesses;
|
||||
};
|
||||
|
||||
#endif // PROCESSPICKER_H
|
||||
Reference in New Issue
Block a user