Changed logos. Now saves checked items. Checked items are preceded with ! character
[easylist] / src / mainwindow.cpp
index a68b9fd..0207601 100755 (executable)
@@ -169,12 +169,45 @@ void MainWindow::slotListWindowClearSelected()
 }\r
 \r
 /**\r
+ * Prefix all checked items with ! in the list text and save it to QSettings.\r
+ */\r
+void MainWindow::slotListWindowSaveChecked()\r
+{\r
+    qDebug() << "Save selected";\r
+    QString listText("");\r
+    foreach(QCheckBox * cb, checkBoxes)\r
+    {\r
+        QString item(cb->text());\r
+        if(cb->isChecked() == true)\r
+        {\r
+            if(item.startsWith("!") == false)\r
+            {\r
+                item.push_front("!");\r
+            }\r
+            listText.append(item);\r
+        }\r
+        else\r
+        {\r
+            if(item.startsWith("!") == true)\r
+            {\r
+                item = item.replace("!", "");\r
+            }\r
+            listText.append(item);\r
+        }\r
+        listText.append("\n");\r
+    }\r
+\r
+    settings->setValue("ListText", listText);\r
+}\r
+\r
+/**\r
  * Show the edit window.\r
  *\r
  * @fn showEditWindow\r
  */\r
 void MainWindow::showEditWindow()\r
 {\r
+    slotListWindowSaveChecked();\r
     editUi->setupUi(this);\r
     editUi->textEdit->setText(settings->value("ListText").toString());\r
     connect(editUi->savePushButton, SIGNAL(clicked()), this, SLOT(slotEditWindowSave()));\r
@@ -216,6 +249,12 @@ void MainWindow::generateList()
         if(item.length() > 0)\r
         {\r
             QCheckBox * cb = new QCheckBox(item);\r
+            if(item.startsWith("!"))\r
+            {\r
+                QString itemName(item.right(item.length()-1));\r
+                cb->setText(itemName);\r
+                cb->setChecked(true);\r
+            }\r
             checkBoxes.append(cb);\r
             listUi->listVerticalLayout->addWidget(cb);\r
         }\r
@@ -231,6 +270,7 @@ void MainWindow::generateList()
 void MainWindow::closeEvent(QCloseEvent *event)\r
 {\r
     qDebug() << "Closed";\r
+    slotListWindowSaveChecked();\r
     event->accept();\r
 }\r
 \r