Version 0.3.23. Setup for PR1.3.
[easylist] / listform.cpp
diff --git a/listform.cpp b/listform.cpp
new file mode 100755 (executable)
index 0000000..960b126
--- /dev/null
@@ -0,0 +1,73 @@
+#include "listform.h"\r
+#include "ui_listform.h"\r
+\r
+ListForm::ListForm(QWidget *parent) :\r
+    SlideWidget(parent),\r
+    ui(new Ui::ListForm)\r
+{\r
+    ui->setupUi(this);\r
+    ui->checkBoxVerticalLayout->setAlignment(Qt::AlignTop);\r
+\r
+    settings = new QSettings(WILLEM_LIU, EASY_LIST);\r
+\r
+    // Add the list text to the MyCheckBoxContainer. It will create a list of MyCheckBox objects.\r
+    MyCheckBoxContainer::getInstance()->add(settings->value(LIST_TEXT, "").toString());\r
+    connect(MyCheckBoxContainer::getInstance(), SIGNAL(signalSorted()), this, SLOT(addCheckBoxes()));\r
+    addCheckBoxes();\r
+}\r
+\r
+ListForm::~ListForm()\r
+{\r
+    delete ui;\r
+}\r
+\r
+void ListForm::shown()\r
+{\r
+    MyCheckBoxContainer::getInstance()->set(settings->value(LIST_TEXT, "").toString());\r
+    addCheckBoxes();\r
+}\r
+\r
+void ListForm::addCheckBoxes()\r
+{\r
+    // Add the MyCheckBox items to the view.\r
+    foreach(MyCheckBox * cb, MyCheckBoxContainer::getInstance()->getCheckBoxes())\r
+    {\r
+        // Reset the parent.\r
+        ui->checkBoxVerticalLayout->addWidget(cb);\r
+    }\r
+}\r
+\r
+void ListForm::on_editListPushButton_clicked()\r
+{\r
+    saveList();\r
+    emit signalNavigate(1);\r
+}\r
+\r
+void ListForm::saveList()\r
+{\r
+    settings->setValue(LIST_TEXT, MyCheckBoxContainer::getInstance()->getListText());\r
+    SystemSettings::getInstance()->saveCurrentList();\r
+}\r
+\r
+void ListForm::on_uncheckAllPushButton_clicked()\r
+{\r
+    int res = QMessageBox::warning(this, "Uncheck All", "All items will be unchecked.", QMessageBox::Ok, QMessageBox::Cancel);\r
+\r
+    if(res == QMessageBox::Ok)\r
+    {\r
+        MyCheckBoxContainer::getInstance()->uncheckAll();\r
+    }\r
+}\r
+\r
+void ListForm::on_clearCheckedPushButton_clicked()\r
+{\r
+    int res = QMessageBox::warning(this, "Clear selected", "All checked items will be cleared.", QMessageBox::Ok, QMessageBox::Cancel);\r
+\r
+    if(res == QMessageBox::Ok)\r
+    {\r
+        MyCheckBoxContainer::getInstance()->removeChecked();\r
+        settings->setValue(LIST_TEXT, MyCheckBoxContainer::getInstance()->getListText());\r
+        SystemSettings::getInstance()->saveCurrentList();\r
+    }\r
+}\r
+\r