Added include for QTimer in header file.
[easylist] / chooselistform.cpp
1 #include "chooselistform.h"\r
2 #include "ui_chooselistform.h"\r
3 \r
4 ChooseListForm::ChooseListForm(QWidget *parent) :\r
5     SlideWidget(parent),\r
6     ui(new Ui::ChooseListForm)\r
7 {\r
8     ui->setupUi(this);\r
9     settings = new QSettings(WILLEM_LIU, EASY_LIST);\r
10 }\r
11 \r
12 ChooseListForm::~ChooseListForm()\r
13 {\r
14     delete ui;\r
15 }\r
16 \r
17 void ChooseListForm::shown()\r
18 {\r
19     qDebug() << "ChooseListForm shown";\r
20     ui->listNameLineEdit->setText(settings->value(SELECTED_LIST_NAME, "").toString());\r
21     ui->listWidget->clear();\r
22     QStringList listNames = settings->value(LIST_NAMES, "").toStringList();\r
23     bool addList = false;\r
24     foreach(QString item, listNames)\r
25     {\r
26         if(item.length() > 0)\r
27         {\r
28             addList = true;\r
29             break;\r
30         }\r
31     }\r
32     qDebug() << "List names:" << settings->value(LIST_NAMES, "").toString().size();\r
33     if(addList)\r
34     {\r
35         ui->listWidget->addItems(listNames);\r
36     }\r
37     ui->listNameLineEdit->setFocus(Qt::ActiveWindowFocusReason);\r
38 }\r
39 \r
40 void ChooseListForm::on_cancelPushButton_clicked()\r
41 {\r
42     emit signalNavigate(0);\r
43 }\r
44 \r
45 void ChooseListForm::on_savePushButton_clicked()\r
46 {\r
47     QList<QListWidgetItem * > items = ui->listWidget->findItems(ui->listNameLineEdit->text(), Qt::MatchExactly);\r
48     QString listName = ui->listNameLineEdit->text();\r
49     if(listName.isEmpty() == false)\r
50     {\r
51         if(items.count() == 0)\r
52         {\r
53             ui->listWidget->addItem(listName);\r
54         }\r
55         settings->setValue(listName, settings->value(LIST_TEXT, ""));\r
56         QString information;\r
57         information.append("List saved ");\r
58         information.append(listName);\r
59         settings->setValue(SELECTED_LIST_NAME, listName);\r
60 #ifdef Q_WS_MAEMO_5\r
61         QMaemo5InformationBox::information(this, information, QMaemo5InformationBox::DefaultTimeout);\r
62 #endif\r
63         saveList();\r
64     }\r
65     else\r
66     {\r
67 #ifdef Q_WS_MAEMO_5\r
68         QMaemo5InformationBox::information(this, "List name can't be empty", QMaemo5InformationBox::DefaultTimeout);\r
69 #endif\r
70     }\r
71 }\r
72 \r
73 void ChooseListForm::on_removePushButton_clicked()\r
74 {\r
75     int res = QMessageBox::warning(this, "Delete list", "The selected list will be deleted.", QMessageBox::Ok, QMessageBox::Cancel);\r
76 \r
77     if(res == QMessageBox::Ok)\r
78     {\r
79         if(ui->listWidget->selectedItems().size() > 0)\r
80         {\r
81             qDebug() << "Remove" << ui->listWidget->currentRow();\r
82             QListWidgetItem * item = ui->listWidget->takeItem(ui->listWidget->currentRow());\r
83             settings->remove(item->text());\r
84             settings->setValue(SELECTED_LIST_NAME, LIST_TEXT);\r
85             saveList();\r
86         }\r
87     }\r
88 }\r
89 \r
90 void ChooseListForm::saveList()\r
91 {\r
92     ui->listWidget->sortItems();\r
93     QStringList list;\r
94     int size = ui->listWidget->count();\r
95     for(int i = 0; i < size; ++i)\r
96     {\r
97         list.append(ui->listWidget->item(i)->text());\r
98     }\r
99     settings->setValue(LIST_NAMES, QVariant(list));\r
100 }\r
101 \r
102 void ChooseListForm::on_loadPushButton_clicked()\r
103 {\r
104     if(ui->listWidget->selectedItems().size() > 0)\r
105     {\r
106         QListWidgetItem * item = ui->listWidget->item(ui->listWidget->currentRow());\r
107         settings->setValue(LIST_TEXT, settings->value(item->text(), LIST_TEXT).toString());\r
108         settings->setValue(SELECTED_LIST_NAME, item->text());\r
109         emit signalNavigate(0);\r
110     }\r
111 }\r
112 \r
113 void ChooseListForm::on_listWidget_activated(QModelIndex index)\r
114 {\r
115     ui->listNameLineEdit->setText(ui->listWidget->item(index.row())->text());\r
116 }\r
117 \r
118 void ChooseListForm::on_listNameLineEdit_returnPressed()\r
119 {\r
120     qDebug() << "Enter pressed";\r
121     on_savePushButton_clicked();\r
122 }\r