fix int size, update pref dialog, fix rand on linux

This commit is contained in:
Aurélie Delhaie
2022-12-13 21:42:54 +01:00
parent 8be3e5d477
commit a348705c39
8 changed files with 46 additions and 22 deletions

View File

@@ -15,6 +15,7 @@ MainWindow::MainWindow(QWidget *parent)
, ui(new Ui::MainWindow) , ui(new Ui::MainWindow)
{ {
ui->setupUi(this); ui->setupUi(this);
this->selectedBoardIndex = -1;
connect(ui->actionPreferences, &QAction::triggered, this, &MainWindow::openPreferences); connect(ui->actionPreferences, &QAction::triggered, this, &MainWindow::openPreferences);
connect(ui->actionAbout, &QAction::triggered, this, &MainWindow::openAbout); connect(ui->actionAbout, &QAction::triggered, this, &MainWindow::openAbout);
connect(ui->actionNew, &QAction::triggered, this, &MainWindow::onNewBoardClick); connect(ui->actionNew, &QAction::triggered, this, &MainWindow::onNewBoardClick);
@@ -27,7 +28,7 @@ MainWindow::MainWindow(QWidget *parent)
MainWindow::~MainWindow() MainWindow::~MainWindow()
{ {
for (int i = 0; i < boards.count(); i++) for (uint16_t i = 0; i < boards.count(); i++)
{ {
Board *b = boards.takeAt(i); Board *b = boards.takeAt(i);
delete b; delete b;
@@ -37,7 +38,7 @@ MainWindow::~MainWindow()
void MainWindow::openPreferences() void MainWindow::openPreferences()
{ {
PrefDialog dialog(this); PrefDialog dialog(status, priorities, this);
if (dialog.exec() == QDialog::DialogCode::Accepted) if (dialog.exec() == QDialog::DialogCode::Accepted)
{ {
this->priorities = dialog.getPriorities(); this->priorities = dialog.getPriorities();
@@ -230,7 +231,7 @@ const QColor MainWindow::getStatusColor(QString uuid, QColor defaultColor)
void MainWindow::redrawBoardList() void MainWindow::redrawBoardList()
{ {
QListWidget *l = ui->listWidget; QListWidget *l = ui->listWidget;
for (int i = 0; i < l->count(); i++) for (uint16_t i = 0; i < l->count(); i++)
{ {
delete l->takeItem(i); delete l->takeItem(i);
} }
@@ -244,7 +245,7 @@ void MainWindow::redrawBoardList()
void MainWindow::redrawTaskTree() void MainWindow::redrawTaskTree()
{ {
QTreeWidget *l = ui->treeWidget; QTreeWidget *l = ui->treeWidget;
for (int i = 0; i < l->topLevelItemCount(); i++) for (uint16_t i = 0; i < l->topLevelItemCount(); i++)
{ {
delete l->takeTopLevelItem(i); delete l->takeTopLevelItem(i);
} }

View File

@@ -32,7 +32,7 @@ private slots:
private: private:
Ui::MainWindow *ui; Ui::MainWindow *ui;
int selectedBoardIndex = -1; int16_t selectedBoardIndex;
QVector<Priority> priorities; QVector<Priority> priorities;
QVector<Status> status; QVector<Status> status;
QVector<Board*> boards; QVector<Board*> boards;

View File

@@ -6,11 +6,28 @@
#include "../tools.h" #include "../tools.h"
PrefDialog::PrefDialog(QWidget *parent) : PrefDialog::PrefDialog(QVector<Status> status, QVector<Priority> priorities, QWidget *parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::PrefDialog) ui(new Ui::PrefDialog)
{ {
ui->setupUi(this); ui->setupUi(this);
foreach (Status s, status)
{
QListWidgetItem *item = new QListWidgetItem(s.getName());
statusUUIDRef.append(s.getUUID());
setItemColor(item, s.getColor());
ui->statusListWidget->addItem(item);
}
foreach (Priority p, priorities)
{
QListWidgetItem *item = new QListWidgetItem(p.getName());
priorityUUIDRef.append(p.getUUID());
setItemColor(item, p.getColor());
ui->priorityListWidget->addItem(item);
}
connect(ui->addStatusButton, &QPushButton::clicked, this, &PrefDialog::onAddStatusButtonClick); connect(ui->addStatusButton, &QPushButton::clicked, this, &PrefDialog::onAddStatusButtonClick);
connect(ui->addPriorityButton, &QPushButton::clicked, this, &PrefDialog::onAddPriorityButtonClick); connect(ui->addPriorityButton, &QPushButton::clicked, this, &PrefDialog::onAddPriorityButtonClick);
connect(ui->statusListWidget, &QListWidget::currentRowChanged, this, &PrefDialog::onItemSelectionChange); connect(ui->statusListWidget, &QListWidget::currentRowChanged, this, &PrefDialog::onItemSelectionChange);

View File

@@ -17,7 +17,7 @@ class PrefDialog : public QDialog
Q_OBJECT Q_OBJECT
public: public:
explicit PrefDialog(QWidget *parent = nullptr); explicit PrefDialog(QVector<Status> status, QVector<Priority> priorities, QWidget *parent = nullptr);
~PrefDialog(); ~PrefDialog();
QVector<Priority> getPriorities(); QVector<Priority> getPriorities();

View File

@@ -53,8 +53,8 @@ TaskDialog::TaskDialog(Task *t, QVector<Status> status, QVector<Priority> priori
if (t->getPriorityUUID().length() > 0) if (t->getPriorityUUID().length() > 0)
{ {
int refindex = -1; int16_t refindex = -1;
for (int i = 0; i < this->priorities.count(); i++) for (uint16_t i = 0; i < this->priorities.count(); i++)
{ {
if (this->priorities[i].getUUID() == t->getPriorityUUID()) if (this->priorities[i].getUUID() == t->getPriorityUUID())
{ {
@@ -69,8 +69,8 @@ TaskDialog::TaskDialog(Task *t, QVector<Status> status, QVector<Priority> priori
if (t->getStatusUUID().length() > 0) if (t->getStatusUUID().length() > 0)
{ {
int refindex = -1; int16_t refindex = -1;
for (int i = 0; i < this->status.count(); i++) for (uint16_t i = 0; i < this->status.count(); i++)
{ {
if (this->status[i].getUUID() == t->getStatusUUID()) if (this->status[i].getUUID() == t->getStatusUUID())
{ {

View File

@@ -7,7 +7,7 @@ Board::Board(QString name)
Board::~Board() Board::~Board()
{ {
for (int i = 0; i < tasks.count(); i++) for (uint16_t i = 0; i < tasks.count(); i++)
{ {
Task *t = tasks.takeAt(i); Task *t = tasks.takeAt(i);
delete t; delete t;
@@ -24,9 +24,9 @@ void Board::add(Task t)
tasks.append(new Task(t)); tasks.append(new Task(t));
} }
Task *Board::taskAt(int i) Task *Board::taskAt(uint16_t i)
{ {
if (i >= 0 && i < tasks.count()) if (i < tasks.count())
{ {
return tasks[i]; return tasks[i];
} }

View File

@@ -14,7 +14,7 @@ public:
const QString getName(); const QString getName();
void add(Task); void add(Task);
Task *taskAt(int); Task *taskAt(uint16_t);
const QVector<Task*> getTasks(); const QVector<Task*> getTasks();
private: private:

View File

@@ -12,28 +12,34 @@ Tools::Tools()
QColor Tools::getRandomColor() QColor Tools::getRandomColor()
{ {
srand(time(0)); srand(time(0));
int r = arc4random() % 255; #ifdef __linux__
int g = arc4random() % 255; uint8_t r = rand() % 255;
int b = arc4random() % 255; uint8_t g = rand() % 255;
uint8_t b = rand() % 255;
#else
uint8_t r = arc4random() % 255;
uint8_t g = arc4random() % 255;
uint8_t b = arc4random() % 255;
#endif
return QColor(r, g, b); return QColor(r, g, b);
} }
QColor Tools::getForegroundColor(QColor background) QColor Tools::getForegroundColor(QColor background)
{ {
int avg = background.red(); uint8_t avg = background.red();
avg += background.green(); avg += background.green();
avg += background.blue(); avg += background.blue();
avg = avg / 3; avg = avg / 3;
int avg2 = background.red(); uint8_t avg2 = background.red();
avg2 += background.green(); avg2 += background.green();
avg2 = avg2 / 2; avg2 = avg2 / 2;
int avg3 = background.red(); uint8_t avg3 = background.red();
avg3 += background.blue(); avg3 += background.blue();
avg3 = avg3 / 2; avg3 = avg3 / 2;
int avg4 = background.green(); uint8_t avg4 = background.green();
avg4 += background.blue(); avg4 += background.blue();
avg4 = avg4 / 2; avg4 = avg4 / 2;