Repository navigation
Expand file tree
/
Copy pathtaskscontrol.cpp
More file actions
73 lines (55 loc) · 2.41 KB
/
Copy pathtaskscontrol.cpp
File metadata and controls
73 lines (55 loc) · 2.41 KB
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <QWidget>
#include <QFile>
#include <QDateTime>
#include <QComboBox>
#include <QDialogButtonBox>
#include <QListWidgetItem>
#include <QLabel>
#include "ui_mainwindow.h"
#include "taskitem.h"
#include "taskscontrol.h"
TasksControl::TasksControl(Ui::MainWindow* ui) : ui(ui)
{
ui->editor->setUi(ui);
connectTaskDisplay();
QDialogButtonBox::connect(ui->buttonBox, &QDialogButtonBox::rejected, ui->editor, [=]{
ui->editor->showChange();
});//取消修改
ui->addButton->setToolTip("添加新代办");
}
void TasksControl::connectTaskDisplay()
{
TaskDisplay::connect(ui->listWidget, &TaskDisplay::editorHide, ui->editor, &QFrame::hide);//隐藏编辑页面
QDialogButtonBox::connect(ui->buttonBox, &QDialogButtonBox::accepted, ui->listWidget, [=]{
ui->listWidget->itemChange(ui->editor->currentItem(), ui->dateTimeEdit->dateTime(),
ui->textEdit->toPlainText(), ui->comboBox->currentIndex());
});//确认修改
TaskDisplay::connect(ui->listWidget, &TaskDisplay::editorShow, ui->editor, [=](QListWidgetItem *currentItem){
ui->editor->itemChange(currentItem);
});//显示编辑页面
TaskDisplay::connect(ui->listWidget, &TaskDisplay::remove, ui->editor, [=](QListWidgetItem* currentItem){
if(currentItem == ui->editor->currentItem())
ui->editor->hide();
});//删除
QPushButton::connect(ui->sortByDeadlineBtn, &QPushButton::clicked, ui->listWidget, [=]{
disconnectTaskDisplay();
ui->listWidget->sortByDeadline();
connectTaskDisplay();
});//按截止时间排序
QPushButton::connect(ui->sortByPriorityBtn, &QPushButton::clicked, ui->listWidget, [=]{
disconnectTaskDisplay();
ui->listWidget->sortByPriority();
connectTaskDisplay();
});//按优先级排序
QPushButton::connect(ui->addButton, &QPushButton::clicked, ui->textEdit, [=]{
emit ui->listWidget->editorShow(nullptr);
});//添加新代办
}
void TasksControl::disconnectTaskDisplay()
{
ui->listWidget->disconnect();
QDialogButtonBox::disconnect(ui->buttonBox, 0, ui->listWidget, 0);//确认修改
QPushButton::disconnect(ui->sortByDeadlineBtn, 0, ui->listWidget, 0);//按截止时间排序
QPushButton::disconnect(ui->sortByPriorityBtn, 0, ui->listWidget, 0);//按优先级排序
QPushButton::disconnect(ui->addButton, 0, ui->textEdit, 0);//添加新代办
}