Version 0.3.23. Setup for PR1.3.
[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     if(ui->listWidget->selectedItems().size() > 0)\r
76     {\r
77         qDebug() << "Remove" << ui->listWidget->currentRow();\r
78         QListWidgetItem * item = ui->listWidget->takeItem(ui->listWidget->currentRow());\r
79         settings->remove(item->text());\r
80         settings->setValue(SELECTED_LIST_NAME, LIST_TEXT);\r
81         saveList();\r
82     }\r
83 }\r
84 \r
85 void ChooseListForm::saveList()\r
86 {\r
87     ui->listWidget->sortItems();\r
88     QStringList list;\r
89     int size = ui->listWidget->count();\r
90     for(int i = 0; i < size; ++i)\r
91     {\r
92         list.append(ui->listWidget->item(i)->text());\r
93     }\r
94     settings->setValue(LIST_NAMES, QVariant(list));\r
95 }\r
96 \r
97 void ChooseListForm::on_loadPushButton_clicked()\r
98 {\r
99     if(ui->listWidget->selectedItems().size() > 0)\r
100     {\r
101         QListWidgetItem * item = ui->listWidget->item(ui->listWidget->currentRow());\r
102         settings->setValue(LIST_TEXT, settings->value(item->text(), LIST_TEXT).toString());\r
103         settings->setValue(SELECTED_LIST_NAME, item->text());\r
104         emit signalNavigate(0);\r
105     }\r
106 }\r
107 \r
108 void ChooseListForm::on_listWidget_activated(QModelIndex index)\r
109 {\r
110     ui->listNameLineEdit->setText(ui->listWidget->item(index.row())->text());\r
111 }\r
112 \r
113 void ChooseListForm::on_listNameLineEdit_returnPressed()\r
114 {\r
115     qDebug() << "Enter pressed";\r
116     on_savePushButton_clicked();\r
117 }\r