This commit is contained in:
2025-05-08 21:02:56 +03:00
parent 6706cbec45
commit 86a11faf70
24 changed files with 1022 additions and 460 deletions

View File

@@ -0,0 +1,29 @@
#include "checklistviewwidget.h"
#include <QHBoxLayout>
#include <QLabel>
#include <QPushButton>
#include <check/check.h>
#include <iostream>
CheckListViewWidget::CheckListViewWidget(QWidget *parent, Check check) : QWidget(parent), check(check) {
std::cout << "I was created with check with date " << check.get_date() << std::endl;
QHBoxLayout *layout = new QHBoxLayout;
QLabel *label1 = new QLabel(QString::fromStdString(check.get_date()));
QLabel *label2 = new QLabel("Text 2");
QLabel *label3 = new QLabel("Text 3");
QPushButton *deleteButton = new QPushButton(tr("Delete"));
deleteButton->connect(deleteButton, &QPushButton::clicked, this, &CheckListViewWidget::deleteButtonPressed);
layout->addWidget(label1);
layout->addWidget(label2);
layout->addWidget(label3);
layout->addSpacing(10);
layout->addWidget(deleteButton);
setLayout(layout);
}

View File

@@ -0,0 +1,20 @@
#ifndef CHECKLISTVIEWWIDGET_H
#define CHECKLISTVIEWWIDGET_H
#include <QObject>
#include <QWidget>
#include <check/check.h>
class CheckListViewWidget : public QWidget
{
Q_OBJECT
Check check;
public:
explicit CheckListViewWidget(QWidget *parent = nullptr, Check check = Check());
signals:
Check deleteButtonPressed();
};
#endif // CHECKLISTVIEWWIDGET_H

View File

@@ -0,0 +1,86 @@
#include "tablewidgetmovable.hpp"
#include <QDropEvent>
#include <iostream>
#include <QTableWidget>
#include <qcoreevent.h>
#include <QDebug>
TableWidgetMovable::TableWidgetMovable(QWidget *parent) : QTableWidget(parent) { }
// TOOD: fix None of these works. WIP
// void TableWidgetMovable::dropEvent(QDropEvent *event) {
// std::cout << event->type() << std::endl;
// if(event->source() == this && event->type() == QEvent::Type::Drop) {
// int oldRow = this->selectedItems()[0]->row();
// int oldColumn = this->selectedItems()[0]->column();
// int newRow = this->indexAt(event->pos()).row();
// int newColumn = this->indexAt(event->pos()).column();
// auto oldCell = this->cellWidget(oldRow, oldColumn);
// auto newCell = this->cellWidget(newRow, newColumn);
// this->removeCellWidget(oldRow, oldColumn);
// this->removeCellWidget(newRow, newColumn);
// this->setCellWidget(newRow, newColumn, oldCell);
// this->setCellWidget(oldRow, oldColumn, newCell);
// event->accept();
// }
// }
// void TableWidgetMovable::dropEvent(QDropEvent *event) {
// std::cout << event->type() << std::endl;
// if(event->source() == this && event->type() == QEvent::Type::Drop) {
// int oldRow = this->selectedItems()[0]->row();
// int oldColumn = this->selectedItems()[0]->column();
// int newRow = this->indexAt(event->pos()).row();
// int newColumn = this->indexAt(event->pos()).column();
// std::cout << oldRow << " " << oldColumn<< " " << newRow << " " << newColumn << std::endl;
// QTableWidgetItem *from = this->itemAt(oldColumn, oldRow), *to = this->itemAt(newColumn, newRow);
// // QList<QTableWidgetItem*> selectedItems = this->selectedItems();
// if(newRow == -1) {
// std::cout << newRow << std::endl;
// // newRow = this->rowCount();
// return;
// }
// // QTableWidgetItem bufferTo, bufferFrom;
// QTableWidgetItem *bufferTo = new QTableWidgetItem("123"), *bufferFrom = new QTableWidgetItem("321");
// std::cout << to->text().toStdString() << " " << from->text().toStdString() << std::endl;
// *bufferTo = *to;
// *bufferFrom = *from;
// // this->setItem(newRow, newColumn, nullptr);
// // this->setItem(oldRow, oldColumn, nullptr);
// this->takeItem(newRow, newColumn);
// this->takeItem(oldRow, oldColumn);
// this->setItem(newRow, newColumn, from);
// // this->setItem(oldRow, oldColumn, to);
// // *to = *from;
// // *from = buffer;
// return;
// // int i;
// // for(i = 0; i < selectedItems.length()/this->columnCount(); i++)
// // this->insertRow(newRow);
// // int currentOldRow = -1;
// // int currentNewRow = newRow-1;
// // QList<int> deleteRows;
// // foreach(selectedItem, selectedItems) {
// // int column = selectedItem->column();
// // if(selectedItem->row() != currentOldRow) {
// // currentOldRow = selectedItem->row();
// // deleteRows.append(currentOldRow);
// // currentNewRow++;
// // }
// // this->takeItem(currentOldRow, column);
// // this->setItem(currentNewRow, column, selectedItem);
// // }
// // for(i = deleteRows.count()-1; i>=0; i--)
// // this->removeRow(deleteRows.at(i));
// }
// }

View File

@@ -0,0 +1,17 @@
#ifndef TABLEWIDGETMOVABLE_HPP
#define TABLEWIDGETMOVABLE_HPP
#include <QObject>
#include <QTableWidget>
#include <QWidget>
class TableWidgetMovable : public QTableWidget
{
Q_OBJECT
public:
TableWidgetMovable(QWidget *parent = nullptr);
// void dropEvent(QDropEvent *event);
// void swapRows(int row1, int row2);
};
#endif // TABLEWIDGETMOVABLE_HPP