mirror of
https://github.com/Adaptix-Framework/AdaptixC2
synced 2026-06-08 10:20:39 +00:00
84 lines
2.5 KiB
C++
84 lines
2.5 KiB
C++
#include <Utils/CustomElements.h>
|
|
|
|
SpinTable::SpinTable(int rows, int columns, QWidget* parent)
|
|
{
|
|
this->setParent(parent);
|
|
|
|
buttonAdd = new QPushButton("Add");
|
|
buttonClear = new QPushButton("Clear");
|
|
|
|
table = new QTableWidget(rows, columns, this);
|
|
table->setAutoFillBackground( false );
|
|
table->setShowGrid( false );
|
|
table->setSortingEnabled( true );
|
|
table->setWordWrap( true );
|
|
table->setCornerButtonEnabled( false );
|
|
table->setSelectionBehavior( QAbstractItemView::SelectRows );
|
|
table->setSelectionMode( QAbstractItemView::SingleSelection );
|
|
table->setFocusPolicy( Qt::NoFocus );
|
|
table->setAlternatingRowColors( true );
|
|
table->horizontalHeader()->setSectionResizeMode( QHeaderView::Stretch );
|
|
table->horizontalHeader()->setCascadingSectionResizes( true );
|
|
table->horizontalHeader()->setHighlightSections( false );
|
|
table->verticalHeader()->setVisible( false );
|
|
|
|
layout = new QGridLayout( this );
|
|
layout->addWidget(table, 0, 0, 1, 2);
|
|
layout->addWidget(buttonAdd, 1, 0, 1, 1);
|
|
layout->addWidget(buttonClear, 1, 1, 1, 1);
|
|
|
|
this->setLayout(layout);
|
|
|
|
QObject::connect(buttonAdd, &QPushButton::clicked, this, [&]()
|
|
{
|
|
if (table->rowCount() < 1 )
|
|
table->setRowCount(1 );
|
|
else
|
|
table->setRowCount(table->rowCount() + 1 );
|
|
|
|
table->setItem(table->rowCount() - 1, 0, new QTableWidgetItem() );
|
|
table->selectRow(table->rowCount() - 1 );
|
|
} );
|
|
|
|
QObject::connect(buttonClear, &QPushButton::clicked, this, [&]()
|
|
{
|
|
table->setRowCount(0);
|
|
} );
|
|
}
|
|
|
|
|
|
|
|
FileSelector::FileSelector(QWidget* parent) : QWidget(parent)
|
|
{
|
|
input = new QLineEdit(this);
|
|
input->setReadOnly(true);
|
|
|
|
button = new QPushButton(this);
|
|
button->setIcon(QIcon::fromTheme("folder"));
|
|
|
|
QHBoxLayout* layout = new QHBoxLayout(this);
|
|
layout->addWidget(input);
|
|
layout->addWidget(button);
|
|
layout->setContentsMargins(0, 0, 0, 0);
|
|
this->setLayout(layout);
|
|
|
|
connect(button, &QPushButton::clicked, this, [&]()
|
|
{
|
|
QString selectedFile = QFileDialog::getOpenFileName(this, "Select a file");
|
|
if (selectedFile.isEmpty())
|
|
return;
|
|
|
|
QString filePath = selectedFile;
|
|
input->setText(filePath);
|
|
|
|
QFile file(filePath);
|
|
if (!file.open(QIODevice::ReadOnly))
|
|
return;
|
|
|
|
QByteArray fileData = file.readAll();
|
|
file.close();
|
|
|
|
content = QString::fromUtf8(fileData.toBase64());
|
|
} );
|
|
}
|