1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
/*
SPDX-FileCopyrightText: 2009 Aleix Pol <aleixpol@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef PROCESSSELECTION_H
#define PROCESSSELECTION_H
#include "ui_processselection.h"
#include <QDialog>
class QItemSelection;
class QPushButton;
namespace KSysGuard {
class ProcessDataModel;
}
class ProcessesSortFilterModel;
namespace KDevMI {
class ProcessSelectionDialog : public QDialog
{
Q_OBJECT
public:
explicit ProcessSelectionDialog(QWidget* parent = nullptr);
~ProcessSelectionDialog() override;
long long pidSelected() const;
private Q_SLOTS:
void selectionChanged(const QItemSelection& newSelection, const QItemSelection& oldSelection);
void onProcessesComboActivated(int index);
private:
Ui::ProcessSelection m_ui;
KSysGuard::ProcessDataModel* m_dataModel = nullptr;
ProcessesSortFilterModel* m_sortModel = nullptr;
int m_pidColumn = -1;
QPushButton* m_attachButton = nullptr;
};
/**
* Displays a process selection dialog and returns the ID of the process selected by the user.
*
* @return the selected PID or 0 if canceled
*/
long long askUserForProcessId(QWidget* dialogParent);
} // end of namespace KDevMI
#endif
|