Version 0.3.23. Setup for PR1.3.
[easylist] / chooselistform.cpp
diff --git a/chooselistform.cpp b/chooselistform.cpp
new file mode 100755 (executable)
index 0000000..25932f9
--- /dev/null
@@ -0,0 +1,117 @@
+#include "chooselistform.h"\r
+#include "ui_chooselistform.h"\r
+\r
+ChooseListForm::ChooseListForm(QWidget *parent) :\r
+    SlideWidget(parent),\r
+    ui(new Ui::ChooseListForm)\r
+{\r
+    ui->setupUi(this);\r
+    settings = new QSettings(WILLEM_LIU, EASY_LIST);\r
+}\r
+\r
+ChooseListForm::~ChooseListForm()\r
+{\r
+    delete ui;\r
+}\r
+\r
+void ChooseListForm::shown()\r
+{\r
+    qDebug() << "ChooseListForm shown";\r
+    ui->listNameLineEdit->setText(settings->value(SELECTED_LIST_NAME, "").toString());\r
+    ui->listWidget->clear();\r
+    QStringList listNames = settings->value(LIST_NAMES, "").toStringList();\r
+    bool addList = false;\r
+    foreach(QString item, listNames)\r
+    {\r
+        if(item.length() > 0)\r
+        {\r
+            addList = true;\r
+            break;\r
+        }\r
+    }\r
+    qDebug() << "List names:" << settings->value(LIST_NAMES, "").toString().size();\r
+    if(addList)\r
+    {\r
+        ui->listWidget->addItems(listNames);\r
+    }\r
+    ui->listNameLineEdit->setFocus(Qt::ActiveWindowFocusReason);\r
+}\r
+\r
+void ChooseListForm::on_cancelPushButton_clicked()\r
+{\r
+    emit signalNavigate(0);\r
+}\r
+\r
+void ChooseListForm::on_savePushButton_clicked()\r
+{\r
+    QList<QListWidgetItem * > items = ui->listWidget->findItems(ui->listNameLineEdit->text(), Qt::MatchExactly);\r
+    QString listName = ui->listNameLineEdit->text();\r
+    if(listName.isEmpty() == false)\r
+    {\r
+        if(items.count() == 0)\r
+        {\r
+            ui->listWidget->addItem(listName);\r
+        }\r
+        settings->setValue(listName, settings->value(LIST_TEXT, ""));\r
+        QString information;\r
+        information.append("List saved ");\r
+        information.append(listName);\r
+        settings->setValue(SELECTED_LIST_NAME, listName);\r
+#ifdef Q_WS_MAEMO_5\r
+        QMaemo5InformationBox::information(this, information, QMaemo5InformationBox::DefaultTimeout);\r
+#endif\r
+        saveList();\r
+    }\r
+    else\r
+    {\r
+#ifdef Q_WS_MAEMO_5\r
+        QMaemo5InformationBox::information(this, "List name can't be empty", QMaemo5InformationBox::DefaultTimeout);\r
+#endif\r
+    }\r
+}\r
+\r
+void ChooseListForm::on_removePushButton_clicked()\r
+{\r
+    if(ui->listWidget->selectedItems().size() > 0)\r
+    {\r
+        qDebug() << "Remove" << ui->listWidget->currentRow();\r
+        QListWidgetItem * item = ui->listWidget->takeItem(ui->listWidget->currentRow());\r
+        settings->remove(item->text());\r
+        settings->setValue(SELECTED_LIST_NAME, LIST_TEXT);\r
+        saveList();\r
+    }\r
+}\r
+\r
+void ChooseListForm::saveList()\r
+{\r
+    ui->listWidget->sortItems();\r
+    QStringList list;\r
+    int size = ui->listWidget->count();\r
+    for(int i = 0; i < size; ++i)\r
+    {\r
+        list.append(ui->listWidget->item(i)->text());\r
+    }\r
+    settings->setValue(LIST_NAMES, QVariant(list));\r
+}\r
+\r
+void ChooseListForm::on_loadPushButton_clicked()\r
+{\r
+    if(ui->listWidget->selectedItems().size() > 0)\r
+    {\r
+        QListWidgetItem * item = ui->listWidget->item(ui->listWidget->currentRow());\r
+        settings->setValue(LIST_TEXT, settings->value(item->text(), LIST_TEXT).toString());\r
+        settings->setValue(SELECTED_LIST_NAME, item->text());\r
+        emit signalNavigate(0);\r
+    }\r
+}\r
+\r
+void ChooseListForm::on_listWidget_activated(QModelIndex index)\r
+{\r
+    ui->listNameLineEdit->setText(ui->listWidget->item(index.row())->text());\r
+}\r
+\r
+void ChooseListForm::on_listNameLineEdit_returnPressed()\r
+{\r
+    qDebug() << "Enter pressed";\r
+    on_savePushButton_clicked();\r
+}\r