Version 0.3.23. Setup for PR1.3. easylist-0.3.23
authorWillem Liu <willem.liu@gmail.com>
Wed, 27 Apr 2011 15:42:26 +0000 (17:42 +0200)
committerWillem Liu <willem.liu@gmail.com>
Wed, 27 Apr 2011 15:42:26 +0000 (17:42 +0200)
72 files changed:
.gitignore [new file with mode: 0755]
Makefile [new file with mode: 0755]
chooselistform.cpp [new file with mode: 0755]
chooselistform.h [new file with mode: 0755]
chooselistform.ui [new file with mode: 0755]
data/26x26/easylist.png [new file with mode: 0755]
data/40x40/easylist.png [new file with mode: 0755]
data/48x48/easylist.b64 [new file with mode: 0755]
data/48x48/easylist.png [new file with mode: 0755]
data/64x64/easylist.png [new file with mode: 0755]
data/64x64/easylist.psd [new file with mode: 0755]
debian/.qtcreator [new file with mode: 0755]
debian/README [new file with mode: 0755]
debian/changelog
debian/control
debian/copyright
debian/rules
easylist.desktop [new file with mode: 0755]
easylist.pro
easylist.pro.user
editform.cpp [new file with mode: 0755]
editform.h [new file with mode: 0755]
editform.ui [new file with mode: 0755]
globals.h [new file with mode: 0755]
list.txt [new file with mode: 0755]
listform.cpp [new file with mode: 0755]
listform.h [new file with mode: 0755]
listform.ui [new file with mode: 0755]
main.cpp [new file with mode: 0755]
mainform.cpp [new file with mode: 0755]
mainform.h [new file with mode: 0755]
mainform.ui [new file with mode: 0755]
mycheckbox.cpp [new file with mode: 0755]
mycheckbox.h [new file with mode: 0755]
mycheckboxcontainer.cpp [new file with mode: 0755]
mycheckboxcontainer.h [new file with mode: 0755]
qtc_packaging/debian_fremantle/README [new file with mode: 0755]
qtc_packaging/debian_fremantle/changelog [new file with mode: 0755]
qtc_packaging/debian_fremantle/compat [new file with mode: 0755]
qtc_packaging/debian_fremantle/control [new file with mode: 0755]
qtc_packaging/debian_fremantle/copyright [new file with mode: 0755]
qtc_packaging/debian_fremantle/rules [new file with mode: 0755]
slidewidget.cpp [new file with mode: 0755]
slidewidget.h [new file with mode: 0755]
src/data/26x26/easylist.png [deleted file]
src/data/40x40/easylist.png [deleted file]
src/data/48x48/easylist.png [deleted file]
src/data/64x64/easylist.png [deleted file]
src/easylist.desktop [deleted file]
src/editform.cpp [deleted file]
src/editform.h [deleted file]
src/editform.ui [deleted file]
src/globals.h [deleted file]
src/listform.cpp [deleted file]
src/listform.h [deleted file]
src/listform.ui [deleted file]
src/main.cpp [deleted file]
src/mainform.cpp [deleted file]
src/mainform.h [deleted file]
src/mainform.ui [deleted file]
src/mycheckbox.cpp [deleted file]
src/mycheckbox.h [deleted file]
src/mycheckboxcontainer.cpp [deleted file]
src/mycheckboxcontainer.h [deleted file]
src/slidewidget.cpp [deleted file]
src/slidewidget.h [deleted file]
src/src.pro [deleted file]
src/systemsettings.cpp [deleted file]
src/systemsettings.h [deleted file]
systemsettings.cpp [new file with mode: 0755]
systemsettings.h [new file with mode: 0755]
welcome [changed mode: 0644->0755]

diff --git a/.gitignore b/.gitignore
new file mode 100755 (executable)
index 0000000..ea30602
--- /dev/null
@@ -0,0 +1,9 @@
+*.ex
+*.o
+moc_*
+*.Debug
+*.Release
+/debug
+/release
+easylist
+easylist.exe
diff --git a/Makefile b/Makefile
new file mode 100755 (executable)
index 0000000..d71e6b7
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,147 @@
+#############################################################################\r
+# Makefile for building: easylist\r
+# Generated by qmake (2.01a) (Qt 4.7.2) on: wo 27. apr 17:28:19 2011\r
+# Project:  easylist.pro\r
+# Template: app\r
+# Command: c:\qtsdk\desktop\qt\4.7.2\mingw\bin\qmake.exe -spec ..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\win32-g++ CONFIG+=release QMLJSDEBUGGER_PATH=C:/QtSDK/QtCreator/share/qtcreator/qml/qmljsdebugger -o Makefile easylist.pro\r
+#############################################################################\r
+\r
+first: release\r
+install: release-install\r
+uninstall: release-uninstall\r
+MAKEFILE      = Makefile\r
+QMAKE         = c:\qtsdk\desktop\qt\4.7.2\mingw\bin\qmake.exe\r
+DEL_FILE      = del\r
+CHK_DIR_EXISTS= if not exist\r
+MKDIR         = mkdir\r
+COPY          = copy /y\r
+COPY_FILE     = $(COPY)\r
+COPY_DIR      = xcopy /s /q /y /i\r
+INSTALL_FILE  = $(COPY_FILE)\r
+INSTALL_PROGRAM = $(COPY_FILE)\r
+INSTALL_DIR   = $(COPY_DIR)\r
+DEL_FILE      = del\r
+SYMLINK       = \r
+DEL_DIR       = rmdir\r
+MOVE          = move\r
+CHK_DIR_EXISTS= if not exist\r
+MKDIR         = mkdir\r
+SUBTARGETS    =  \\r
+               release \\r
+               debug\r
+\r
+release: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release\r
+release-make_default: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release \r
+release-make_first: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release first\r
+release-all: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release all\r
+release-clean: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release clean\r
+release-distclean: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release distclean\r
+release-install: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release install\r
+release-uninstall: $(MAKEFILE).Release FORCE\r
+       $(MAKE) -f $(MAKEFILE).Release uninstall\r
+debug: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug\r
+debug-make_default: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug \r
+debug-make_first: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug first\r
+debug-all: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug all\r
+debug-clean: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug clean\r
+debug-distclean: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug distclean\r
+debug-install: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug install\r
+debug-uninstall: $(MAKEFILE).Debug FORCE\r
+       $(MAKE) -f $(MAKEFILE).Debug uninstall\r
+\r
+Makefile: easylist.pro  ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/win32-g++/qmake.conf ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/qconfig.pri \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/modules/qt_webkit_version.pri \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/qt_functions.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/qt_config.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/exclusive_builds.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/default_pre.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/win32/default_pre.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/release.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/debug_and_release.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/default_post.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/win32/default_post.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/win32/rtti.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/win32/exceptions.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/win32/stl.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/shared.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/warn_on.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/qt.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/win32/thread.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/moc.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/win32/windows.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/resources.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/uic.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/yacc.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/lex.prf \\r
+               ../../../QtSDK/Desktop/Qt/4.7.2/mingw/mkspecs/features/include_source_dir.prf \\r
+               c:/QtSDK/Desktop/Qt/4.7.2/mingw/lib/qtmain.prl\r
+       $(QMAKE) -spec ..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\win32-g++ CONFIG+=release QMLJSDEBUGGER_PATH=C:/QtSDK/QtCreator/share/qtcreator/qml/qmljsdebugger -o Makefile easylist.pro\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\qconfig.pri:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\modules\qt_webkit_version.pri:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\qt_functions.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\qt_config.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\exclusive_builds.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\default_pre.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\win32\default_pre.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\release.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\debug_and_release.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\default_post.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\win32\default_post.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\win32\rtti.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\win32\exceptions.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\win32\stl.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\shared.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\warn_on.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\qt.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\win32\thread.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\moc.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\win32\windows.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\resources.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\uic.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\yacc.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\lex.prf:\r
+..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\features\include_source_dir.prf:\r
+c:\QtSDK\Desktop\Qt\4.7.2\mingw\lib\qtmain.prl:\r
+qmake: qmake_all FORCE\r
+       @$(QMAKE) -spec ..\..\..\QtSDK\Desktop\Qt\4.7.2\mingw\mkspecs\win32-g++ CONFIG+=release QMLJSDEBUGGER_PATH=C:/QtSDK/QtCreator/share/qtcreator/qml/qmljsdebugger -o Makefile easylist.pro\r
+\r
+qmake_all: FORCE\r
+\r
+make_default: release-make_default debug-make_default FORCE\r
+make_first: release-make_first debug-make_first FORCE\r
+all: release-all debug-all FORCE\r
+clean: release-clean debug-clean FORCE\r
+distclean: release-distclean debug-distclean FORCE\r
+       -$(DEL_FILE) Makefile\r
+\r
+check: first\r
+\r
+release-mocclean: $(MAKEFILE).Release\r
+       $(MAKE) -f $(MAKEFILE).Release mocclean\r
+debug-mocclean: $(MAKEFILE).Debug\r
+       $(MAKE) -f $(MAKEFILE).Debug mocclean\r
+mocclean: release-mocclean debug-mocclean\r
+\r
+release-mocables: $(MAKEFILE).Release\r
+       $(MAKE) -f $(MAKEFILE).Release mocables\r
+debug-mocables: $(MAKEFILE).Debug\r
+       $(MAKE) -f $(MAKEFILE).Debug mocables\r
+mocables: release-mocables debug-mocables\r
+FORCE:\r
+\r
+$(MAKEFILE).Release: Makefile\r
+$(MAKEFILE).Debug: Makefile\r
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
diff --git a/chooselistform.h b/chooselistform.h
new file mode 100755 (executable)
index 0000000..390cc79
--- /dev/null
@@ -0,0 +1,43 @@
+#ifndef CHOOSELISTFORM_H\r
+#define CHOOSELISTFORM_H\r
+\r
+#include <QWidget>\r
+#include <QDebug>\r
+#ifdef Q_WS_MAEMO_5\r
+#include <QMaemo5InformationBox>\r
+#endif\r
+#include "globals.h"\r
+#include "slidewidget.h"\r
+\r
+namespace Ui {\r
+    class ChooseListForm;\r
+}\r
+\r
+class ChooseListForm : public SlideWidget\r
+{\r
+    Q_OBJECT\r
+\r
+public:\r
+    explicit ChooseListForm(QWidget *parent = 0);\r
+    ~ChooseListForm();\r
+\r
+    virtual void shown();\r
+    void saveList();\r
+private:\r
+    Ui::ChooseListForm *ui;\r
+\r
+    QSettings * settings;\r
+\r
+signals:\r
+    void signalNavigate(int step);\r
+\r
+private slots:\r
+    void on_listNameLineEdit_returnPressed();\r
+    void on_listWidget_activated(QModelIndex index);\r
+    void on_loadPushButton_clicked();\r
+    void on_removePushButton_clicked();\r
+    void on_savePushButton_clicked();\r
+    void on_cancelPushButton_clicked();\r
+};\r
+\r
+#endif // CHOOSELISTFORM_H\r
diff --git a/chooselistform.ui b/chooselistform.ui
new file mode 100755 (executable)
index 0000000..fc5cb25
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ui version="4.0">\r
+ <class>ChooseListForm</class>\r
+ <widget class="QWidget" name="ChooseListForm">\r
+  <property name="geometry">\r
+   <rect>\r
+    <x>0</x>\r
+    <y>0</y>\r
+    <width>400</width>\r
+    <height>300</height>\r
+   </rect>\r
+  </property>\r
+  <property name="windowTitle">\r
+   <string>Form</string>\r
+  </property>\r
+  <layout class="QVBoxLayout" name="verticalLayout">\r
+   <item>\r
+    <layout class="QHBoxLayout" name="horizontalLayout_2">\r
+     <item>\r
+      <widget class="QLineEdit" name="listNameLineEdit"/>\r
+     </item>\r
+     <item>\r
+      <widget class="QPushButton" name="savePushButton">\r
+       <property name="text">\r
+        <string>Save</string>\r
+       </property>\r
+      </widget>\r
+     </item>\r
+    </layout>\r
+   </item>\r
+   <item>\r
+    <widget class="QListWidget" name="listWidget"/>\r
+   </item>\r
+   <item>\r
+    <layout class="QHBoxLayout" name="horizontalLayout">\r
+     <item>\r
+      <widget class="QPushButton" name="loadPushButton">\r
+       <property name="text">\r
+        <string>Load</string>\r
+       </property>\r
+      </widget>\r
+     </item>\r
+     <item>\r
+      <widget class="QPushButton" name="removePushButton">\r
+       <property name="text">\r
+        <string>Remove</string>\r
+       </property>\r
+      </widget>\r
+     </item>\r
+     <item>\r
+      <widget class="QPushButton" name="cancelPushButton">\r
+       <property name="text">\r
+        <string>Cancel</string>\r
+       </property>\r
+      </widget>\r
+     </item>\r
+    </layout>\r
+   </item>\r
+  </layout>\r
+ </widget>\r
+ <resources/>\r
+ <connections/>\r
+</ui>\r
diff --git a/data/26x26/easylist.png b/data/26x26/easylist.png
new file mode 100755 (executable)
index 0000000..1f9c0a9
Binary files /dev/null and b/data/26x26/easylist.png differ
diff --git a/data/40x40/easylist.png b/data/40x40/easylist.png
new file mode 100755 (executable)
index 0000000..faf6978
Binary files /dev/null and b/data/40x40/easylist.png differ
diff --git a/data/48x48/easylist.b64 b/data/48x48/easylist.b64
new file mode 100755 (executable)
index 0000000..2af9e91
--- /dev/null
@@ -0,0 +1,131 @@
+ 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
diff --git a/data/48x48/easylist.png b/data/48x48/easylist.png
new file mode 100755 (executable)
index 0000000..4bdcc11
Binary files /dev/null and b/data/48x48/easylist.png differ
diff --git a/data/64x64/easylist.png b/data/64x64/easylist.png
new file mode 100755 (executable)
index 0000000..8ff8dea
Binary files /dev/null and b/data/64x64/easylist.png differ
diff --git a/data/64x64/easylist.psd b/data/64x64/easylist.psd
new file mode 100755 (executable)
index 0000000..37c8651
Binary files /dev/null and b/data/64x64/easylist.psd differ
diff --git a/debian/.qtcreator b/debian/.qtcreator
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/debian/README b/debian/README
new file mode 100755 (executable)
index 0000000..3cb52fa
--- /dev/null
@@ -0,0 +1,6 @@
+The Debian Package easylist
+----------------------------
+
+Comments regarding the Package
+
+ -- Willem Liu <willem.liu@gmail.com>  Sat, 26 Mar 2011 11:17:23 +0100
index 6ce0511..8c0b3d6 100755 (executable)
@@ -1,3 +1,15 @@
+easylist (0.3.23) unstable; urgency=low
+
+  * Added prompt when clicked Uncheck All.
+
+ -- Willem Liu <willem.liu@gmail.com>  Sat, 26 Mar 2011 11:17:23 +0100
+
+easylist (0.3.22) unstable; urgency=low
+
+  * Now the list is also saved under its list name.
+
+ -- Willem Liu <willem.liu@gmail.com>  Sat, 26 Mar 2011 11:17:23 +0100
+
 easylist (0.3.20) unstable; urgency=low
 
   * Repackaged to reduce package size.
index adc8618..0253815 100755 (executable)
@@ -1,6 +1,6 @@
 Source: easylist
 Section: user/utilities
-Priority: extra
+Priority: optional
 Maintainer: Willem Liu <willem.liu@gmail.com>
 Build-Depends: debhelper (>= 5), libqt4-dev, autotools-dev, libhildon1 (>= 2.2)
 Standards-Version: 3.7.3
@@ -14,139 +14,7 @@ Description: Simple Check list app.
  as a new checkbox item. The app supports portrait as well as landscape
  orientation. The app can sort checked items to the bottom and/or from A-Z.
  As a bonus it has a nice slide up/down transition effect when switching
- between List view and Edit list view modes. Multiple lists is supported since
- version 0.3.15.
+ between List view and Edit list view modes. Multiple lists is supported.
 XSBC-Maemo-Display-Name: EasyList
 XSBC-Bugtracker: mailto:willem.liu@gmail.com
-XB-Maemo-Icon-26:
- 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
+XB-Maemo-Icon-26: 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
index a283cb7..2beb900 100755 (executable)
@@ -1,15 +1,15 @@
 This package was debianized by Willem Liu <willem.liu@gmail.com> on
-Tue, 07 Sep 2010 13:56:12 +0200.
+Sat, 26 Mar 2011 11:17:23 +0100.
 
-It was downloaded from http://gitorious.org/easylist
+It was downloaded from <url://example.com>
 
 Upstream Author(s):
 
-    Willem Liu <willem.liu@gmail.com>
+    Willem Liu <willem.liu@gmail.com
 
 Copyright:
 
-    Copyright (C) 2010 Willem Liu
+    <Copyright (C) 2011 Willem Liu>
 
 License:
 
@@ -30,7 +30,7 @@ License:
 On Debian systems, the complete text of the GNU General
 Public License can be found in `/usr/share/common-licenses/GPL'.
 
-The Debian packaging is (C) 2010, Willem Liu <willem.liu@gmail.com> and
+The Debian packaging is (C) 2011, Willem Liu <willem.liu@gmail.com> and
 is licensed under the GPL, see above.
 
 
index 510afce..46d61ec 100755 (executable)
@@ -1,54 +1,91 @@
 #!/usr/bin/make -f
-APPNAME := easylist
-builddir:
-               mkdir -p builddir
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+
+
+
+configure: configure-stamp
+configure-stamp:
+       dh_testdir
+       # Add here commands to configure the package.
+
+       touch configure-stamp
 
-builddir/Makefile: builddir
-               cd builddir && qmake-qt4 PREFIX=/usr ../$(APPNAME).pro
 
 build: build-stamp
 
-build-stamp: builddir/Makefile
-               dh_testdir
-               # Add here commands to compile the package.
-               cd builddir && $(MAKE)
-               touch $@
-
-clean:
-               dh_testdir
-               dh_testroot
-               rm -f build-stamp
-               # Add here commands to clean up after the build process.
-               rm -rf builddir
-               dh_clean
+build-stamp: configure-stamp  
+       dh_testdir
+
+       # Add here commands to compile the package.
+       qmake
+       $(MAKE)
+       #docbook-to-man debian/easylist.sgml > easylist.1
+
+       touch $@
+
+clean: 
+       dh_testdir
+       dh_testroot
+       rm -f build-stamp configure-stamp
+
+       # Add here commands to clean up after the build process.
+
+       dh_clean 
+
 install: build
-               dh_testdir
-               dh_testroot
-               dh_clean -k
-               dh_installdirs
+       dh_testdir
+       dh_testroot
+       dh_clean -k 
+       dh_installdirs
+
+       # Add here commands to install the package into debian/easylist.
+       $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/easylist install
+
 
-               # Add here commands to install the package into debian/your_appname
-               cd builddir && $(MAKE) INSTALL_ROOT=$(CURDIR)/debian/$(APPNAME) install
 # Build architecture-independent files here.
 binary-indep: build install
 # We have nothing to do by default.
 
 # Build architecture-dependent files here.
 binary-arch: build install
-               dh_testdir
-               dh_testroot
-               dh_installdocs
-               dh_installexamples
-               dh_installman
-               dh_link
-               #dh_strip --dbg-package=dicer-dbg
-               dh_compress
-               dh_fixperms
-               dh_installdeb
-               dh_shlibdeps
-               dh_gencontrol
-               dh_md5sums
-               dh_builddeb
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs 
+       dh_installdocs
+       dh_installexamples
+#      dh_install
+#      dh_installmenu
+#      dh_installdebconf       
+#      dh_installlogrotate
+#      dh_installemacsen
+#      dh_installpam
+#      dh_installmime
+#      dh_python
+#      dh_installinit
+#      dh_installcron
+#      dh_installinfo
+       dh_installman
+       dh_link
+       # dh_strip
+       dh_compress
+       dh_fixperms
+#      dh_perl
+#      dh_makeshlibs
+       dh_installdeb
+       # dh_shlibdeps                      # Uncomment this line for publishing!
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
 
 binary: binary-indep binary-arch
 .PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/easylist.desktop b/easylist.desktop
new file mode 100755 (executable)
index 0000000..d0c8e55
--- /dev/null
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Name=EasyList
+Exec=/opt/easylist/bin/easylist
+Icon=easylist
+StartupWMClass=easylist
+X-Window-Icon=easylist
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
+Terminal=false
+
index 9b32c1c..0a17108 100755 (executable)
@@ -1,8 +1,77 @@
-QMAKEVERSION = $$[QMAKE_VERSION]\r
-ISQT4 = $$find(QMAKEVERSION, ^[2-9])\r
-isEmpty( ISQT4 ) {\r
-error("Use the qmake include with Qt4.4 or greater, on Debian that is qmake-qt4");\r
-}\r
+#-------------------------------------------------\r
+#\r
+# Project created by QtCreator 2010-09-07T13:50:39\r
+#\r
+#-------------------------------------------------\r
+\r
+# This needs to be removed in order for the binary\r
+# to be chmod to 755 in the debian package.\r
+QT       += core gui maemo5\r
+TARGET = easylist\r
+TEMPLATE = app\r
+DEPENDPATH += .\r
+INCLUDEPATH += .\r
+DESTDIR = .\r
+\r
+SOURCES += main.cpp\\r
+        mycheckbox.cpp\\r
+    mainform.cpp \\r
+    mycheckboxcontainer.cpp \\r
+    systemsettings.cpp \\r
+    listform.cpp \\r
+    editform.cpp \\r
+    slidewidget.cpp \\r
+    chooselistform.cpp\r
+\r
+HEADERS  +=\\r
+        mycheckbox.h \\r
+    mainform.h \\r
+    mycheckboxcontainer.h \\r
+    systemsettings.h \\r
+    listform.h \\r
+    editform.h \\r
+    slidewidget.h \\r
+    chooselistform.h \\r
+    globals.h\r
+\r
+FORMS    += \\r
+    mainform.ui \\r
+    listform.ui \\r
+    editform.ui \\r
+    chooselistform.ui\r
+\r
+CONFIG += mobility\r
+\r
+unix {\r
+    QT += dbus\r
+    #VARIABLES\r
+    PREFIX = /usr\r
+    BINDIR = /opt/easylist/bin\r
+    DATADIR = $$PREFIX/share\r
+\r
+    DEFINES += DATADIR=\\\"$$DATADIR\\\" PKGDATADIR=\\\"$$PKGDATADIR\\\"\r
+\r
+    #MAKE INSTALL\r
+    INSTALLS += target desktop icon26 icon40 icon48 icon64\r
 \r
-TEMPLATE = subdirs\r
-SUBDIRS  = src\r
+    target.path =$$BINDIR\r
+\r
+    desktop.path = $$DATADIR/applications/hildon\r
+    desktop.files += $${TARGET}.desktop\r
+\r
+    #iconxpm.path = $$DATADIR/pixmap\r
+    #iconxpm.files += data/maemo/$${TARGET}.xpm\r
+\r
+    icon26.path = $$DATADIR/icons/hicolor/26x26/apps\r
+    icon26.files += data/26x26/$${TARGET}.png\r
+\r
+    icon40.path = $$DATADIR/icons/hicolor/40x40/apps\r
+    icon40.files += data/40x40/$${TARGET}.png\r
+\r
+    icon48.path = $$DATADIR/icons/hicolor/48x48/apps\r
+    icon48.files += data/48x48/$${TARGET}.png\r
+\r
+    icon64.path = $$DATADIR/icons/hicolor/64x64/apps\r
+    icon64.files += data/64x64/$${TARGET}.png\r
+\r
+}\r
index 6fdddd6..f3976e7 100755 (executable)
  <data>
   <variable>ProjectExplorer.Project.Target.0</variable>
   <valuemap type="QVariantMap">
+   <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Desktop</value>
    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Desktop</value>
    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Target.DesktopTarget</value>
    <value key="ProjectExplorer.Target.ActiveBuildConfiguration" type="int">0</value>
+   <value key="ProjectExplorer.Target.ActiveDeployConfiguration" type="int">0</value>
    <value key="ProjectExplorer.Target.ActiveRunConfiguration" type="int">0</value>
    <valuemap key="ProjectExplorer.Target.BuildConfiguration.0" type="QVariantMap">
-    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
-     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
-     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
-     <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap">
+     <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">qmake</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
+      <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
+      <value key="QtProjectManager.QMakeBuildStep.QMakeForced" type="bool">false</value>
+     </valuemap>
+     <valuemap key="ProjectExplorer.BuildStepList.Step.1" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+      <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
+      <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+       <value type="QString">-j</value>
+      </valuelist>
+      <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+     </valuemap>
+     <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">2</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Build</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Build</value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Build</value>
     </valuemap>
-    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
-     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
-     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
-     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
-     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
-      <value type="QString">-j</value>
-     </valuelist>
-     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.1" type="QVariantMap">
+     <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+      <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
+      <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+       <value type="QString">clean</value>
+      </valuelist>
+      <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+     </valuemap>
+     <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">1</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Clean</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Clean</value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Clean</value>
     </valuemap>
-    <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value>
-    <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
-     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
-     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
-     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
-     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
-      <value type="QString">clean</value>
-     </valuelist>
-     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
-    </valuemap>
-    <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
-    <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
-    <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
-    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Debug</value>
-    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
-    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">2</value>
-    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">C:/dev/cpp/easylist-0.3.20-build-desktop</value>
-    <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">20</value>
-    <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">2</value>
-    <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
-   </valuemap>
-   <valuemap key="ProjectExplorer.Target.BuildConfiguration.1" type="QVariantMap">
-    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
-     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
-     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
-     <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
-    </valuemap>
-    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
-     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
-     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
-     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
-     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
-     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
-    </valuemap>
-    <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">2</value>
-    <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
-     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
-     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
-     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
-     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
-      <value type="QString">clean</value>
-     </valuelist>
-     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
-    </valuemap>
-    <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
+    <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">2</value>
     <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
     <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+    <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Release</value>
     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Release</value>
     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
     <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value>
-    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">C:/dev/cpp/easylist-0.3.20-build-desktop</value>
-    <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">20</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">C:/dev/cpp/easylist-build-desktop</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">11</value>
     <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">2</value>
-    <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">false</value>
    </valuemap>
-   <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">2</value>
+   <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">1</value>
+   <valuemap key="ProjectExplorer.Target.DeployConfiguration.0" type="QVariantMap">
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap">
+     <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">0</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Deploy</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Deploy</value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Deploy</value>
+    </valuemap>
+    <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">1</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">No deployment</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">No deployment</value>
+    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.DefaultDeployConfiguration</value>
+   </valuemap>
+   <value key="ProjectExplorer.Target.DeployConfigurationCount" type="int">1</value>
    <valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap">
-    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">src</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">easylist</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4RunConfiguration</value>
     <value key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase" type="int">2</value>
     <valuelist key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments" type="QVariantList"/>
-    <value key="Qt4ProjectManager.Qt4RunConfiguration.ProFile" type="QString">src/src.pro</value>
+    <value key="Qt4ProjectManager.Qt4RunConfiguration.ProFile" type="QString">easylist.pro</value>
     <value key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix" type="bool">false</value>
     <value key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal" type="bool">false</value>
     <valuelist key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges" type="QVariantList"/>
-    <value key="Qt4ProjectManager.Qt4RunConfiguration.UserSetName" type="bool">false</value>
     <value key="Qt4ProjectManager.Qt4RunConfiguration.UserSetWorkingDirectory" type="bool">false</value>
     <value key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory" type="QString"></value>
+    <value key="RunConfiguration.QmlDebugServerPort" type="uint">3768</value>
+    <value key="RunConfiguration.UseCppDebugger" type="bool">true</value>
+    <value key="RunConfiguration.UseQmlDebugger" type="bool">false</value>
    </valuemap>
    <value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value>
   </valuemap>
  <data>
   <variable>ProjectExplorer.Project.Target.1</variable>
   <valuemap type="QVariantMap">
+   <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Maemo</value>
    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Maemo</value>
    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Target.MaemoDeviceTarget</value>
    <value key="ProjectExplorer.Target.ActiveBuildConfiguration" type="int">1</value>
+   <value key="ProjectExplorer.Target.ActiveDeployConfiguration" type="int">0</value>
    <value key="ProjectExplorer.Target.ActiveRunConfiguration" type="int">0</value>
    <valuemap key="ProjectExplorer.Target.BuildConfiguration.0" type="QVariantMap">
-    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
-     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
-     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
-     <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
-    </valuemap>
-    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
-     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
-     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
-     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
-     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
-     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
-    </valuemap>
-    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.2" type="QVariantMap">
-     <value key="Packaging Enabled" type="bool">true</value>
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap">
+     <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">qmake</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
+      <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
+      <value key="QtProjectManager.QMakeBuildStep.QMakeForced" type="bool">false</value>
+     </valuemap>
+     <valuemap key="ProjectExplorer.BuildStepList.Step.1" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+      <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
+      <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+       <value type="QString">-j</value>
+      </valuelist>
+      <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+     </valuemap>
+     <valuemap key="ProjectExplorer.BuildStepList.Step.2" type="QVariantMap">
+      <valuelist key="ProjectExplorer.ProcessStep.Arguments" type="QVariantList">
+       <value type="QString">dpkg-buildpackage</value>
+       <value type="QString">-sa</value>
+       <value type="QString">-S</value>
+       <value type="QString">-uc</value>
+       <value type="QString">-us</value>
+      </valuelist>
+      <value key="ProjectExplorer.ProcessStep.Command" type="QString">C:/QtSDK/Maemo/4.6.2/wbin/mad.cmd</value>
+      <value key="ProjectExplorer.ProcessStep.Enabled" type="bool">false</value>
+      <value key="ProjectExplorer.ProcessStep.WorkingDirectory" type="QString">$BUILDDIR</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Custom Process Step</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.ProcessStep</value>
+     </valuemap>
+     <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">3</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Build</value>
      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
-     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MaemoPackageCreationStep</value>
-     <valuelist key="Qt4ProjectManager.BuildStep.MaemoPackage.LocalFiles" type="QVariantList"/>
-     <value key="Qt4ProjectManager.BuildStep.MaemoPackage.Modified" type="bool">true</value>
-     <value key="Qt4ProjectManager.BuildStep.MaemoPackage.RemoteExe" type="QString"></value>
-     <valuelist key="Qt4ProjectManager.BuildStep.MaemoPackage.RemoteFiles" type="QVariantList"/>
-     <value key="Version Number" type="QString">0.0.1</value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Build</value>
     </valuemap>
-    <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">3</value>
-    <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
-     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
-     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
-     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
-     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
-      <value type="QString">clean</value>
-     </valuelist>
-     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.1" type="QVariantMap">
+     <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+      <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
+      <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+       <value type="QString">clean</value>
+      </valuelist>
+      <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+     </valuemap>
+     <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">1</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Clean</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Clean</value>
     </valuemap>
-    <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
+    <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">2</value>
     <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
     <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
-    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Debug</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Debug</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
     <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">2</value>
-    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">C:/dev/cpp/easylist-0.3.20</value>
-    <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">27</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">C:/dev/cpp/easylist-0.3.23</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">4</value>
     <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">9</value>
     <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">false</value>
    </valuemap>
    <valuemap key="ProjectExplorer.Target.BuildConfiguration.1" type="QVariantMap">
-    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.0" type="QVariantMap">
-     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">qmake</value>
-     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
-     <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
-    </valuemap>
-    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.1" type="QVariantMap">
-     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
-     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
-     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
-     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
-     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
-    </valuemap>
-    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStep.2" type="QVariantMap">
-     <value key="Packaging Enabled" type="bool">true</value>
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap">
+     <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">qmake</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
+      <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
+      <value key="QtProjectManager.QMakeBuildStep.QMakeForced" type="bool">false</value>
+     </valuemap>
+     <valuemap key="ProjectExplorer.BuildStepList.Step.1" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+      <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
+      <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
+      <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+     </valuemap>
+     <valuemap key="ProjectExplorer.BuildStepList.Step.2" type="QVariantMap">
+      <valuelist key="ProjectExplorer.ProcessStep.Arguments" type="QVariantList">
+       <value type="QString">dpkg-buildpackage</value>
+       <value type="QString">-sa</value>
+       <value type="QString">-S</value>
+       <value type="QString">-uc</value>
+       <value type="QString">-us</value>
+      </valuelist>
+      <value key="ProjectExplorer.ProcessStep.Command" type="QString">C:/QtSDK/Maemo/4.6.2/wbin/mad.cmd</value>
+      <value key="ProjectExplorer.ProcessStep.Enabled" type="bool">true</value>
+      <value key="ProjectExplorer.ProcessStep.WorkingDirectory" type="QString">$BUILDDIR</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Custom Process Step</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.ProcessStep</value>
+     </valuemap>
+     <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">3</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Build</value>
      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
-     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MaemoPackageCreationStep</value>
-     <valuelist key="Qt4ProjectManager.BuildStep.MaemoPackage.LocalFiles" type="QVariantList">
-      <value type="QString">C:/dev/cpp/easylist-0.3.20/src/easylist.desktop</value>
-      <value type="QString">C:/dev/cpp/easylist-0.3.20/src/data/26x26/easylist.png</value>
-      <value type="QString">C:/dev/cpp/easylist-0.3.20/src/data/40x40/easylist.png</value>
-      <value type="QString">C:/dev/cpp/easylist-0.3.20/src/data/48x48/easylist.png</value>
-      <value type="QString">C:/dev/cpp/easylist-0.3.20/src/data/64x64/easylist.png</value>
-     </valuelist>
-     <value key="Qt4ProjectManager.BuildStep.MaemoPackage.Modified" type="bool">false</value>
-     <value key="Qt4ProjectManager.BuildStep.MaemoPackage.RemoteExe" type="QString">/opt/easylist/bin/easylist</value>
-     <valuelist key="Qt4ProjectManager.BuildStep.MaemoPackage.RemoteFiles" type="QVariantList">
-      <value type="QString">/usr/share/applications/hildon/easylist.desktop</value>
-      <value type="QString">/usr/share/icons/hicolor/26x26/apps/easylist.png</value>
-      <value type="QString">/usr/share/icons/hicolor/40x40/apps/easylist.png</value>
-      <value type="QString">/usr/share/icons/hicolor/48x48/apps/easylist.png</value>
-      <value type="QString">/usr/share/icons/hicolor/64x64/apps/easylist.png</value>
-     </valuelist>
-     <value key="Version Number" type="QString">0.3.19</value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Build</value>
     </valuemap>
-    <value key="ProjectExplorer.BuildConfiguration.BuildStepsCount" type="int">3</value>
-    <valuemap key="ProjectExplorer.BuildConfiguration.CleanStep.0" type="QVariantMap">
-     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Make</value>
-     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
-     <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
-     <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
-      <value type="QString">clean</value>
-     </valuelist>
-     <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.1" type="QVariantMap">
+     <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+      <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
+      <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+       <value type="QString">clean</value>
+      </valuelist>
+      <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+     </valuemap>
+     <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">1</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Clean</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Clean</value>
     </valuemap>
-    <value key="ProjectExplorer.BuildConfiguration.CleanStepsCount" type="int">1</value>
+    <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">2</value>
     <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
     <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
-    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Release</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Release</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
     <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value>
-    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">C:/dev/cpp/easylist-0.3.20</value>
-    <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">27</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">C:/dev/cpp/easylist-0.3.23</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">16</value>
     <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">9</value>
     <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">false</value>
    </valuemap>
    <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">2</value>
+   <valuemap key="ProjectExplorer.Target.DeployConfiguration.0" type="QVariantMap">
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap">
+     <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap">
+      <value key="Packaging Enabled" type="bool">true</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Packaging for Maemo</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MaemoPackageCreationStep</value>
+     </valuemap>
+     <valuemap key="ProjectExplorer.BuildStepList.Step.1" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Deploy to Maemo device</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MaemoDeployStep</value>
+      <value key="Qt4ProjectManager.MaemoRunConfiguration.DeployToSysroot" type="bool">false</value>
+      <value key="Qt4ProjectManager.MaemoRunConfiguration.DeviceId" type="qulonglong">1</value>
+      <valuelist key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedFiles" type="QVariantList">
+       <value type="QString">C:/dev/cpp/easylist-0.3.23/easylist_0.3.23_armel.deb</value>
+       <value type="QString">C:/dev/cpp/easylist-0.3.23/easylist_0.3.23_armel.deb</value>
+      </valuelist>
+      <valuelist key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedHosts" type="QVariantList">
+       <value type="QString">192.168.0.100</value>
+       <value type="QString">localhost</value>
+      </valuelist>
+      <valuelist key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedRemotePaths" type="QVariantList">
+       <value type="QString"></value>
+       <value type="QString"></value>
+      </valuelist>
+      <valuelist key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedTimes" type="QVariantList">
+       <value type="QDateTime">2011-04-26T21:01:00</value>
+       <value type="QDateTime">2011-03-26T11:43:07</value>
+      </valuelist>
+     </valuemap>
+     <valuemap key="ProjectExplorer.BuildStepList.Step.2" type="QVariantMap">
+      <valuelist key="ProjectExplorer.ProcessStep.Arguments" type="QVariantList">
+       <value type="QString">dpkg-buildpackage</value>
+       <value type="QString">-rfakeroot</value>
+       <value type="QString">-sa</value>
+       <value type="QString">-S</value>
+      </valuelist>
+      <value key="ProjectExplorer.ProcessStep.Command" type="QString">C:/NokiaQtSDK/Maemo/4.6.2/madbin/mad.cmd</value>
+      <value key="ProjectExplorer.ProcessStep.Enabled" type="bool">true</value>
+      <value key="ProjectExplorer.ProcessStep.WorkingDirectory" type="QString">$BUILDDIR</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Custom Process Step</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.ProcessStep</value>
+     </valuemap>
+     <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">3</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Deploy</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Deploy</value>
+    </valuemap>
+    <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">1</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Deploy to Maemo device</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.DefaultDeployConfiguration</value>
+   </valuemap>
+   <value key="ProjectExplorer.Target.DeployConfigurationCount" type="int">1</value>
    <valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap">
-    <value key=".ProFile" type="QString">src/src.pro</value>
-    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">New Maemo Run Configuration</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">src</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MaemoRunConfiguration</value>
     <valuelist key="Qt4ProjectManager.MaemoRunConfiguration.Arguments" type="QVariantList"/>
-    <value key="Qt4ProjectManager.MaemoRunConfiguration.DeviceId" type="qulonglong">1</value>
-    <valuelist key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedFiles" type="QVariantList"/>
-    <valuelist key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedHosts" type="QVariantList"/>
-    <valuelist key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedRemotePaths" type="QVariantList"/>
-    <valuelist key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedTimes" type="QVariantList"/>
+    <value key="Qt4ProjectManager.MaemoRunConfiguration.BaseEnvironmentBase" type="int">1</value>
+    <valuelist key="Qt4ProjectManager.MaemoRunConfiguration.ExportedLocalDirs" type="QVariantList"/>
+    <value key="Qt4ProjectManager.MaemoRunConfiguration.ProFile" type="QString">src/src.pro</value>
+    <valuelist key="Qt4ProjectManager.MaemoRunConfiguration.RemoteMountPoints" type="QVariantList"/>
+    <value key="Qt4ProjectManager.MaemoRunConfiguration.UseRemoteGdb" type="bool">false</value>
+    <valuelist key="Qt4ProjectManager.MaemoRunConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+    <value key="RunConfiguration.QmlDebugServerPort" type="uint">3768</value>
+    <value key="RunConfiguration.UseCppDebugger" type="bool">true</value>
+    <value key="RunConfiguration.UseQmlDebugger" type="bool">false</value>
+   </valuemap>
+   <value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.2</variable>
+  <valuemap type="QVariantMap">
+   <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Qt Simulator</value>
+   <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">Qt Simulator</value>
+   <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Target.QtSimulatorTarget</value>
+   <value key="ProjectExplorer.Target.ActiveBuildConfiguration" type="int">0</value>
+   <value key="ProjectExplorer.Target.ActiveDeployConfiguration" type="int">0</value>
+   <value key="ProjectExplorer.Target.ActiveRunConfiguration" type="int">0</value>
+   <valuemap key="ProjectExplorer.Target.BuildConfiguration.0" type="QVariantMap">
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap">
+     <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">qmake</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
+      <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
+      <value key="QtProjectManager.QMakeBuildStep.QMakeForced" type="bool">false</value>
+     </valuemap>
+     <valuemap key="ProjectExplorer.BuildStepList.Step.1" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+      <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
+      <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
+      <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+     </valuemap>
+     <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">2</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Build</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.1" type="QVariantMap">
+     <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+      <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
+      <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+       <value type="QString">clean</value>
+      </valuelist>
+      <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+     </valuemap>
+     <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">1</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Clean</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">2</value>
+    <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
+    <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+    <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Debug</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">2</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">C:/dev/cpp/easylist-build-simulator</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">3</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">2</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">false</value>
+   </valuemap>
+   <valuemap key="ProjectExplorer.Target.BuildConfiguration.1" type="QVariantMap">
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap">
+     <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">qmake</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">QtProjectManager.QMakeBuildStep</value>
+      <valuelist key="QtProjectManager.QMakeBuildStep.QMakeArguments" type="QVariantList"/>
+      <value key="QtProjectManager.QMakeBuildStep.QMakeForced" type="bool">false</value>
+     </valuemap>
+     <valuemap key="ProjectExplorer.BuildStepList.Step.1" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+      <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">false</value>
+      <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList"/>
+      <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+     </valuemap>
+     <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">2</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Build</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Build</value>
+    </valuemap>
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.1" type="QVariantMap">
+     <valuemap key="ProjectExplorer.BuildStepList.Step.0" type="QVariantMap">
+      <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Make</value>
+      <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+      <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.MakeStep</value>
+      <value key="Qt4ProjectManager.MakeStep.Clean" type="bool">true</value>
+      <valuelist key="Qt4ProjectManager.MakeStep.MakeArguments" type="QVariantList">
+       <value type="QString">clean</value>
+      </valuelist>
+      <value key="Qt4ProjectManager.MakeStep.MakeCommand" type="QString"></value>
+     </valuemap>
+     <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">1</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Clean</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Clean</value>
+    </valuemap>
+    <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">2</value>
+    <value key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment" type="bool">false</value>
+    <valuelist key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+    <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Release</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4BuildConfiguration</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration" type="int">0</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.BuildDirectory" type="QString">C:/dev/cpp/easylist-build-simulator</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId" type="int">3</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.ToolChain" type="int">2</value>
+    <value key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild" type="bool">true</value>
+   </valuemap>
+   <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">2</value>
+   <valuemap key="ProjectExplorer.Target.DeployConfiguration.0" type="QVariantMap">
+    <valuemap key="ProjectExplorer.BuildConfiguration.BuildStepList.0" type="QVariantMap">
+     <value key="ProjectExplorer.BuildStepList.StepsCount" type="int">0</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">Deploy</value>
+     <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+     <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.BuildSteps.Deploy</value>
+    </valuemap>
+    <value key="ProjectExplorer.BuildConfiguration.BuildStepListCount" type="int">1</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">No deployment</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">ProjectExplorer.DefaultDeployConfiguration</value>
+   </valuemap>
+   <value key="ProjectExplorer.Target.DeployConfigurationCount" type="int">1</value>
+   <valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap">
+    <value key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName" type="QString">easylist</value>
+    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString"></value>
+    <value key="ProjectExplorer.ProjectConfiguration.Id" type="QString">Qt4ProjectManager.Qt4RunConfiguration</value>
+    <value key="Qt4ProjectManager.Qt4RunConfiguration.BaseEnvironmentBase" type="int">2</value>
+    <valuelist key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments" type="QVariantList"/>
+    <value key="Qt4ProjectManager.Qt4RunConfiguration.ProFile" type="QString">easylist.pro</value>
+    <value key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix" type="bool">false</value>
+    <value key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal" type="bool">false</value>
+    <valuelist key="Qt4ProjectManager.Qt4RunConfiguration.UserEnvironmentChanges" type="QVariantList"/>
+    <value key="Qt4ProjectManager.Qt4RunConfiguration.UserSetWorkingDirectory" type="bool">false</value>
+    <value key="Qt4ProjectManager.Qt4RunConfiguration.UserWorkingDirectory" type="QString"></value>
+    <value key="RunConfiguration.QmlDebugServerPort" type="uint">3768</value>
+    <value key="RunConfiguration.UseCppDebugger" type="bool">true</value>
+    <value key="RunConfiguration.UseQmlDebugger" type="bool">false</value>
    </valuemap>
    <value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value>
   </valuemap>
  </data>
  <data>
   <variable>ProjectExplorer.Project.TargetCount</variable>
-  <value type="int">2</value>
+  <value type="int">3</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
+  <value type="QString">{b8d36906-12a9-4298-9c87-7974a94334b0}</value>
  </data>
  <data>
   <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
-  <value type="int">4</value>
+  <value type="int">8</value>
  </data>
 </qtcreator>
diff --git a/editform.cpp b/editform.cpp
new file mode 100755 (executable)
index 0000000..8459430
--- /dev/null
@@ -0,0 +1,36 @@
+#include "editform.h"\r
+#include "ui_editform.h"\r
+\r
+EditForm::EditForm(QWidget *parent) :\r
+    SlideWidget(parent),\r
+    ui(new Ui::EditForm)\r
+{\r
+    ui->setupUi(this);\r
+    settings = new QSettings(WILLEM_LIU, EASY_LIST);\r
+    shown();\r
+}\r
+\r
+EditForm::~EditForm()\r
+{\r
+    delete ui;\r
+}\r
+\r
+void EditForm::shown()\r
+{\r
+    ui->textEdit->setText(MyCheckBoxContainer::getInstance()->getListText());\r
+    ui->textEdit->setFocus(Qt::ActiveWindowFocusReason);\r
+}\r
+\r
+void EditForm::on_savePushButton_clicked()\r
+{\r
+    qDebug() << "Save";\r
+    settings->setValue(LIST_TEXT, ui->textEdit->toPlainText());\r
+    SystemSettings::getInstance()->saveCurrentList();\r
+    emit signalNavigate(0);\r
+}\r
+\r
+void EditForm::on_cancelPushButton_clicked()\r
+{\r
+    qDebug() << "Cancel";\r
+    emit signalNavigate(0);\r
+}\r
diff --git a/editform.h b/editform.h
new file mode 100755 (executable)
index 0000000..913f12b
--- /dev/null
@@ -0,0 +1,39 @@
+#ifndef EDITFORM_H\r
+#define EDITFORM_H\r
+\r
+#include <QWidget>\r
+#include <QDebug>\r
+#include <QSettings>\r
+#include "mycheckboxcontainer.h"\r
+#include "slidewidget.h"\r
+#include "systemsettings.h"\r
+#include "globals.h"\r
+\r
+namespace Ui {\r
+    class EditForm;\r
+}\r
+\r
+class EditForm : public SlideWidget\r
+{\r
+    Q_OBJECT\r
+\r
+public:\r
+    explicit EditForm(QWidget *parent = 0);\r
+    ~EditForm();\r
+\r
+    virtual void shown();\r
+\r
+private:\r
+    Ui::EditForm *ui;\r
+\r
+    QSettings * settings;\r
+\r
+signals:\r
+    void signalNavigate(int step);\r
+\r
+private slots:\r
+    void on_cancelPushButton_clicked();\r
+    void on_savePushButton_clicked();\r
+};\r
+\r
+#endif // EDITFORM_H\r
diff --git a/editform.ui b/editform.ui
new file mode 100755 (executable)
index 0000000..12869bb
--- /dev/null
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ui version="4.0">\r
+ <class>EditForm</class>\r
+ <widget class="QWidget" name="EditForm">\r
+  <property name="geometry">\r
+   <rect>\r
+    <x>0</x>\r
+    <y>0</y>\r
+    <width>400</width>\r
+    <height>300</height>\r
+   </rect>\r
+  </property>\r
+  <property name="windowTitle">\r
+   <string>Form</string>\r
+  </property>\r
+  <layout class="QGridLayout" name="gridLayout">\r
+   <property name="margin">\r
+    <number>0</number>\r
+   </property>\r
+   <property name="spacing">\r
+    <number>0</number>\r
+   </property>\r
+   <item row="1" column="0">\r
+    <layout class="QHBoxLayout" name="horizontalLayout">\r
+     <property name="spacing">\r
+      <number>0</number>\r
+     </property>\r
+     <item>\r
+      <widget class="QPushButton" name="savePushButton">\r
+       <property name="text">\r
+        <string>Save</string>\r
+       </property>\r
+      </widget>\r
+     </item>\r
+     <item>\r
+      <widget class="QPushButton" name="cancelPushButton">\r
+       <property name="text">\r
+        <string>Cancel</string>\r
+       </property>\r
+      </widget>\r
+     </item>\r
+    </layout>\r
+   </item>\r
+   <item row="0" column="0">\r
+    <layout class="QGridLayout" name="gridLayout_2">\r
+     <item row="0" column="0">\r
+      <widget class="QTextEdit" name="textEdit"/>\r
+     </item>\r
+    </layout>\r
+   </item>\r
+  </layout>\r
+ </widget>\r
+ <resources/>\r
+ <connections/>\r
+</ui>\r
diff --git a/globals.h b/globals.h
new file mode 100755 (executable)
index 0000000..fa4c1ae
--- /dev/null
+++ b/globals.h
@@ -0,0 +1,20 @@
+#ifndef GLOBALS_H\r
+#define GLOBALS_H\r
+\r
+#define WILLEM_LIU "WillemLiu"\r
+#define EASY_LIST "easylist"\r
+#define LIST_TEXT "ListText"\r
+#define LIST_NAMES "ListName"\r
+#define SELECTED_LIST_NAME "SelectedListName"\r
+#define DBUS_KEYBOARD_SLIDE "/org/freedesktop/Hal/devices/platform_slide"\r
+#define CHECKED_ITEMS_TO_BOTTOM "CheckedItemsToBottom"\r
+#define LANDSCAPE "Landscape"\r
+#define PORTRAIT "Portrait"\r
+#define AUTO_ORIENTATION "AutoOrientation"\r
+#define LIST_TEXT "ListText"\r
+#define SORT_A_Z "SortAlphabetically"\r
+\r
+static const int BACK = 0;\r
+static const int FORWARD = 1;\r
+\r
+#endif // GLOBALS_H\r
diff --git a/list.txt b/list.txt
new file mode 100755 (executable)
index 0000000..df63062
--- /dev/null
+++ b/list.txt
@@ -0,0 +1,83 @@
+10: Derrida, Jacques. "Structure, Sign, and Play in the Discourse of\r
+11: De Man, Paul. "Semiology and Rhetoric." In The Critical Tradition,\r
+12: Brooks, Peter. "Freud's Masterplot" and "The Dream-Work." In The\r
+13: Lacan, Jacques. "The Agency of the Letter in the Unconscious." In\r
+14: Eliot, T. S. "Tradition and the Individual Talent." In The\r
+15: Deleuze, Gilles and Felix Guattari. "Introduction: Rhizome." In A\r
+16: Jauss, Hans Robert. "Literary History as a Challenge to Literary\r
+17: Benjamin, Walter. "The Work of Art in the Age of Mechanical\r
+18: Jameson, Fredric. "The Political Unconscious." In The Critical\r
+19: Greenblatt, Stephen. "The Power of Forms." In The Critical\r
+20: Woolf, Virginia. "Austen-Brontë-Eliot" and "The Androgynous\r
+21: Gates, Jr., Henry Louis. "Writing, 'Race,' and the Difference It\r
+22: Said, Edward. "Introduction to Orientalism." In The Critical\r
+23: Foucault, Michel. "The History of Sexuality." In The Critical\r
+24: Fish, Stanley. "How to Recognize a Poem When You See One." In The\r
+25: Knapp, Steven and Walter Benn Michaels. "Against Theory." In\r
+3: Gadamer, Hans-Georg. "The Elevation of the Historicality of\r
+5: Wimsatt, William K. and Monroe Beardsley. "The Intentional\r
+6: Richards, Ivor A. and Monroe Beardsley. "Principles of Literary\r
+7: Eikhenbaum, Boris. "The Theory of the 'Formal Method.'" In Russian\r
+8: Levi-Strauss, Claude. "The Structural Study of Myth." In The\r
+915-25 and pp. 932-39\r
+9: Jakobson, Roman. "Linguistics and Poetics." In The Critical\r
+Against Theory: Literary Studies and the New Pragmatism. Chicago:\r
+Approach." In The Critical Tradition, pp. 1002-14\r
+Bakhtin, Mikhail. "Heteroglossia in the Novel." In The Critical\r
+Bhabha, Homi K. "Signs Taken for Wonders." In The Critical Tradition,\r
+Bloom, Harold. "A Meditation upon Priority." In The Critical\r
+Brooks, Cleanth. "Irony as a Principle of Structure." In The Critical\r
+Brooks, Cleanth. "Irony as a Principle of Structure." In The Critical\r
+Butler, Judith. "Imitation and Gender Insubordination." In The\r
+Critical Tradition, pp. 1023-30\r
+Critical Tradition, pp. 1255-62\r
+Critical Tradition, pp. 1707-18\r
+Critical Tradition, pp. 500-08 and pp. 882-92\r
+Critical Tradition, pp. 537-41\r
+Critical Tradition, pp. 775-84\r
+Critical Tradition, pp. 860-68\r
+Criticism." In The Critical Tradition, pp. 764-73\r
+Disturbances." In Studies on Child Language and Aphasia. The Hague:\r
+Empson, William. Seven Types of Ambiguity. New York: New Directions\r
+Fallacy." In The Critical Tradition, pp. 811-18\r
+Formalist Criticism: Four Essays. Lincoln: University of Nebraska\r
+Guillory, John. "Cultural Capital." In The Critical Tradition, pp. 1472-83\r
+Horkheimer, Max and Theodor Adorno. "The Culture Industry." In The\r
+Inflections: Literary Investigations in Historical Method and Theory.\r
+Jakobson, Roman. "Two Aspects of Language and Two Types of Aphasic\r
+Kolodny, Annette. "Dancing through the Minefield." In The Critical\r
+Makes." In The Critical Tradition, pp. 1891-1902\r
+McGann, Jerome J. "Keats and Historical Method." In The Beauty of\r
+Morrison, Toni. "Playing in the Dark." In The Critical Tradition, pp. 1791-1800\r
+Mouton Publishers, 1971, pp. 67-73\r
+New York: Oxford University Press, 1988\r
+pp. 1875-99\r
+pp. 882-92\r
+Press, 1965, pp. 99-141\r
+Publishing Corporation, 1966, pp. 16-19\r
+Reproduction." In The Critical Tradition, pp. 1233-48\r
+Suggested: Barthes, Roland. "The Structuralist Activity." In The\r
+The Critical Tradition, pp. 1129-48\r
+the Human Sciences" and "Différance." In The Critical Tradition, pp.\r
+Theory." In The Critical Tradition, pp. 981-88\r
+Thousand Plateaus: Capitalism and Schizophrenia. Minneapolis:\r
+Tradition, pp. 1156-60\r
+Tradition, pp. 1291-1306\r
+Tradition, pp. 1443-45\r
+Tradition, pp. 1550-62\r
+Tradition, pp. 1627-36\r
+Tradition, pp. 1801-13\r
+Tradition, pp. 588-93\r
+Tradition, pp. 721-37\r
+Tradition, pp. 799-806\r
+Tradition, pp. 799-806\r
+Tradition, pp. 871-74\r
+Tradition, pp. 874-77\r
+Understanding to the Status of Hermeneutic Principle." In The Critical\r
+University of Chicago Press Journals, 1985\r
+University of Minnesota Press, 1987\r
+Vision." In The Critical Tradition, pp. 602-10\r
+\8ei\9eek, Slavoj. "Courtly Love." In The Critical Tradition, pp. 1181-97\r
+!2: Foucault, Michel. "What Is an Author?" In The Critical Tradition, pp. 904-14\r
+!4: Iser, Wolfgang. "The Reading Process: A Phenomenological\r
+!Barthes, Roland. "The Death of the Author." In The Critical\r
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
diff --git a/listform.h b/listform.h
new file mode 100755 (executable)
index 0000000..2fdde5c
--- /dev/null
@@ -0,0 +1,41 @@
+#ifndef LISTFORM_H\r
+#define LISTFORM_H\r
+\r
+#include <QWidget>\r
+#include <QSettings>\r
+#include <QMessageBox>\r
+#include "mycheckboxcontainer.h"\r
+#include "systemsettings.h"\r
+#include "slidewidget.h"\r
+#include "globals.h"\r
+\r
+namespace Ui {\r
+    class ListForm;\r
+}\r
+\r
+class ListForm : public SlideWidget\r
+{\r
+    Q_OBJECT\r
+\r
+public:\r
+    explicit ListForm(QWidget *parent = 0);\r
+    ~ListForm();\r
+\r
+    virtual void shown();\r
+    virtual void saveList();\r
+\r
+private:\r
+    QSettings * settings;\r
+\r
+    Ui::ListForm *ui;\r
+signals:\r
+    void signalNavigate(int step);\r
+\r
+private slots:\r
+    void on_clearCheckedPushButton_clicked();\r
+    void on_uncheckAllPushButton_clicked();\r
+    void on_editListPushButton_clicked();\r
+    void addCheckBoxes();\r
+};\r
+\r
+#endif // LISTFORM_H\r
diff --git a/listform.ui b/listform.ui
new file mode 100755 (executable)
index 0000000..b7c4d31
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ui version="4.0">\r
+ <class>ListForm</class>\r
+ <widget class="QWidget" name="ListForm">\r
+  <property name="geometry">\r
+   <rect>\r
+    <x>0</x>\r
+    <y>0</y>\r
+    <width>400</width>\r
+    <height>300</height>\r
+   </rect>\r
+  </property>\r
+  <property name="windowTitle">\r
+   <string>Form</string>\r
+  </property>\r
+  <layout class="QGridLayout" name="gridLayout">\r
+   <property name="margin">\r
+    <number>0</number>\r
+   </property>\r
+   <property name="spacing">\r
+    <number>0</number>\r
+   </property>\r
+   <item row="1" column="0">\r
+    <layout class="QHBoxLayout" name="horizontalLayout">\r
+     <property name="spacing">\r
+      <number>0</number>\r
+     </property>\r
+     <item>\r
+      <widget class="QPushButton" name="editListPushButton">\r
+       <property name="text">\r
+        <string>Edit list</string>\r
+       </property>\r
+      </widget>\r
+     </item>\r
+     <item>\r
+      <widget class="QPushButton" name="uncheckAllPushButton">\r
+       <property name="text">\r
+        <string>Uncheck all</string>\r
+       </property>\r
+      </widget>\r
+     </item>\r
+     <item>\r
+      <widget class="QPushButton" name="clearCheckedPushButton">\r
+       <property name="text">\r
+        <string>Clear checked</string>\r
+       </property>\r
+      </widget>\r
+     </item>\r
+    </layout>\r
+   </item>\r
+   <item row="0" column="0">\r
+    <layout class="QGridLayout" name="gridLayout_2">\r
+     <item row="0" column="0">\r
+      <widget class="QScrollArea" name="scrollArea">\r
+       <property name="widgetResizable">\r
+        <bool>true</bool>\r
+       </property>\r
+       <property name="alignment">\r
+        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>\r
+       </property>\r
+       <widget class="QWidget" name="scrollAreaWidgetContents">\r
+        <property name="geometry">\r
+         <rect>\r
+          <x>0</x>\r
+          <y>0</y>\r
+          <width>396</width>\r
+          <height>271</height>\r
+         </rect>\r
+        </property>\r
+        <layout class="QGridLayout" name="gridLayout_3">\r
+         <property name="margin">\r
+          <number>0</number>\r
+         </property>\r
+         <property name="spacing">\r
+          <number>0</number>\r
+         </property>\r
+         <item row="0" column="0">\r
+          <layout class="QVBoxLayout" name="checkBoxVerticalLayout">\r
+           <property name="spacing">\r
+            <number>0</number>\r
+           </property>\r
+          </layout>\r
+         </item>\r
+        </layout>\r
+       </widget>\r
+      </widget>\r
+     </item>\r
+    </layout>\r
+   </item>\r
+  </layout>\r
+ </widget>\r
+ <resources/>\r
+ <connections/>\r
+</ui>\r
diff --git a/main.cpp b/main.cpp
new file mode 100755 (executable)
index 0000000..0c1875d
--- /dev/null
+++ b/main.cpp
@@ -0,0 +1,38 @@
+/*\r
+ *  Copyright (c) 2010 Willem Liu\r
+ *\r
+ *  Permission is hereby granted, free of charge, to any person obtaining a copy\r
+ *  of this software and associated documentation files (the "Software"), to deal\r
+ *  in the Software without restriction, including without limitation the rights\r
+ *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
+ *  copies of the Software, and to permit persons to whom the Software is\r
+ *  furnished to do so, subject to the following conditions:\r
+ *\r
+ *  The above copyright notice and this permission notice shall be included in\r
+ *  all copies or substantial portions of the Software.\r
+ *\r
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+ *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
+ *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
+ *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
+ *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
+ *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
+ *  THE SOFTWARE.\r
+ */\r
+\r
+#include <QtGui/QApplication>\r
+#include "mainform.h"\r
+\r
+int main(int argc, char *argv[])\r
+{\r
+    QApplication a(argc, argv);\r
+    MainForm w;\r
+\r
+#if defined(Q_WS_S60)\r
+    w.showMaximized();\r
+#else\r
+    w.show();\r
+#endif\r
+\r
+    return a.exec();\r
+}\r
diff --git a/mainform.cpp b/mainform.cpp
new file mode 100755 (executable)
index 0000000..9eac1d8
--- /dev/null
@@ -0,0 +1,210 @@
+#include "mainform.h"\r
+#include "ui_mainform.h"\r
+\r
+MainForm::MainForm(QWidget *parent) :\r
+    QMainWindow(parent),\r
+    ui(new Ui::MainForm)\r
+{\r
+    ui->setupUi(this);\r
+    settings = new QSettings(WILLEM_LIU, EASY_LIST);\r
+\r
+    newIndex = 0;\r
+    connect(SystemSettings::getInstance(), SIGNAL(signalKeyboardClosed(bool)), this, SLOT(keyboardClosed(bool)));\r
+\r
+    ui->actionAuto_Orientation->setChecked(settings->value(AUTO_ORIENTATION).toBool());\r
+    on_actionAuto_Orientation_triggered();\r
+\r
+    ui->actionSort_A_Z->setChecked(settings->value(SORT_A_Z).toBool());\r
+    on_actionSort_A_Z_triggered();\r
+\r
+    // Set a default value for CHECKED_ITEMS_TO_BOTTOM\r
+    if(settings->contains(CHECKED_ITEMS_TO_BOTTOM) == false)\r
+    {\r
+        settings->setValue(CHECKED_ITEMS_TO_BOTTOM, false);\r
+    }\r
+    ui->actionChecked_bottom->setChecked(settings->value(CHECKED_ITEMS_TO_BOTTOM).toBool());\r
+    on_actionChecked_bottom_triggered();\r
+\r
+    // Create a default for landscape mode.\r
+    landscape = settings->value(LANDSCAPE).toBool();\r
+    // If LANDSCAPE exists in QSettings.\r
+    if(settings->contains(LANDSCAPE))\r
+    {\r
+        // We use the LANDSCAPE value in the QSettings.\r
+        landscape = settings->value(LANDSCAPE).toBool();\r
+    }\r
+    else\r
+    {\r
+        // Otherwise we set our default into the QSettings.\r
+        settings->setValue(LANDSCAPE, landscape);\r
+    }\r
+    // If keyboard is opened at start. We do landscape mode.\r
+    // Otherwise we do what's read from the QSettings.\r
+    if(ui->actionAuto_Orientation->isChecked() == false)\r
+    {\r
+        if(SystemSettings::getInstance()->getKeyboardClosed() == false)\r
+        {\r
+            setLandscapeMode(true);\r
+        }\r
+        else\r
+        {\r
+            setLandscapeMode(landscape);\r
+        }\r
+    }\r
+\r
+    // Populate the QStackedWidget. ListForm is set as the current widget.\r
+    listForm = new ListForm(this);\r
+    editForm = new EditForm(this);\r
+    chooseListForm = new ChooseListForm(this);\r
+\r
+    connect(listForm, SIGNAL(signalTransitionOutFinished()), this, SLOT(stateOutFinished()));\r
+    connect(listForm, SIGNAL(signalNavigate(int)), this, SLOT(changeWidget(int)));\r
+\r
+    connect(editForm, SIGNAL(signalTransitionOutFinished()), this, SLOT(stateOutFinished()));\r
+    connect(editForm, SIGNAL(signalNavigate(int)), this, SLOT(changeWidget(int)));\r
+\r
+    connect(chooseListForm, SIGNAL(signalTransitionOutFinished()), this, SLOT(stateOutFinished()));\r
+    connect(chooseListForm, SIGNAL(signalNavigate(int)), this, SLOT(changeWidget(int)));\r
+\r
+    ui->stackedWidget->addWidget(listForm);\r
+    ui->stackedWidget->addWidget(editForm);\r
+    ui->stackedWidget->addWidget(chooseListForm);\r
+    ui->stackedWidget->setCurrentWidget(listForm);\r
+}\r
+\r
+MainForm::~MainForm()\r
+{\r
+    delete ui;\r
+}\r
+\r
+void MainForm::stateOutFinished()\r
+{\r
+    qDebug() << "Show new widget" << newIndex;\r
+    ui->stackedWidget->setCurrentIndex(newIndex);\r
+    SlideWidget * newWidget = dynamic_cast<SlideWidget * >(ui->stackedWidget->currentWidget());\r
+    newWidget->move(0, -newWidget->height());\r
+    newWidget->setStateIn();\r
+    newWidget->shown();\r
+}\r
+\r
+void MainForm::changeWidget(int step)\r
+{\r
+    SlideWidget * currentWidget = dynamic_cast<SlideWidget * >(ui->stackedWidget->currentWidget());\r
+    currentWidget->initStates();\r
+    int currentIndex = ui->stackedWidget->indexOf(currentWidget);\r
+    // Because all widgets are started with StateOut as initial state, we\r
+    // need to reset the current widget to StateIn. The view is showing the\r
+    // current widget at the place of its StateIn position. But the state\r
+    // is never set to StateIn.\r
+    currentWidget->setStateIn();\r
+    qDebug() << "Current widget index" << currentIndex;\r
+    newIndex = step;\r
+    currentWidget->setStateOut();\r
+    qDebug() << "New widget index" << newIndex;\r
+}\r
+\r
+void MainForm::keyboardClosed(bool closed)\r
+{\r
+    // When keyboard is opened.\r
+    if(ui->actionAuto_Orientation->isChecked() == false)\r
+    {\r
+        if(closed == false)\r
+        {\r
+            setLandscapeMode(true);\r
+        }\r
+        else\r
+        {\r
+            setLandscapeMode(landscape);\r
+        }\r
+    }\r
+}\r
+\r
+void MainForm::setLandscapeMode(bool landscape)\r
+{\r
+    if(landscape)\r
+    {\r
+        tempLandscapeMode = true;\r
+        qDebug() << LANDSCAPE;\r
+#ifdef Q_WS_MAEMO_5\r
+        setAttribute(Qt::WA_Maemo5AutoOrientation, false);\r
+        setAttribute(Qt::WA_Maemo5LandscapeOrientation, true);\r
+        setAttribute(Qt::WA_Maemo5PortraitOrientation, false);\r
+#endif\r
+    }\r
+    else\r
+    {\r
+        tempLandscapeMode = false;\r
+        qDebug() << PORTRAIT;\r
+#ifdef Q_WS_MAEMO_5\r
+        setAttribute(Qt::WA_Maemo5AutoOrientation, false);\r
+        setAttribute(Qt::WA_Maemo5PortraitOrientation, true);\r
+        setAttribute(Qt::WA_Maemo5LandscapeOrientation, false);\r
+#endif\r
+    }\r
+}\r
+\r
+void MainForm::on_actionRotate_triggered()\r
+{\r
+    qDebug() << "Rotate";\r
+\r
+    landscape = (width() < height());\r
+    settings->setValue(LANDSCAPE, landscape);\r
+    ui->actionAuto_Orientation->setChecked(false);\r
+    settings->setValue(AUTO_ORIENTATION, ui->actionAuto_Orientation->isChecked());\r
+    setLandscapeMode(landscape);\r
+}\r
+\r
+void MainForm::on_actionAbout_triggered()\r
+{\r
+    qDebug() << "About";\r
+    QString aboutText;\r
+    aboutText.append("EasyList (c) 2010\n\n");\r
+    aboutText.append("Created by Willem Liu.\n");\r
+    aboutText.append("Created with QtCreator.\n");\r
+    QMessageBox::about(this, "EasyList", aboutText);\r
+}\r
+\r
+void MainForm::on_actionChecked_bottom_triggered()\r
+{\r
+    bool sortToBottom = ui->actionChecked_bottom->isChecked();\r
+    qDebug() << "Checked Bottom" << sortToBottom;\r
+    settings->setValue(CHECKED_ITEMS_TO_BOTTOM, sortToBottom);\r
+    MyCheckBoxContainer::getInstance()->setSortCheckedToBottom(sortToBottom);\r
+}\r
+\r
+void MainForm::closeEvent(QCloseEvent *event)\r
+{\r
+    settings->setValue(LIST_TEXT, MyCheckBoxContainer::getInstance()->getListText());\r
+    SystemSettings::getInstance()->saveCurrentList();\r
+    event->accept();\r
+}\r
+\r
+void MainForm::on_actionAuto_Orientation_triggered()\r
+{\r
+    settings->setValue(AUTO_ORIENTATION, ui->actionAuto_Orientation->isChecked());\r
+    qDebug() << "Auto orientation" << ui->actionAuto_Orientation->isChecked();\r
+    if(ui->actionAuto_Orientation->isChecked())\r
+    {\r
+#ifdef Q_WS_MAEMO_5\r
+        setAttribute(Qt::WA_Maemo5PortraitOrientation, false);\r
+        setAttribute(Qt::WA_Maemo5LandscapeOrientation, false);\r
+        setAttribute(Qt::WA_Maemo5AutoOrientation, true);\r
+#endif\r
+    }\r
+    else\r
+    {\r
+        setLandscapeMode(landscape);\r
+    }\r
+}\r
+\r
+void MainForm::on_actionSort_A_Z_triggered()\r
+{\r
+    settings->setValue(SORT_A_Z, ui->actionSort_A_Z->isChecked());\r
+    MyCheckBoxContainer::getInstance()->setSortAlphabetically(ui->actionSort_A_Z->isChecked());\r
+}\r
+\r
+void MainForm::on_actionLists_triggered()\r
+{\r
+    listForm->saveList();\r
+    changeWidget(2);\r
+}\r
diff --git a/mainform.h b/mainform.h
new file mode 100755 (executable)
index 0000000..d0ab819
--- /dev/null
@@ -0,0 +1,62 @@
+#ifndef MAINFORM_H
+#define MAINFORM_H
+
+#include <QMainWindow>
+#include <QSettings>
+#include <QDebug>
+#include <QDialog>
+#include <QMessageBox>
+#include <QStateMachine>
+#include <QState>
+#include <QAbstractTransition>
+#include <QPropertyAnimation>
+#include <QCloseEvent>
+#include "slidewidget.h"
+#include "listform.h"
+#include "editform.h"
+#include "chooselistform.h"
+#include "systemsettings.h"
+#include "mycheckboxcontainer.h"
+#include "globals.h"
+
+namespace Ui {
+    class MainForm;
+}
+
+class MainForm : public QMainWindow
+{
+    Q_OBJECT
+
+public:
+    explicit MainForm(QWidget *parent = 0);
+    ~MainForm();
+
+    void setLandscapeMode(bool landscape);
+
+public slots:
+    void keyboardClosed(bool closed);
+    void changeWidget(int step);
+    void stateOutFinished();
+private:
+    QSettings *settings;
+    bool landscape;
+    bool tempLandscapeMode;
+    int newIndex;
+    Ui::MainForm *ui;
+
+    ListForm * listForm;
+    EditForm * editForm;
+    ChooseListForm * chooseListForm;
+protected:
+    void closeEvent(QCloseEvent *event);
+
+private slots:
+    void on_actionLists_triggered();
+    void on_actionSort_A_Z_triggered();
+    void on_actionAuto_Orientation_triggered();
+    void on_actionChecked_bottom_triggered();
+    void on_actionAbout_triggered();
+    void on_actionRotate_triggered();
+};
+
+#endif // MAINFORM_H
diff --git a/mainform.ui b/mainform.ui
new file mode 100755 (executable)
index 0000000..dce1e8c
--- /dev/null
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ui version="4.0">\r
+ <class>MainForm</class>\r
+ <widget class="QMainWindow" name="MainForm">\r
+  <property name="geometry">\r
+   <rect>\r
+    <x>0</x>\r
+    <y>0</y>\r
+    <width>800</width>\r
+    <height>480</height>\r
+   </rect>\r
+  </property>\r
+  <property name="windowTitle">\r
+   <string>EasyList - by Willem Liu</string>\r
+  </property>\r
+  <widget class="QWidget" name="centralwidget">\r
+   <layout class="QGridLayout" name="gridLayout">\r
+    <property name="margin">\r
+     <number>0</number>\r
+    </property>\r
+    <property name="spacing">\r
+     <number>0</number>\r
+    </property>\r
+    <item row="0" column="0">\r
+     <widget class="QStackedWidget" name="stackedWidget">\r
+      <property name="currentIndex">\r
+       <number>-1</number>\r
+      </property>\r
+     </widget>\r
+    </item>\r
+   </layout>\r
+  </widget>\r
+  <widget class="QMenuBar" name="menubar">\r
+   <property name="geometry">\r
+    <rect>\r
+     <x>0</x>\r
+     <y>0</y>\r
+     <width>800</width>\r
+     <height>21</height>\r
+    </rect>\r
+   </property>\r
+   <widget class="QMenu" name="menuRotate">\r
+    <property name="title">\r
+     <string>Rotate</string>\r
+    </property>\r
+    <addaction name="actionRotate"/>\r
+   </widget>\r
+   <widget class="QMenu" name="menuAbout">\r
+    <property name="title">\r
+     <string>About</string>\r
+    </property>\r
+    <addaction name="actionAbout"/>\r
+   </widget>\r
+   <widget class="QMenu" name="menuChecked_bottom">\r
+    <property name="title">\r
+     <string>Checked to bottom</string>\r
+    </property>\r
+    <addaction name="actionChecked_bottom"/>\r
+   </widget>\r
+   <widget class="QMenu" name="menuAuto_Orientation">\r
+    <property name="title">\r
+     <string>Auto Orientation</string>\r
+    </property>\r
+    <addaction name="actionAuto_Orientation"/>\r
+   </widget>\r
+   <widget class="QMenu" name="menuSort_A_Z">\r
+    <property name="title">\r
+     <string>Sort A-Z</string>\r
+    </property>\r
+    <addaction name="actionSort_A_Z"/>\r
+   </widget>\r
+   <widget class="QMenu" name="menuList">\r
+    <property name="title">\r
+     <string>Lists...</string>\r
+    </property>\r
+    <addaction name="actionLists"/>\r
+   </widget>\r
+   <addaction name="menuList"/>\r
+   <addaction name="menuAuto_Orientation"/>\r
+   <addaction name="menuSort_A_Z"/>\r
+   <addaction name="menuChecked_bottom"/>\r
+   <addaction name="menuRotate"/>\r
+   <addaction name="menuAbout"/>\r
+  </widget>\r
+  <action name="actionRotate">\r
+   <property name="text">\r
+    <string>Rotate</string>\r
+   </property>\r
+  </action>\r
+  <action name="actionAbout">\r
+   <property name="text">\r
+    <string>About</string>\r
+   </property>\r
+  </action>\r
+  <action name="actionChecked_bottom">\r
+   <property name="checkable">\r
+    <bool>true</bool>\r
+   </property>\r
+   <property name="text">\r
+    <string>Checked to bottom</string>\r
+   </property>\r
+  </action>\r
+  <action name="actionAuto_Orientation">\r
+   <property name="checkable">\r
+    <bool>true</bool>\r
+   </property>\r
+   <property name="text">\r
+    <string>Auto Orientation</string>\r
+   </property>\r
+  </action>\r
+  <action name="actionSort_A_Z">\r
+   <property name="checkable">\r
+    <bool>true</bool>\r
+   </property>\r
+   <property name="text">\r
+    <string>Sort A-Z</string>\r
+   </property>\r
+  </action>\r
+  <action name="actionLists">\r
+   <property name="text">\r
+    <string>Lists...</string>\r
+   </property>\r
+  </action>\r
+ </widget>\r
+ <resources/>\r
+ <connections/>\r
+</ui>\r
diff --git a/mycheckbox.cpp b/mycheckbox.cpp
new file mode 100755 (executable)
index 0000000..303f73c
--- /dev/null
@@ -0,0 +1,65 @@
+#include "mycheckbox.h"\r
+\r
+int MyCheckBox::instances = 0;\r
+\r
+MyCheckBox::MyCheckBox(QWidget *parent) :\r
+    QCheckBox(parent)\r
+{\r
+    ++instances;\r
+    qDebug() << "MyCheckBox instances:" << instances;\r
+    uncheckedColor = palette();\r
+    checkedColor.setColor(QPalette::WindowText, Qt::gray);\r
+\r
+    setContextMenuPolicy(Qt::CustomContextMenu);\r
+    connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenuActivated(QPoint)));\r
+    connect(this, SIGNAL(toggled(bool)), this, SLOT(slotTriggered(bool)));\r
+}\r
+\r
+MyCheckBox::MyCheckBox(const QString & text, QWidget *parent) :\r
+        QCheckBox(text, parent)\r
+{\r
+    ++instances;\r
+    qDebug() << "MyCheckBox instances:" << instances;\r
+\r
+    uncheckedColor = palette();\r
+    checkedColor.setColor(QPalette::WindowText, Qt::gray);\r
+\r
+    setContextMenuPolicy(Qt::CustomContextMenu);\r
+    connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenuActivated(QPoint)));\r
+    connect(this, SIGNAL(toggled(bool)), this, SLOT(slotTriggered(bool)));\r
+}\r
+\r
+MyCheckBox::~MyCheckBox()\r
+{\r
+    --instances;\r
+    qDebug() << "MyCheckBox instances left:" << instances;\r
+}\r
+\r
+void MyCheckBox::slotDeleteClicked()\r
+{\r
+    qDebug() << "Delete clicked";\r
+    emit signalDeleteClicked(this);\r
+}\r
+\r
+void MyCheckBox::slotContextMenuActivated(QPoint point)\r
+{\r
+    qDebug() << "Context menu activated";\r
+    QMenu menu(this);\r
+    menu.addAction(tr("Delete"), this, SLOT(slotDeleteClicked()));\r
+    menu.exec(this->mapToGlobal(point));\r
+}\r
+\r
+void MyCheckBox::slotTriggered(bool checked)\r
+{\r
+    if(checked)\r
+    {\r
+        setPalette(checkedColor);\r
+    }\r
+    else\r
+    {\r
+        setPalette(uncheckedColor);\r
+    }\r
+    QFont f(font());\r
+    f.setStrikeOut(checked);\r
+    setFont(f);\r
+}\r
diff --git a/mycheckbox.h b/mycheckbox.h
new file mode 100755 (executable)
index 0000000..6eac640
--- /dev/null
@@ -0,0 +1,29 @@
+#ifndef MYCHECKBOX_H
+#define MYCHECKBOX_H
+
+#include <QCheckBox>
+#include <QDebug>
+#include <QMenu>
+#include <QObject>
+
+class MyCheckBox : public QCheckBox
+{
+    Q_OBJECT
+public:
+    MyCheckBox(QWidget *parent = 0);
+    MyCheckBox(const QString & text, QWidget *parent = 0);
+    virtual ~MyCheckBox();
+private:
+    static int instances;
+
+    QPalette checkedColor;
+    QPalette uncheckedColor;
+signals:
+    void signalDeleteClicked(MyCheckBox * myCheckBox);
+public slots:
+    void slotContextMenuActivated(QPoint point);
+    void slotDeleteClicked();
+    void slotTriggered(bool checked);
+};
+
+#endif // MYCHECKBOX_H
diff --git a/mycheckboxcontainer.cpp b/mycheckboxcontainer.cpp
new file mode 100755 (executable)
index 0000000..130cd0a
--- /dev/null
@@ -0,0 +1,222 @@
+#include "mycheckboxcontainer.h"\r
+\r
+MyCheckBoxContainer * MyCheckBoxContainer::instance = 0;\r
+int MyCheckBoxContainer::instances = 0;\r
+\r
+MyCheckBoxContainer::MyCheckBoxContainer()\r
+{\r
+    ++instances;\r
+    qDebug() << "MyCheckBoxContainer instances:" << instances;\r
+    sortToBottom = false;\r
+    sortAlphabetically = false;\r
+}\r
+\r
+MyCheckBoxContainer::~MyCheckBoxContainer()\r
+{\r
+    --instances;\r
+    qDebug() << "MyCheckBoxContainer instances left:" << instances;\r
+    clear();\r
+}\r
+\r
+MyCheckBoxContainer * MyCheckBoxContainer::getInstance()\r
+{\r
+    if(instance == 0)\r
+    {\r
+        instance = new MyCheckBoxContainer();\r
+    }\r
+    return instance;\r
+}\r
+\r
+void MyCheckBoxContainer::add(QString item)\r
+{\r
+    QStringList list = item.split("\n");\r
+    QStringList list2;\r
+    if(sortAlphabetically)\r
+    {\r
+        list2.append(list.takeFirst());\r
+        int listSize = list.size();\r
+        int pos = 0;\r
+        bool inserted = false;\r
+        for(int i = 0; i < listSize; ++i)\r
+        {\r
+            inserted = false;\r
+            int list2Size = list2.size();\r
+            for(int j = 0; j < list2Size; ++j)\r
+            {\r
+                pos = j;\r
+                if(list[i].toUpper() < list2[j].toUpper())\r
+                {\r
+                    list2.insert(pos, list[i]);\r
+                    inserted = true;\r
+                    break;\r
+                }\r
+            }\r
+            if(inserted == false)\r
+            {\r
+                list2.append(list[i]);\r
+            }\r
+        }\r
+        list = list2;\r
+    }\r
+    qDebug() << "list" << list;\r
+    foreach(QString item, list)\r
+    {\r
+        if(item.length() > 0)\r
+        {\r
+            MyCheckBox * checkBox;\r
+            if(item.startsWith("!"))\r
+            {\r
+                checkBox = new MyCheckBox(item.right(item.length()-1));\r
+                checkBox->setChecked(true);\r
+            }\r
+            else\r
+            {\r
+                checkBox = new MyCheckBox(item);\r
+            }\r
+            connect(checkBox, SIGNAL(clicked()), this, SLOT(clickedAction()));\r
+            checkBoxes.append(checkBox);\r
+        }\r
+    }\r
+    sortCheckedToBottom();\r
+}\r
+\r
+void MyCheckBoxContainer::set(QString item)\r
+{\r
+    clear();\r
+    add(item);\r
+}\r
+\r
+void MyCheckBoxContainer::clear()\r
+{\r
+    foreach(MyCheckBox * item, checkBoxes)\r
+    {\r
+        item->setParent(0);\r
+        item->deleteLater();\r
+    }\r
+    checkBoxes.clear();\r
+}\r
+\r
+void MyCheckBoxContainer::sortCheckedToBottom()\r
+{\r
+    if(sortToBottom)\r
+    {\r
+        qDebug() << "Sort checked to bottom";\r
+        QList<MyCheckBox * > tempList;\r
+        QList<MyCheckBox * > tempListChecked;\r
+        foreach(MyCheckBox * item, checkBoxes)\r
+        {\r
+            if(item->isChecked())\r
+            {\r
+                if(sortAlphabetically)\r
+                {\r
+                    int size = tempListChecked.size();\r
+                    int pos = 0;\r
+                    for(pos = 0; pos < size; ++pos)\r
+                    {\r
+                        if(tempListChecked[pos]->text().toUpper() > item->text().toUpper())\r
+                        {\r
+                            break;\r
+                        }\r
+                    }\r
+                    tempListChecked.insert(pos, item);\r
+                }\r
+                else\r
+                {\r
+                    tempListChecked.append(item);\r
+                }\r
+            }\r
+            else\r
+            {\r
+                if(sortAlphabetically)\r
+                {\r
+                    int size = tempList.size();\r
+                    int pos = 0;\r
+                    for(pos = 0; pos < size; ++pos)\r
+                    {\r
+                        if(tempList[pos]->text().toUpper() > item->text().toUpper())\r
+                        {\r
+                            break;\r
+                        }\r
+                    }\r
+                    tempList.insert(pos, item);\r
+                }\r
+                else\r
+                {\r
+                    tempList.append(item);\r
+                }\r
+            }\r
+        }\r
+        checkBoxes.clear();\r
+        checkBoxes.append(tempList);\r
+        checkBoxes.append(tempListChecked);\r
+    }\r
+    emit signalSorted();\r
+}\r
+\r
+QList<MyCheckBox * > const & MyCheckBoxContainer::getCheckBoxes()\r
+{\r
+    return checkBoxes;\r
+}\r
+\r
+QString MyCheckBoxContainer::getListText()\r
+{\r
+    QString listText("");\r
+    foreach(MyCheckBox * item, checkBoxes)\r
+    {\r
+        if(item->isChecked())\r
+        {\r
+            listText.append("!");\r
+        }\r
+        listText.append(item->text());\r
+        listText.append("\n");\r
+    }\r
+    return listText;\r
+}\r
+\r
+void MyCheckBoxContainer::uncheckAll()\r
+{\r
+    foreach(MyCheckBox * item, checkBoxes)\r
+    {\r
+        item->setChecked(false);\r
+    }\r
+    if(sortAlphabetically)\r
+    {\r
+        set(getListText());\r
+    }\r
+}\r
+\r
+void MyCheckBoxContainer::removeChecked()\r
+{\r
+    QMutableListIterator<MyCheckBox * > i(checkBoxes);\r
+    while (i.hasNext())\r
+    {\r
+        MyCheckBox * item = i.next();\r
+        if (item->isChecked())\r
+        {\r
+            item->setParent(0);\r
+            item->deleteLater();\r
+            i.remove();\r
+        }\r
+    }\r
+}\r
+\r
+void MyCheckBoxContainer::setSortCheckedToBottom(bool sortToBottom)\r
+{\r
+    this->sortToBottom = sortToBottom;\r
+    sortCheckedToBottom();\r
+}\r
+\r
+void MyCheckBoxContainer::setSortAlphabetically(bool sortAlphabetically)\r
+{\r
+    this->sortAlphabetically = sortAlphabetically;\r
+    if(sortAlphabetically)\r
+    {\r
+        set(getListText());\r
+    }\r
+}\r
+\r
+void MyCheckBoxContainer::clickedAction()\r
+{\r
+    qDebug() << "Clicked a MyCheckBox";\r
+    sortCheckedToBottom();\r
+}\r
diff --git a/mycheckboxcontainer.h b/mycheckboxcontainer.h
new file mode 100755 (executable)
index 0000000..91f3de6
--- /dev/null
@@ -0,0 +1,46 @@
+#ifndef MYCHECKBOXCONTAINER_H\r
+#define MYCHECKBOXCONTAINER_H\r
+\r
+#include <QString>\r
+#include <QList>\r
+#include <QObject>\r
+#include <QLayout>\r
+#include <QVBoxLayout>\r
+#include "mycheckbox.h"\r
+\r
+class MyCheckBoxContainer : public QObject\r
+{\r
+    Q_OBJECT\r
+public:\r
+    QList<MyCheckBox * > const & getCheckBoxes();\r
+    QString getListText();\r
+\r
+    virtual ~MyCheckBoxContainer();\r
+    static MyCheckBoxContainer * getInstance();\r
+\r
+    void add(QString item);\r
+    void set(QString item);\r
+    void clear();\r
+    void uncheckAll();\r
+    void removeChecked();\r
+    void setSortCheckedToBottom(bool sortToBottom);\r
+    void setSortAlphabetically(bool sortAlphabetically);\r
+    void sortCheckedToBottom();\r
+\r
+private:\r
+    QList<MyCheckBox * > checkBoxes;\r
+    static MyCheckBoxContainer * instance;\r
+    static int instances;\r
+\r
+    bool sortToBottom;\r
+    bool sortAlphabetically;\r
+\r
+    MyCheckBoxContainer();\r
+signals:\r
+    void signalSorted();\r
+public slots:\r
+    void clickedAction();\r
+\r
+};\r
+\r
+#endif // MYCHECKBOXCONTAINER_H\r
diff --git a/qtc_packaging/debian_fremantle/README b/qtc_packaging/debian_fremantle/README
new file mode 100755 (executable)
index 0000000..3cb52fa
--- /dev/null
@@ -0,0 +1,6 @@
+The Debian Package easylist
+----------------------------
+
+Comments regarding the Package
+
+ -- Willem Liu <willem.liu@gmail.com>  Sat, 26 Mar 2011 11:17:23 +0100
diff --git a/qtc_packaging/debian_fremantle/changelog b/qtc_packaging/debian_fremantle/changelog
new file mode 100755 (executable)
index 0000000..ec40c3c
--- /dev/null
@@ -0,0 +1,133 @@
+easylist (0.3.23) unstable; urgency=low
+
+  * Added prompt when clicked Uncheck All.
+
+ -- Willem Liu <willem.liu@gmail.com>  Sat, 26 Mar 2011 11:17:23 +0100
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Now the list is also saved under its list name.
+
+ -- Willem Liu <willem.liu@gmail.com>  Sat, 26 Mar 2011 11:17:23 +0100
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Repackaged to reduce package size.
+
+ -- Willem Liu <willem.liu@gmail.com>  Thu, 26 Oct 2010 18:08:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Repackaged to reduce package size.
+
+ -- Willem Liu <willem.liu@gmail.com>  Thu, 26 Oct 2010 18:06:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Added warning message box when clear checked message is pressed.
+
+ -- Willem Liu <willem.liu@gmail.com>  Thu, 26 Oct 2010 17:47:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Fixed bug when saving to a list template with empty name causes all lists to disappear.
+
+ -- Willem Liu <willem.liu@gmail.com>  Thu, 21 Oct 2010 19:19:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Fixed minor bug. Switching to Lists... view didn't save current list item states.
+  * Added notification when saving list as template.
+
+ -- Willem Liu <willem.liu@gmail.com>  Thu, 21 Oct 2010 19:19:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Support for multiple lists.
+  * Changed order of menu items.
+
+ -- Willem Liu <willem.liu@gmail.com>  Thu, 21 Oct 2010 00:05:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Changed control description.
+
+ -- Willem Liu <willem.liu@gmail.com>  Tue, 07 Sep 2010 13:56:12 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Changed changelog to include all previous version changes.
+
+ -- Willem Liu <willem.liu@gmail.com>  Tue, 07 Sep 2010 13:56:12 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Fixed sorting problem.
+
+ -- Willem Liu <willem.liu@gmail.com>  Thu, 29 Sep 2010 03:12:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Fixed Sort A-Z bug. Caused list to disappear when turned on with option "Checked To Bottom" turned off.
+
+ -- Willem Liu <willem.liu@gmail.com>  Thu, 29 Sep 2010 03:11:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Alphabetical sorting now ignores case.
+  * Checked items now have grey text instead of white and are striked through.
+
+ -- Willem Liu <willem.liu@gmail.com>  Tue, 28 Sep 2010 17:12:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Alphabetical sorting now possible.
+  * Label "Checked bottom" changed to "Checked to bottom".
+  * Automatic display orientation detection now possible.
+
+ -- Willem Liu <willem.liu@gmail.com>  Sun, 26 Sep 2010 17:43:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Significantly changed the source code.
+  * Divided in multiple classes.
+  * Using QStackedWidget now for the multiple views.
+  * Added uncheck all button.
+
+ -- Willem Liu <willem.liu@gmail.com>  Wed, 22 Sep 2010 22:46:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Now supports sorting checked items to bottom of the list.
+
+ -- Willem Liu <willem.liu@gmail.com>  Thu, 16 Sep 2010 13:43:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Willem Liu <willem.liu@gmail.com>  Tue, 07 Sep 2010 11:56:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Changed binary version number.
+
+ -- Willem Liu <willem.liu@gmail.com>  Tue, 07 Sep 2010 11:56:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Added optify file.
+
+ -- Willem Liu <willem.liu@gmail.com>  Tue, 07 Sep 2010 11:56:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Willem Liu <willem.liu@gmail.com>  Tue, 07 Sep 2010 11:56:00 +0200
+
+easylist (0.3.23) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Willem Liu <willem.liu@gmail.com>  Tue, 07 Sep 2010 11:56:00 +0200
diff --git a/qtc_packaging/debian_fremantle/compat b/qtc_packaging/debian_fremantle/compat
new file mode 100755 (executable)
index 0000000..7f8f011
--- /dev/null
@@ -0,0 +1 @@
+7
diff --git a/qtc_packaging/debian_fremantle/control b/qtc_packaging/debian_fremantle/control
new file mode 100755 (executable)
index 0000000..0253815
--- /dev/null
@@ -0,0 +1,20 @@
+Source: easylist
+Section: user/utilities
+Priority: optional
+Maintainer: Willem Liu <willem.liu@gmail.com>
+Build-Depends: debhelper (>= 5), libqt4-dev, autotools-dev, libhildon1 (>= 2.2)
+Standards-Version: 3.7.3
+Homepage: http://gitorious.com/easylist
+
+Package: easylist
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Simple Check list app.
+ With this app you can enter text in a text area. Each new line is interpreted
+ as a new checkbox item. The app supports portrait as well as landscape
+ orientation. The app can sort checked items to the bottom and/or from A-Z.
+ As a bonus it has a nice slide up/down transition effect when switching
+ between List view and Edit list view modes. Multiple lists is supported.
+XSBC-Maemo-Display-Name: EasyList
+XSBC-Bugtracker: mailto:willem.liu@gmail.com
+XB-Maemo-Icon-26: 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
diff --git a/qtc_packaging/debian_fremantle/copyright b/qtc_packaging/debian_fremantle/copyright
new file mode 100755 (executable)
index 0000000..2beb900
--- /dev/null
@@ -0,0 +1,38 @@
+This package was debianized by Willem Liu <willem.liu@gmail.com> on
+Sat, 26 Mar 2011 11:17:23 +0100.
+
+It was downloaded from <url://example.com>
+
+Upstream Author(s):
+
+    Willem Liu <willem.liu@gmail.com
+
+Copyright:
+
+    <Copyright (C) 2011 Willem Liu>
+
+License:
+
+    This package is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This package is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this package; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
+
+The Debian packaging is (C) 2011, Willem Liu <willem.liu@gmail.com> and
+is licensed under the GPL, see above.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
diff --git a/qtc_packaging/debian_fremantle/rules b/qtc_packaging/debian_fremantle/rules
new file mode 100755 (executable)
index 0000000..f837571
--- /dev/null
@@ -0,0 +1,91 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+
+
+
+configure: configure-stamp
+configure-stamp:
+       dh_testdir
+       # Add here commands to configure the package.
+
+       touch configure-stamp
+
+
+build: build-stamp
+
+build-stamp: configure-stamp  
+       dh_testdir
+
+       # Add here commands to compile the package.
+       qmake
+       $(MAKE)
+       #docbook-to-man debian/easylist.sgml > easylist.1
+
+       touch $@
+
+clean: 
+       dh_testdir
+       dh_testroot
+       rm -f build-stamp configure-stamp
+
+       # Add here commands to clean up after the build process.
+
+       dh_clean 
+
+install: build
+       dh_testdir
+       dh_testroot
+       dh_clean -k 
+       dh_installdirs
+
+       # Add here commands to install the package into debian/easylist.
+       $(MAKE) INSTALL_ROOT="$(CURDIR)"/debian/easylist install
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs 
+       dh_installdocs
+       dh_installexamples
+#      dh_install
+#      dh_installmenu
+#      dh_installdebconf       
+#      dh_installlogrotate
+#      dh_installemacsen
+#      dh_installpam
+#      dh_installmime
+#      dh_python
+#      dh_installinit
+#      dh_installcron
+#      dh_installinfo
+       dh_installman
+       dh_link
+       # dh_strip
+       dh_compress
+       dh_fixperms
+#      dh_perl
+#      dh_makeshlibs
+       dh_installdeb
+       # dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/slidewidget.cpp b/slidewidget.cpp
new file mode 100755 (executable)
index 0000000..9cb5661
--- /dev/null
@@ -0,0 +1,66 @@
+#include "slidewidget.h"\r
+\r
+SlideWidget::SlideWidget(QWidget *parent) :\r
+    QWidget(parent)\r
+{\r
+    initStates();\r
+\r
+    QAbstractTransition * t1 = stateIn.addTransition(this, SIGNAL(signalDoStateOut()), &stateOut);\r
+    QAbstractTransition * t2 = stateOut.addTransition(this, SIGNAL(signalDoStateIn()), &stateIn);\r
+\r
+    t1->addAnimation(&animPosOut);\r
+    t2->addAnimation(&animPosIn);\r
+\r
+    connect(&animPosIn, SIGNAL(finished()), this, SIGNAL(signalTransitionInFinished()));\r
+    connect(&animPosIn, SIGNAL(finished()), this, SLOT(slotStateInFinished()));\r
+    connect(&animPosOut, SIGNAL(finished()), this, SIGNAL(signalTransitionOutFinished()));\r
+    connect(&animPosOut, SIGNAL(finished()), this, SLOT(slotStateOutFinished()));\r
+\r
+    machine.addState(&stateIn);\r
+    machine.addState(&stateOut);\r
+    machine.setInitialState(&stateOut);\r
+    machine.start();\r
+}\r
+\r
+SlideWidget::~SlideWidget()\r
+{\r
+}\r
+\r
+void SlideWidget::initStates()\r
+{\r
+    animPosIn.setTargetObject(this);\r
+    animPosIn.setPropertyName("pos");\r
+    animPosIn.setDuration(500);\r
+    animPosIn.setEasingCurve(QEasingCurve::OutExpo);\r
+\r
+    animPosOut.setTargetObject(this);\r
+    animPosOut.setPropertyName("pos");\r
+    animPosOut.setDuration(500);\r
+    animPosOut.setEasingCurve(QEasingCurve::OutExpo);\r
+\r
+    stateIn.assignProperty(this, "pos", QPoint(0, 0));\r
+\r
+    stateOut.assignProperty(this, "pos", QPoint(0, -this->height()));\r
+}\r
+\r
+void SlideWidget::setStateIn()\r
+{\r
+    qDebug() << "State In";\r
+    emit signalDoStateIn();\r
+}\r
+\r
+void SlideWidget::setStateOut()\r
+{\r
+    qDebug() << "State Out";\r
+    emit signalDoStateOut();\r
+}\r
+\r
+void SlideWidget::slotStateInFinished()\r
+{\r
+    qDebug() << "State in finished" << pos();\r
+}\r
+\r
+void SlideWidget::slotStateOutFinished()\r
+{\r
+    qDebug() << "State out finished" << pos();\r
+}\r
diff --git a/slidewidget.h b/slidewidget.h
new file mode 100755 (executable)
index 0000000..e219ceb
--- /dev/null
@@ -0,0 +1,47 @@
+#ifndef SLIDEWIDGET_H
+#define SLIDEWIDGET_H
+
+#include <QStateMachine>
+#include <QState>
+#include <QPropertyAnimation>
+#include <QAbstractTransition>
+#include <QtCore>
+#include <QWidget>
+#include <QPoint>
+#include <QDebug>
+
+class SlideWidget : public QWidget
+{
+    Q_OBJECT
+public:
+    explicit SlideWidget(QWidget *parent = 0);
+    virtual ~SlideWidget();
+
+    virtual void shown() = 0;
+
+    void initStates();
+
+    void setStateIn();
+    void setStateOut();
+
+private:
+    QStateMachine machine;
+    QState stateIn;
+    QState stateOut;
+
+    QPropertyAnimation animPosIn;
+    QPropertyAnimation animPosOut;
+
+protected:
+
+signals:
+    void signalDoStateIn();
+    void signalDoStateOut();
+    void signalTransitionOutFinished();
+    void signalTransitionInFinished();
+public slots:
+    void slotStateInFinished();
+    void slotStateOutFinished();
+};
+
+#endif // SLIDEWIDGET_H
diff --git a/src/data/26x26/easylist.png b/src/data/26x26/easylist.png
deleted file mode 100755 (executable)
index 1f9c0a9..0000000
Binary files a/src/data/26x26/easylist.png and /dev/null differ
diff --git a/src/data/40x40/easylist.png b/src/data/40x40/easylist.png
deleted file mode 100755 (executable)
index faf6978..0000000
Binary files a/src/data/40x40/easylist.png and /dev/null differ
diff --git a/src/data/48x48/easylist.png b/src/data/48x48/easylist.png
deleted file mode 100755 (executable)
index 4bdcc11..0000000
Binary files a/src/data/48x48/easylist.png and /dev/null differ
diff --git a/src/data/64x64/easylist.png b/src/data/64x64/easylist.png
deleted file mode 100755 (executable)
index 8ff8dea..0000000
Binary files a/src/data/64x64/easylist.png and /dev/null differ
diff --git a/src/easylist.desktop b/src/easylist.desktop
deleted file mode 100755 (executable)
index d0c8e55..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Version=1.0
-Type=Application
-Name=EasyList
-Exec=/opt/easylist/bin/easylist
-Icon=easylist
-StartupWMClass=easylist
-X-Window-Icon=easylist
-X-HildonDesk-ShowInToolbar=true
-X-Osso-Type=application/x-executable
-Terminal=false
-
diff --git a/src/editform.cpp b/src/editform.cpp
deleted file mode 100755 (executable)
index a5dc6e5..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "editform.h"\r
-#include "ui_editform.h"\r
-\r
-EditForm::EditForm(QWidget *parent) :\r
-    SlideWidget(parent),\r
-    ui(new Ui::EditForm)\r
-{\r
-    ui->setupUi(this);\r
-    settings = new QSettings(WILLEM_LIU, EASY_LIST);\r
-    shown();\r
-}\r
-\r
-EditForm::~EditForm()\r
-{\r
-    delete ui;\r
-}\r
-\r
-void EditForm::shown()\r
-{\r
-    ui->textEdit->setText(MyCheckBoxContainer::getInstance()->getListText());\r
-    ui->textEdit->setFocus(Qt::ActiveWindowFocusReason);\r
-}\r
-\r
-void EditForm::on_savePushButton_clicked()\r
-{\r
-    qDebug() << "Save";\r
-    settings->setValue(LIST_TEXT, ui->textEdit->toPlainText());\r
-    emit signalNavigate(0);\r
-}\r
-\r
-void EditForm::on_cancelPushButton_clicked()\r
-{\r
-    qDebug() << "Cancel";\r
-    emit signalNavigate(0);\r
-}\r
diff --git a/src/editform.h b/src/editform.h
deleted file mode 100755 (executable)
index 80225c9..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef EDITFORM_H\r
-#define EDITFORM_H\r
-\r
-#include <QWidget>\r
-#include <QDebug>\r
-#include <QSettings>\r
-#include "mycheckboxcontainer.h"\r
-#include "slidewidget.h"\r
-#include "globals.h"\r
-\r
-namespace Ui {\r
-    class EditForm;\r
-}\r
-\r
-class EditForm : public SlideWidget\r
-{\r
-    Q_OBJECT\r
-\r
-public:\r
-    explicit EditForm(QWidget *parent = 0);\r
-    ~EditForm();\r
-\r
-    virtual void shown();\r
-\r
-private:\r
-    Ui::EditForm *ui;\r
-\r
-    QSettings * settings;\r
-\r
-signals:\r
-    void signalNavigate(int step);\r
-\r
-private slots:\r
-    void on_cancelPushButton_clicked();\r
-    void on_savePushButton_clicked();\r
-};\r
-\r
-#endif // EDITFORM_H\r
diff --git a/src/editform.ui b/src/editform.ui
deleted file mode 100755 (executable)
index 12869bb..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<ui version="4.0">\r
- <class>EditForm</class>\r
- <widget class="QWidget" name="EditForm">\r
-  <property name="geometry">\r
-   <rect>\r
-    <x>0</x>\r
-    <y>0</y>\r
-    <width>400</width>\r
-    <height>300</height>\r
-   </rect>\r
-  </property>\r
-  <property name="windowTitle">\r
-   <string>Form</string>\r
-  </property>\r
-  <layout class="QGridLayout" name="gridLayout">\r
-   <property name="margin">\r
-    <number>0</number>\r
-   </property>\r
-   <property name="spacing">\r
-    <number>0</number>\r
-   </property>\r
-   <item row="1" column="0">\r
-    <layout class="QHBoxLayout" name="horizontalLayout">\r
-     <property name="spacing">\r
-      <number>0</number>\r
-     </property>\r
-     <item>\r
-      <widget class="QPushButton" name="savePushButton">\r
-       <property name="text">\r
-        <string>Save</string>\r
-       </property>\r
-      </widget>\r
-     </item>\r
-     <item>\r
-      <widget class="QPushButton" name="cancelPushButton">\r
-       <property name="text">\r
-        <string>Cancel</string>\r
-       </property>\r
-      </widget>\r
-     </item>\r
-    </layout>\r
-   </item>\r
-   <item row="0" column="0">\r
-    <layout class="QGridLayout" name="gridLayout_2">\r
-     <item row="0" column="0">\r
-      <widget class="QTextEdit" name="textEdit"/>\r
-     </item>\r
-    </layout>\r
-   </item>\r
-  </layout>\r
- </widget>\r
- <resources/>\r
- <connections/>\r
-</ui>\r
diff --git a/src/globals.h b/src/globals.h
deleted file mode 100755 (executable)
index 5b5dd9c..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef GLOBALS_H\r
-#define GLOBALS_H\r
-\r
-#define WILLEM_LIU "WillemLiu"\r
-#define EASY_LIST "easylist"\r
-#define LIST_TEXT "ListText"\r
-#define LIST_NAMES "ListName"\r
-#define DBUS_KEYBOARD_SLIDE "/org/freedesktop/Hal/devices/platform_slide"\r
-#define CHECKED_ITEMS_TO_BOTTOM "CheckedItemsToBottom"\r
-#define LANDSCAPE "Landscape"\r
-#define PORTRAIT "Portrait"\r
-#define AUTO_ORIENTATION "AutoOrientation"\r
-#define LIST_TEXT "ListText"\r
-#define SORT_A_Z "SortAlphabetically"\r
-\r
-static const int BACK = 0;\r
-static const int FORWARD = 1;\r
-\r
-#endif // GLOBALS_H\r
diff --git a/src/listform.cpp b/src/listform.cpp
deleted file mode 100755 (executable)
index d73e362..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-#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
-}\r
-\r
-void ListForm::on_uncheckAllPushButton_clicked()\r
-{\r
-    MyCheckBoxContainer::getInstance()->uncheckAll();\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
-    }\r
-}\r
-\r
diff --git a/src/listform.h b/src/listform.h
deleted file mode 100755 (executable)
index 2fdde5c..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef LISTFORM_H\r
-#define LISTFORM_H\r
-\r
-#include <QWidget>\r
-#include <QSettings>\r
-#include <QMessageBox>\r
-#include "mycheckboxcontainer.h"\r
-#include "systemsettings.h"\r
-#include "slidewidget.h"\r
-#include "globals.h"\r
-\r
-namespace Ui {\r
-    class ListForm;\r
-}\r
-\r
-class ListForm : public SlideWidget\r
-{\r
-    Q_OBJECT\r
-\r
-public:\r
-    explicit ListForm(QWidget *parent = 0);\r
-    ~ListForm();\r
-\r
-    virtual void shown();\r
-    virtual void saveList();\r
-\r
-private:\r
-    QSettings * settings;\r
-\r
-    Ui::ListForm *ui;\r
-signals:\r
-    void signalNavigate(int step);\r
-\r
-private slots:\r
-    void on_clearCheckedPushButton_clicked();\r
-    void on_uncheckAllPushButton_clicked();\r
-    void on_editListPushButton_clicked();\r
-    void addCheckBoxes();\r
-};\r
-\r
-#endif // LISTFORM_H\r
diff --git a/src/listform.ui b/src/listform.ui
deleted file mode 100755 (executable)
index b7c4d31..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<ui version="4.0">\r
- <class>ListForm</class>\r
- <widget class="QWidget" name="ListForm">\r
-  <property name="geometry">\r
-   <rect>\r
-    <x>0</x>\r
-    <y>0</y>\r
-    <width>400</width>\r
-    <height>300</height>\r
-   </rect>\r
-  </property>\r
-  <property name="windowTitle">\r
-   <string>Form</string>\r
-  </property>\r
-  <layout class="QGridLayout" name="gridLayout">\r
-   <property name="margin">\r
-    <number>0</number>\r
-   </property>\r
-   <property name="spacing">\r
-    <number>0</number>\r
-   </property>\r
-   <item row="1" column="0">\r
-    <layout class="QHBoxLayout" name="horizontalLayout">\r
-     <property name="spacing">\r
-      <number>0</number>\r
-     </property>\r
-     <item>\r
-      <widget class="QPushButton" name="editListPushButton">\r
-       <property name="text">\r
-        <string>Edit list</string>\r
-       </property>\r
-      </widget>\r
-     </item>\r
-     <item>\r
-      <widget class="QPushButton" name="uncheckAllPushButton">\r
-       <property name="text">\r
-        <string>Uncheck all</string>\r
-       </property>\r
-      </widget>\r
-     </item>\r
-     <item>\r
-      <widget class="QPushButton" name="clearCheckedPushButton">\r
-       <property name="text">\r
-        <string>Clear checked</string>\r
-       </property>\r
-      </widget>\r
-     </item>\r
-    </layout>\r
-   </item>\r
-   <item row="0" column="0">\r
-    <layout class="QGridLayout" name="gridLayout_2">\r
-     <item row="0" column="0">\r
-      <widget class="QScrollArea" name="scrollArea">\r
-       <property name="widgetResizable">\r
-        <bool>true</bool>\r
-       </property>\r
-       <property name="alignment">\r
-        <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>\r
-       </property>\r
-       <widget class="QWidget" name="scrollAreaWidgetContents">\r
-        <property name="geometry">\r
-         <rect>\r
-          <x>0</x>\r
-          <y>0</y>\r
-          <width>396</width>\r
-          <height>271</height>\r
-         </rect>\r
-        </property>\r
-        <layout class="QGridLayout" name="gridLayout_3">\r
-         <property name="margin">\r
-          <number>0</number>\r
-         </property>\r
-         <property name="spacing">\r
-          <number>0</number>\r
-         </property>\r
-         <item row="0" column="0">\r
-          <layout class="QVBoxLayout" name="checkBoxVerticalLayout">\r
-           <property name="spacing">\r
-            <number>0</number>\r
-           </property>\r
-          </layout>\r
-         </item>\r
-        </layout>\r
-       </widget>\r
-      </widget>\r
-     </item>\r
-    </layout>\r
-   </item>\r
-  </layout>\r
- </widget>\r
- <resources/>\r
- <connections/>\r
-</ui>\r
diff --git a/src/main.cpp b/src/main.cpp
deleted file mode 100755 (executable)
index 0c1875d..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-/*\r
- *  Copyright (c) 2010 Willem Liu\r
- *\r
- *  Permission is hereby granted, free of charge, to any person obtaining a copy\r
- *  of this software and associated documentation files (the "Software"), to deal\r
- *  in the Software without restriction, including without limitation the rights\r
- *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
- *  copies of the Software, and to permit persons to whom the Software is\r
- *  furnished to do so, subject to the following conditions:\r
- *\r
- *  The above copyright notice and this permission notice shall be included in\r
- *  all copies or substantial portions of the Software.\r
- *\r
- *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
- *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
- *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
- *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
- *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
- *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
- *  THE SOFTWARE.\r
- */\r
-\r
-#include <QtGui/QApplication>\r
-#include "mainform.h"\r
-\r
-int main(int argc, char *argv[])\r
-{\r
-    QApplication a(argc, argv);\r
-    MainForm w;\r
-\r
-#if defined(Q_WS_S60)\r
-    w.showMaximized();\r
-#else\r
-    w.show();\r
-#endif\r
-\r
-    return a.exec();\r
-}\r
diff --git a/src/mainform.cpp b/src/mainform.cpp
deleted file mode 100755 (executable)
index d46c425..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-#include "mainform.h"\r
-#include "ui_mainform.h"\r
-\r
-MainForm::MainForm(QWidget *parent) :\r
-    QMainWindow(parent),\r
-    ui(new Ui::MainForm)\r
-{\r
-    ui->setupUi(this);\r
-    settings = new QSettings(WILLEM_LIU, EASY_LIST);\r
-\r
-    newIndex = 0;\r
-    connect(SystemSettings::getInstance(), SIGNAL(signalKeyboardClosed(bool)), this, SLOT(keyboardClosed(bool)));\r
-\r
-    ui->actionAuto_Orientation->setChecked(settings->value(AUTO_ORIENTATION).toBool());\r
-    on_actionAuto_Orientation_triggered();\r
-\r
-    ui->actionSort_A_Z->setChecked(settings->value(SORT_A_Z).toBool());\r
-    on_actionSort_A_Z_triggered();\r
-\r
-    // Set a default value for CHECKED_ITEMS_TO_BOTTOM\r
-    if(settings->contains(CHECKED_ITEMS_TO_BOTTOM) == false)\r
-    {\r
-        settings->setValue(CHECKED_ITEMS_TO_BOTTOM, false);\r
-    }\r
-    ui->actionChecked_bottom->setChecked(settings->value(CHECKED_ITEMS_TO_BOTTOM).toBool());\r
-    on_actionChecked_bottom_triggered();\r
-\r
-    // Create a default for landscape mode.\r
-    landscape = settings->value(LANDSCAPE).toBool();\r
-    // If LANDSCAPE exists in QSettings.\r
-    if(settings->contains(LANDSCAPE))\r
-    {\r
-        // We use the LANDSCAPE value in the QSettings.\r
-        landscape = settings->value(LANDSCAPE).toBool();\r
-    }\r
-    else\r
-    {\r
-        // Otherwise we set our default into the QSettings.\r
-        settings->setValue(LANDSCAPE, landscape);\r
-    }\r
-    // If keyboard is opened at start. We do landscape mode.\r
-    // Otherwise we do what's read from the QSettings.\r
-    if(ui->actionAuto_Orientation->isChecked() == false)\r
-    {\r
-        if(SystemSettings::getInstance()->getKeyboardClosed() == false)\r
-        {\r
-            setLandscapeMode(true);\r
-        }\r
-        else\r
-        {\r
-            setLandscapeMode(landscape);\r
-        }\r
-    }\r
-\r
-    // Populate the QStackedWidget. ListForm is set as the current widget.\r
-    listForm = new ListForm(this);\r
-    editForm = new EditForm(this);\r
-    chooseListForm = new ChooseListForm(this);\r
-\r
-    connect(listForm, SIGNAL(signalTransitionOutFinished()), this, SLOT(stateOutFinished()));\r
-    connect(listForm, SIGNAL(signalNavigate(int)), this, SLOT(changeWidget(int)));\r
-\r
-    connect(editForm, SIGNAL(signalTransitionOutFinished()), this, SLOT(stateOutFinished()));\r
-    connect(editForm, SIGNAL(signalNavigate(int)), this, SLOT(changeWidget(int)));\r
-\r
-    connect(chooseListForm, SIGNAL(signalTransitionOutFinished()), this, SLOT(stateOutFinished()));\r
-    connect(chooseListForm, SIGNAL(signalNavigate(int)), this, SLOT(changeWidget(int)));\r
-\r
-    ui->stackedWidget->addWidget(listForm);\r
-    ui->stackedWidget->addWidget(editForm);\r
-    ui->stackedWidget->addWidget(chooseListForm);\r
-    ui->stackedWidget->setCurrentWidget(listForm);\r
-}\r
-\r
-MainForm::~MainForm()\r
-{\r
-    delete ui;\r
-}\r
-\r
-void MainForm::stateOutFinished()\r
-{\r
-    qDebug() << "Show new widget" << newIndex;\r
-    ui->stackedWidget->setCurrentIndex(newIndex);\r
-    SlideWidget * newWidget = dynamic_cast<SlideWidget * >(ui->stackedWidget->currentWidget());\r
-    newWidget->move(0, -newWidget->height());\r
-    newWidget->setStateIn();\r
-    newWidget->shown();\r
-}\r
-\r
-void MainForm::changeWidget(int step)\r
-{\r
-    SlideWidget * currentWidget = dynamic_cast<SlideWidget * >(ui->stackedWidget->currentWidget());\r
-    currentWidget->initStates();\r
-    int currentIndex = ui->stackedWidget->indexOf(currentWidget);\r
-    // Because all widgets are started with StateOut as initial state, we\r
-    // need to reset the current widget to StateIn. The view is showing the\r
-    // current widget at the place of its StateIn position. But the state\r
-    // is never set to StateIn.\r
-    currentWidget->setStateIn();\r
-    qDebug() << "Current widget index" << currentIndex;\r
-    newIndex = step;\r
-    currentWidget->setStateOut();\r
-    qDebug() << "New widget index" << newIndex;\r
-}\r
-\r
-void MainForm::keyboardClosed(bool closed)\r
-{\r
-    // When keyboard is opened.\r
-    if(ui->actionAuto_Orientation->isChecked() == false)\r
-    {\r
-        if(closed == false)\r
-        {\r
-            setLandscapeMode(true);\r
-        }\r
-        else\r
-        {\r
-            setLandscapeMode(landscape);\r
-        }\r
-    }\r
-}\r
-\r
-void MainForm::setLandscapeMode(bool landscape)\r
-{\r
-    if(landscape)\r
-    {\r
-        tempLandscapeMode = true;\r
-        qDebug() << LANDSCAPE;\r
-#ifdef Q_WS_MAEMO_5\r
-        setAttribute(Qt::WA_Maemo5AutoOrientation, false);\r
-        setAttribute(Qt::WA_Maemo5LandscapeOrientation, true);\r
-        setAttribute(Qt::WA_Maemo5PortraitOrientation, false);\r
-#endif\r
-    }\r
-    else\r
-    {\r
-        tempLandscapeMode = false;\r
-        qDebug() << PORTRAIT;\r
-#ifdef Q_WS_MAEMO_5\r
-        setAttribute(Qt::WA_Maemo5AutoOrientation, false);\r
-        setAttribute(Qt::WA_Maemo5PortraitOrientation, true);\r
-        setAttribute(Qt::WA_Maemo5LandscapeOrientation, false);\r
-#endif\r
-    }\r
-}\r
-\r
-void MainForm::on_actionRotate_triggered()\r
-{\r
-    qDebug() << "Rotate";\r
-\r
-    landscape = (width() < height());\r
-    settings->setValue(LANDSCAPE, landscape);\r
-    ui->actionAuto_Orientation->setChecked(false);\r
-    settings->setValue(AUTO_ORIENTATION, ui->actionAuto_Orientation->isChecked());\r
-    setLandscapeMode(landscape);\r
-}\r
-\r
-void MainForm::on_actionAbout_triggered()\r
-{\r
-    qDebug() << "About";\r
-    QString aboutText;\r
-    aboutText.append("EasyList (c) 2010\n\n");\r
-    aboutText.append("Created by Willem Liu.\n");\r
-    aboutText.append("Created with QtCreator.\n");\r
-    QMessageBox::about(this, "EasyList", aboutText);\r
-}\r
-\r
-void MainForm::on_actionChecked_bottom_triggered()\r
-{\r
-    bool sortToBottom = ui->actionChecked_bottom->isChecked();\r
-    qDebug() << "Checked Bottom" << sortToBottom;\r
-    settings->setValue(CHECKED_ITEMS_TO_BOTTOM, sortToBottom);\r
-    MyCheckBoxContainer::getInstance()->setSortCheckedToBottom(sortToBottom);\r
-}\r
-\r
-void MainForm::closeEvent(QCloseEvent *event)\r
-{\r
-    settings->setValue(LIST_TEXT, MyCheckBoxContainer::getInstance()->getListText());\r
-    event->accept();\r
-}\r
-\r
-void MainForm::on_actionAuto_Orientation_triggered()\r
-{\r
-    settings->setValue(AUTO_ORIENTATION, ui->actionAuto_Orientation->isChecked());\r
-    qDebug() << "Auto orientation" << ui->actionAuto_Orientation->isChecked();\r
-    if(ui->actionAuto_Orientation->isChecked())\r
-    {\r
-#ifdef Q_WS_MAEMO_5\r
-        setAttribute(Qt::WA_Maemo5PortraitOrientation, false);\r
-        setAttribute(Qt::WA_Maemo5LandscapeOrientation, false);\r
-        setAttribute(Qt::WA_Maemo5AutoOrientation, true);\r
-#endif\r
-    }\r
-    else\r
-    {\r
-        setLandscapeMode(landscape);\r
-    }\r
-}\r
-\r
-void MainForm::on_actionSort_A_Z_triggered()\r
-{\r
-    settings->setValue(SORT_A_Z, ui->actionSort_A_Z->isChecked());\r
-    MyCheckBoxContainer::getInstance()->setSortAlphabetically(ui->actionSort_A_Z->isChecked());\r
-}\r
-\r
-void MainForm::on_actionLists_triggered()\r
-{\r
-    listForm->saveList();\r
-    changeWidget(2);\r
-}\r
diff --git a/src/mainform.h b/src/mainform.h
deleted file mode 100755 (executable)
index d0ab819..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef MAINFORM_H
-#define MAINFORM_H
-
-#include <QMainWindow>
-#include <QSettings>
-#include <QDebug>
-#include <QDialog>
-#include <QMessageBox>
-#include <QStateMachine>
-#include <QState>
-#include <QAbstractTransition>
-#include <QPropertyAnimation>
-#include <QCloseEvent>
-#include "slidewidget.h"
-#include "listform.h"
-#include "editform.h"
-#include "chooselistform.h"
-#include "systemsettings.h"
-#include "mycheckboxcontainer.h"
-#include "globals.h"
-
-namespace Ui {
-    class MainForm;
-}
-
-class MainForm : public QMainWindow
-{
-    Q_OBJECT
-
-public:
-    explicit MainForm(QWidget *parent = 0);
-    ~MainForm();
-
-    void setLandscapeMode(bool landscape);
-
-public slots:
-    void keyboardClosed(bool closed);
-    void changeWidget(int step);
-    void stateOutFinished();
-private:
-    QSettings *settings;
-    bool landscape;
-    bool tempLandscapeMode;
-    int newIndex;
-    Ui::MainForm *ui;
-
-    ListForm * listForm;
-    EditForm * editForm;
-    ChooseListForm * chooseListForm;
-protected:
-    void closeEvent(QCloseEvent *event);
-
-private slots:
-    void on_actionLists_triggered();
-    void on_actionSort_A_Z_triggered();
-    void on_actionAuto_Orientation_triggered();
-    void on_actionChecked_bottom_triggered();
-    void on_actionAbout_triggered();
-    void on_actionRotate_triggered();
-};
-
-#endif // MAINFORM_H
diff --git a/src/mainform.ui b/src/mainform.ui
deleted file mode 100755 (executable)
index dce1e8c..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<ui version="4.0">\r
- <class>MainForm</class>\r
- <widget class="QMainWindow" name="MainForm">\r
-  <property name="geometry">\r
-   <rect>\r
-    <x>0</x>\r
-    <y>0</y>\r
-    <width>800</width>\r
-    <height>480</height>\r
-   </rect>\r
-  </property>\r
-  <property name="windowTitle">\r
-   <string>EasyList - by Willem Liu</string>\r
-  </property>\r
-  <widget class="QWidget" name="centralwidget">\r
-   <layout class="QGridLayout" name="gridLayout">\r
-    <property name="margin">\r
-     <number>0</number>\r
-    </property>\r
-    <property name="spacing">\r
-     <number>0</number>\r
-    </property>\r
-    <item row="0" column="0">\r
-     <widget class="QStackedWidget" name="stackedWidget">\r
-      <property name="currentIndex">\r
-       <number>-1</number>\r
-      </property>\r
-     </widget>\r
-    </item>\r
-   </layout>\r
-  </widget>\r
-  <widget class="QMenuBar" name="menubar">\r
-   <property name="geometry">\r
-    <rect>\r
-     <x>0</x>\r
-     <y>0</y>\r
-     <width>800</width>\r
-     <height>21</height>\r
-    </rect>\r
-   </property>\r
-   <widget class="QMenu" name="menuRotate">\r
-    <property name="title">\r
-     <string>Rotate</string>\r
-    </property>\r
-    <addaction name="actionRotate"/>\r
-   </widget>\r
-   <widget class="QMenu" name="menuAbout">\r
-    <property name="title">\r
-     <string>About</string>\r
-    </property>\r
-    <addaction name="actionAbout"/>\r
-   </widget>\r
-   <widget class="QMenu" name="menuChecked_bottom">\r
-    <property name="title">\r
-     <string>Checked to bottom</string>\r
-    </property>\r
-    <addaction name="actionChecked_bottom"/>\r
-   </widget>\r
-   <widget class="QMenu" name="menuAuto_Orientation">\r
-    <property name="title">\r
-     <string>Auto Orientation</string>\r
-    </property>\r
-    <addaction name="actionAuto_Orientation"/>\r
-   </widget>\r
-   <widget class="QMenu" name="menuSort_A_Z">\r
-    <property name="title">\r
-     <string>Sort A-Z</string>\r
-    </property>\r
-    <addaction name="actionSort_A_Z"/>\r
-   </widget>\r
-   <widget class="QMenu" name="menuList">\r
-    <property name="title">\r
-     <string>Lists...</string>\r
-    </property>\r
-    <addaction name="actionLists"/>\r
-   </widget>\r
-   <addaction name="menuList"/>\r
-   <addaction name="menuAuto_Orientation"/>\r
-   <addaction name="menuSort_A_Z"/>\r
-   <addaction name="menuChecked_bottom"/>\r
-   <addaction name="menuRotate"/>\r
-   <addaction name="menuAbout"/>\r
-  </widget>\r
-  <action name="actionRotate">\r
-   <property name="text">\r
-    <string>Rotate</string>\r
-   </property>\r
-  </action>\r
-  <action name="actionAbout">\r
-   <property name="text">\r
-    <string>About</string>\r
-   </property>\r
-  </action>\r
-  <action name="actionChecked_bottom">\r
-   <property name="checkable">\r
-    <bool>true</bool>\r
-   </property>\r
-   <property name="text">\r
-    <string>Checked to bottom</string>\r
-   </property>\r
-  </action>\r
-  <action name="actionAuto_Orientation">\r
-   <property name="checkable">\r
-    <bool>true</bool>\r
-   </property>\r
-   <property name="text">\r
-    <string>Auto Orientation</string>\r
-   </property>\r
-  </action>\r
-  <action name="actionSort_A_Z">\r
-   <property name="checkable">\r
-    <bool>true</bool>\r
-   </property>\r
-   <property name="text">\r
-    <string>Sort A-Z</string>\r
-   </property>\r
-  </action>\r
-  <action name="actionLists">\r
-   <property name="text">\r
-    <string>Lists...</string>\r
-   </property>\r
-  </action>\r
- </widget>\r
- <resources/>\r
- <connections/>\r
-</ui>\r
diff --git a/src/mycheckbox.cpp b/src/mycheckbox.cpp
deleted file mode 100755 (executable)
index 303f73c..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-#include "mycheckbox.h"\r
-\r
-int MyCheckBox::instances = 0;\r
-\r
-MyCheckBox::MyCheckBox(QWidget *parent) :\r
-    QCheckBox(parent)\r
-{\r
-    ++instances;\r
-    qDebug() << "MyCheckBox instances:" << instances;\r
-    uncheckedColor = palette();\r
-    checkedColor.setColor(QPalette::WindowText, Qt::gray);\r
-\r
-    setContextMenuPolicy(Qt::CustomContextMenu);\r
-    connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenuActivated(QPoint)));\r
-    connect(this, SIGNAL(toggled(bool)), this, SLOT(slotTriggered(bool)));\r
-}\r
-\r
-MyCheckBox::MyCheckBox(const QString & text, QWidget *parent) :\r
-        QCheckBox(text, parent)\r
-{\r
-    ++instances;\r
-    qDebug() << "MyCheckBox instances:" << instances;\r
-\r
-    uncheckedColor = palette();\r
-    checkedColor.setColor(QPalette::WindowText, Qt::gray);\r
-\r
-    setContextMenuPolicy(Qt::CustomContextMenu);\r
-    connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotContextMenuActivated(QPoint)));\r
-    connect(this, SIGNAL(toggled(bool)), this, SLOT(slotTriggered(bool)));\r
-}\r
-\r
-MyCheckBox::~MyCheckBox()\r
-{\r
-    --instances;\r
-    qDebug() << "MyCheckBox instances left:" << instances;\r
-}\r
-\r
-void MyCheckBox::slotDeleteClicked()\r
-{\r
-    qDebug() << "Delete clicked";\r
-    emit signalDeleteClicked(this);\r
-}\r
-\r
-void MyCheckBox::slotContextMenuActivated(QPoint point)\r
-{\r
-    qDebug() << "Context menu activated";\r
-    QMenu menu(this);\r
-    menu.addAction(tr("Delete"), this, SLOT(slotDeleteClicked()));\r
-    menu.exec(this->mapToGlobal(point));\r
-}\r
-\r
-void MyCheckBox::slotTriggered(bool checked)\r
-{\r
-    if(checked)\r
-    {\r
-        setPalette(checkedColor);\r
-    }\r
-    else\r
-    {\r
-        setPalette(uncheckedColor);\r
-    }\r
-    QFont f(font());\r
-    f.setStrikeOut(checked);\r
-    setFont(f);\r
-}\r
diff --git a/src/mycheckbox.h b/src/mycheckbox.h
deleted file mode 100755 (executable)
index 6eac640..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef MYCHECKBOX_H
-#define MYCHECKBOX_H
-
-#include <QCheckBox>
-#include <QDebug>
-#include <QMenu>
-#include <QObject>
-
-class MyCheckBox : public QCheckBox
-{
-    Q_OBJECT
-public:
-    MyCheckBox(QWidget *parent = 0);
-    MyCheckBox(const QString & text, QWidget *parent = 0);
-    virtual ~MyCheckBox();
-private:
-    static int instances;
-
-    QPalette checkedColor;
-    QPalette uncheckedColor;
-signals:
-    void signalDeleteClicked(MyCheckBox * myCheckBox);
-public slots:
-    void slotContextMenuActivated(QPoint point);
-    void slotDeleteClicked();
-    void slotTriggered(bool checked);
-};
-
-#endif // MYCHECKBOX_H
diff --git a/src/mycheckboxcontainer.cpp b/src/mycheckboxcontainer.cpp
deleted file mode 100755 (executable)
index 130cd0a..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-#include "mycheckboxcontainer.h"\r
-\r
-MyCheckBoxContainer * MyCheckBoxContainer::instance = 0;\r
-int MyCheckBoxContainer::instances = 0;\r
-\r
-MyCheckBoxContainer::MyCheckBoxContainer()\r
-{\r
-    ++instances;\r
-    qDebug() << "MyCheckBoxContainer instances:" << instances;\r
-    sortToBottom = false;\r
-    sortAlphabetically = false;\r
-}\r
-\r
-MyCheckBoxContainer::~MyCheckBoxContainer()\r
-{\r
-    --instances;\r
-    qDebug() << "MyCheckBoxContainer instances left:" << instances;\r
-    clear();\r
-}\r
-\r
-MyCheckBoxContainer * MyCheckBoxContainer::getInstance()\r
-{\r
-    if(instance == 0)\r
-    {\r
-        instance = new MyCheckBoxContainer();\r
-    }\r
-    return instance;\r
-}\r
-\r
-void MyCheckBoxContainer::add(QString item)\r
-{\r
-    QStringList list = item.split("\n");\r
-    QStringList list2;\r
-    if(sortAlphabetically)\r
-    {\r
-        list2.append(list.takeFirst());\r
-        int listSize = list.size();\r
-        int pos = 0;\r
-        bool inserted = false;\r
-        for(int i = 0; i < listSize; ++i)\r
-        {\r
-            inserted = false;\r
-            int list2Size = list2.size();\r
-            for(int j = 0; j < list2Size; ++j)\r
-            {\r
-                pos = j;\r
-                if(list[i].toUpper() < list2[j].toUpper())\r
-                {\r
-                    list2.insert(pos, list[i]);\r
-                    inserted = true;\r
-                    break;\r
-                }\r
-            }\r
-            if(inserted == false)\r
-            {\r
-                list2.append(list[i]);\r
-            }\r
-        }\r
-        list = list2;\r
-    }\r
-    qDebug() << "list" << list;\r
-    foreach(QString item, list)\r
-    {\r
-        if(item.length() > 0)\r
-        {\r
-            MyCheckBox * checkBox;\r
-            if(item.startsWith("!"))\r
-            {\r
-                checkBox = new MyCheckBox(item.right(item.length()-1));\r
-                checkBox->setChecked(true);\r
-            }\r
-            else\r
-            {\r
-                checkBox = new MyCheckBox(item);\r
-            }\r
-            connect(checkBox, SIGNAL(clicked()), this, SLOT(clickedAction()));\r
-            checkBoxes.append(checkBox);\r
-        }\r
-    }\r
-    sortCheckedToBottom();\r
-}\r
-\r
-void MyCheckBoxContainer::set(QString item)\r
-{\r
-    clear();\r
-    add(item);\r
-}\r
-\r
-void MyCheckBoxContainer::clear()\r
-{\r
-    foreach(MyCheckBox * item, checkBoxes)\r
-    {\r
-        item->setParent(0);\r
-        item->deleteLater();\r
-    }\r
-    checkBoxes.clear();\r
-}\r
-\r
-void MyCheckBoxContainer::sortCheckedToBottom()\r
-{\r
-    if(sortToBottom)\r
-    {\r
-        qDebug() << "Sort checked to bottom";\r
-        QList<MyCheckBox * > tempList;\r
-        QList<MyCheckBox * > tempListChecked;\r
-        foreach(MyCheckBox * item, checkBoxes)\r
-        {\r
-            if(item->isChecked())\r
-            {\r
-                if(sortAlphabetically)\r
-                {\r
-                    int size = tempListChecked.size();\r
-                    int pos = 0;\r
-                    for(pos = 0; pos < size; ++pos)\r
-                    {\r
-                        if(tempListChecked[pos]->text().toUpper() > item->text().toUpper())\r
-                        {\r
-                            break;\r
-                        }\r
-                    }\r
-                    tempListChecked.insert(pos, item);\r
-                }\r
-                else\r
-                {\r
-                    tempListChecked.append(item);\r
-                }\r
-            }\r
-            else\r
-            {\r
-                if(sortAlphabetically)\r
-                {\r
-                    int size = tempList.size();\r
-                    int pos = 0;\r
-                    for(pos = 0; pos < size; ++pos)\r
-                    {\r
-                        if(tempList[pos]->text().toUpper() > item->text().toUpper())\r
-                        {\r
-                            break;\r
-                        }\r
-                    }\r
-                    tempList.insert(pos, item);\r
-                }\r
-                else\r
-                {\r
-                    tempList.append(item);\r
-                }\r
-            }\r
-        }\r
-        checkBoxes.clear();\r
-        checkBoxes.append(tempList);\r
-        checkBoxes.append(tempListChecked);\r
-    }\r
-    emit signalSorted();\r
-}\r
-\r
-QList<MyCheckBox * > const & MyCheckBoxContainer::getCheckBoxes()\r
-{\r
-    return checkBoxes;\r
-}\r
-\r
-QString MyCheckBoxContainer::getListText()\r
-{\r
-    QString listText("");\r
-    foreach(MyCheckBox * item, checkBoxes)\r
-    {\r
-        if(item->isChecked())\r
-        {\r
-            listText.append("!");\r
-        }\r
-        listText.append(item->text());\r
-        listText.append("\n");\r
-    }\r
-    return listText;\r
-}\r
-\r
-void MyCheckBoxContainer::uncheckAll()\r
-{\r
-    foreach(MyCheckBox * item, checkBoxes)\r
-    {\r
-        item->setChecked(false);\r
-    }\r
-    if(sortAlphabetically)\r
-    {\r
-        set(getListText());\r
-    }\r
-}\r
-\r
-void MyCheckBoxContainer::removeChecked()\r
-{\r
-    QMutableListIterator<MyCheckBox * > i(checkBoxes);\r
-    while (i.hasNext())\r
-    {\r
-        MyCheckBox * item = i.next();\r
-        if (item->isChecked())\r
-        {\r
-            item->setParent(0);\r
-            item->deleteLater();\r
-            i.remove();\r
-        }\r
-    }\r
-}\r
-\r
-void MyCheckBoxContainer::setSortCheckedToBottom(bool sortToBottom)\r
-{\r
-    this->sortToBottom = sortToBottom;\r
-    sortCheckedToBottom();\r
-}\r
-\r
-void MyCheckBoxContainer::setSortAlphabetically(bool sortAlphabetically)\r
-{\r
-    this->sortAlphabetically = sortAlphabetically;\r
-    if(sortAlphabetically)\r
-    {\r
-        set(getListText());\r
-    }\r
-}\r
-\r
-void MyCheckBoxContainer::clickedAction()\r
-{\r
-    qDebug() << "Clicked a MyCheckBox";\r
-    sortCheckedToBottom();\r
-}\r
diff --git a/src/mycheckboxcontainer.h b/src/mycheckboxcontainer.h
deleted file mode 100755 (executable)
index 91f3de6..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef MYCHECKBOXCONTAINER_H\r
-#define MYCHECKBOXCONTAINER_H\r
-\r
-#include <QString>\r
-#include <QList>\r
-#include <QObject>\r
-#include <QLayout>\r
-#include <QVBoxLayout>\r
-#include "mycheckbox.h"\r
-\r
-class MyCheckBoxContainer : public QObject\r
-{\r
-    Q_OBJECT\r
-public:\r
-    QList<MyCheckBox * > const & getCheckBoxes();\r
-    QString getListText();\r
-\r
-    virtual ~MyCheckBoxContainer();\r
-    static MyCheckBoxContainer * getInstance();\r
-\r
-    void add(QString item);\r
-    void set(QString item);\r
-    void clear();\r
-    void uncheckAll();\r
-    void removeChecked();\r
-    void setSortCheckedToBottom(bool sortToBottom);\r
-    void setSortAlphabetically(bool sortAlphabetically);\r
-    void sortCheckedToBottom();\r
-\r
-private:\r
-    QList<MyCheckBox * > checkBoxes;\r
-    static MyCheckBoxContainer * instance;\r
-    static int instances;\r
-\r
-    bool sortToBottom;\r
-    bool sortAlphabetically;\r
-\r
-    MyCheckBoxContainer();\r
-signals:\r
-    void signalSorted();\r
-public slots:\r
-    void clickedAction();\r
-\r
-};\r
-\r
-#endif // MYCHECKBOXCONTAINER_H\r
diff --git a/src/slidewidget.cpp b/src/slidewidget.cpp
deleted file mode 100755 (executable)
index 9cb5661..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-#include "slidewidget.h"\r
-\r
-SlideWidget::SlideWidget(QWidget *parent) :\r
-    QWidget(parent)\r
-{\r
-    initStates();\r
-\r
-    QAbstractTransition * t1 = stateIn.addTransition(this, SIGNAL(signalDoStateOut()), &stateOut);\r
-    QAbstractTransition * t2 = stateOut.addTransition(this, SIGNAL(signalDoStateIn()), &stateIn);\r
-\r
-    t1->addAnimation(&animPosOut);\r
-    t2->addAnimation(&animPosIn);\r
-\r
-    connect(&animPosIn, SIGNAL(finished()), this, SIGNAL(signalTransitionInFinished()));\r
-    connect(&animPosIn, SIGNAL(finished()), this, SLOT(slotStateInFinished()));\r
-    connect(&animPosOut, SIGNAL(finished()), this, SIGNAL(signalTransitionOutFinished()));\r
-    connect(&animPosOut, SIGNAL(finished()), this, SLOT(slotStateOutFinished()));\r
-\r
-    machine.addState(&stateIn);\r
-    machine.addState(&stateOut);\r
-    machine.setInitialState(&stateOut);\r
-    machine.start();\r
-}\r
-\r
-SlideWidget::~SlideWidget()\r
-{\r
-}\r
-\r
-void SlideWidget::initStates()\r
-{\r
-    animPosIn.setTargetObject(this);\r
-    animPosIn.setPropertyName("pos");\r
-    animPosIn.setDuration(500);\r
-    animPosIn.setEasingCurve(QEasingCurve::OutExpo);\r
-\r
-    animPosOut.setTargetObject(this);\r
-    animPosOut.setPropertyName("pos");\r
-    animPosOut.setDuration(500);\r
-    animPosOut.setEasingCurve(QEasingCurve::OutExpo);\r
-\r
-    stateIn.assignProperty(this, "pos", QPoint(0, 0));\r
-\r
-    stateOut.assignProperty(this, "pos", QPoint(0, -this->height()));\r
-}\r
-\r
-void SlideWidget::setStateIn()\r
-{\r
-    qDebug() << "State In";\r
-    emit signalDoStateIn();\r
-}\r
-\r
-void SlideWidget::setStateOut()\r
-{\r
-    qDebug() << "State Out";\r
-    emit signalDoStateOut();\r
-}\r
-\r
-void SlideWidget::slotStateInFinished()\r
-{\r
-    qDebug() << "State in finished" << pos();\r
-}\r
-\r
-void SlideWidget::slotStateOutFinished()\r
-{\r
-    qDebug() << "State out finished" << pos();\r
-}\r
diff --git a/src/slidewidget.h b/src/slidewidget.h
deleted file mode 100755 (executable)
index e219ceb..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef SLIDEWIDGET_H
-#define SLIDEWIDGET_H
-
-#include <QStateMachine>
-#include <QState>
-#include <QPropertyAnimation>
-#include <QAbstractTransition>
-#include <QtCore>
-#include <QWidget>
-#include <QPoint>
-#include <QDebug>
-
-class SlideWidget : public QWidget
-{
-    Q_OBJECT
-public:
-    explicit SlideWidget(QWidget *parent = 0);
-    virtual ~SlideWidget();
-
-    virtual void shown() = 0;
-
-    void initStates();
-
-    void setStateIn();
-    void setStateOut();
-
-private:
-    QStateMachine machine;
-    QState stateIn;
-    QState stateOut;
-
-    QPropertyAnimation animPosIn;
-    QPropertyAnimation animPosOut;
-
-protected:
-
-signals:
-    void signalDoStateIn();
-    void signalDoStateOut();
-    void signalTransitionOutFinished();
-    void signalTransitionInFinished();
-public slots:
-    void slotStateInFinished();
-    void slotStateOutFinished();
-};
-
-#endif // SLIDEWIDGET_H
diff --git a/src/src.pro b/src/src.pro
deleted file mode 100755 (executable)
index a44a2ad..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-#-------------------------------------------------\r
-#\r
-# Project created by QtCreator 2010-09-07T13:50:39\r
-#\r
-#-------------------------------------------------\r
-\r
-# This needs to be removed in order for the binary\r
-# to be chmod to 755 in the debian package.\r
-QT       += core gui maemo5\r
-TARGET = easylist\r
-TEMPLATE = app\r
-DEPENDPATH += .\r
-INCLUDEPATH += .\r
-DESTDIR = ../\r
-\r
-SOURCES += main.cpp\\r
-        mycheckbox.cpp\\r
-    mainform.cpp \\r
-    mycheckboxcontainer.cpp \\r
-    systemsettings.cpp \\r
-    listform.cpp \\r
-    editform.cpp \\r
-    slidewidget.cpp \\r
-    chooselistform.cpp\r
-\r
-HEADERS  +=\\r
-        mycheckbox.h \\r
-    mainform.h \\r
-    mycheckboxcontainer.h \\r
-    systemsettings.h \\r
-    listform.h \\r
-    editform.h \\r
-    slidewidget.h \\r
-    chooselistform.h \\r
-    globals.h\r
-\r
-FORMS    += \\r
-    mainform.ui \\r
-    listform.ui \\r
-    editform.ui \\r
-    chooselistform.ui\r
-\r
-CONFIG += mobility\r
-\r
-unix {\r
-    QT += dbus\r
-    #VARIABLES\r
-    PREFIX = /usr\r
-    BINDIR = /opt/easylist/bin\r
-    DATADIR = $$PREFIX/share\r
-\r
-    DEFINES += DATADIR=\\\"$$DATADIR\\\" PKGDATADIR=\\\"$$PKGDATADIR\\\"\r
-\r
-    #MAKE INSTALL\r
-    INSTALLS += target desktop icon26 icon40 icon48 icon64\r
-\r
-    target.path =$$BINDIR\r
-\r
-    desktop.path = $$DATADIR/applications/hildon\r
-    desktop.files += $${TARGET}.desktop\r
-\r
-    #iconxpm.path = $$DATADIR/pixmap\r
-    #iconxpm.files += data/maemo/$${TARGET}.xpm\r
-\r
-    icon26.path = $$DATADIR/icons/hicolor/26x26/apps\r
-    icon26.files += data/26x26/$${TARGET}.png\r
-\r
-    icon40.path = $$DATADIR/icons/hicolor/40x40/apps\r
-    icon40.files += data/40x40/$${TARGET}.png\r
-\r
-    icon48.path = $$DATADIR/icons/hicolor/48x48/apps\r
-    icon48.files += data/48x48/$${TARGET}.png\r
-\r
-    icon64.path = $$DATADIR/icons/hicolor/64x64/apps\r
-    icon64.files += data/64x64/$${TARGET}.png\r
-\r
-}\r
diff --git a/src/systemsettings.cpp b/src/systemsettings.cpp
deleted file mode 100755 (executable)
index 2600093..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#include "systemsettings.h"\r
-\r
-SystemSettings * SystemSettings::instance = 0;\r
-int SystemSettings::instances = 0;\r
-\r
-SystemSettings::SystemSettings()\r
-{\r
-    ++instances;\r
-#ifdef Q_WS_MAEMO_5\r
-    // Connect to DBUS of keyboard slider.\r
-    QDBusConnection::systemBus().connect(QString("org.freedesktop.Hal"),\r
-                                         DBUS_KEYBOARD_SLIDE,\r
-                                         QString("org.freedesktop.Hal.Device"),\r
-                                         QString("PropertyModified"),\r
-                                         this, SLOT(slotKeyboardSlide()));\r
-#endif\r
-}\r
-\r
-SystemSettings * SystemSettings::getInstance()\r
-{\r
-    if(instance == 0)\r
-    {\r
-        instance = new SystemSettings();\r
-    }\r
-    return instance;\r
-}\r
-\r
-void SystemSettings::slotKeyboardSlide()\r
-{\r
-    emit signalKeyboardClosed(getKeyboardClosed());\r
-}\r
-\r
-bool SystemSettings::getKeyboardClosed()\r
-{\r
-    bool closed = false;\r
-#ifdef Q_WS_MAEMO_5\r
-    QDBusInterface propertyInterface("org.freedesktop.Hal",\r
-                    DBUS_KEYBOARD_SLIDE,\r
-                    "org.freedesktop.Hal.Device",\r
-                    QDBusConnection::systemBus());\r
-    closed = propertyInterface.call("GetProperty", "button.state.value").arguments().at(0).toBool();\r
-    qDebug() << "Keyboard is closed:" << closed;\r
-#endif\r
-    return closed;\r
-}\r
diff --git a/src/systemsettings.h b/src/systemsettings.h
deleted file mode 100755 (executable)
index 6669115..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef SYSTEMSETTINGS_H
-#define SYSTEMSETTINGS_H
-
-#include <QObject>
-#include <QDebug>
-#include <QtDBus/QDBusConnection>
-#include <QtDBus/QDBusInterface>
-#include "globals.h"
-
-class SystemSettings : public QObject
-{
-    Q_OBJECT
-public:
-    static SystemSettings * getInstance();
-
-    bool getKeyboardClosed();
-private:
-    bool landscape;
-    static SystemSettings * instance;
-    static int instances;
-    SystemSettings();
-
-public slots:
-    void slotKeyboardSlide();
-signals:
-    void signalKeyboardClosed(bool open);
-};
-
-#endif // SYSTEMSETTINGS_H
diff --git a/systemsettings.cpp b/systemsettings.cpp
new file mode 100755 (executable)
index 0000000..5cd7d88
--- /dev/null
@@ -0,0 +1,56 @@
+#include "systemsettings.h"\r
+\r
+SystemSettings * SystemSettings::instance = 0;\r
+int SystemSettings::instances = 0;\r
+\r
+SystemSettings::SystemSettings()\r
+{\r
+    ++instances;\r
+    settings = new QSettings(WILLEM_LIU, EASY_LIST);\r
+#ifdef Q_WS_MAEMO_5\r
+    // Connect to DBUS of keyboard slider.\r
+    QDBusConnection::systemBus().connect(QString("org.freedesktop.Hal"),\r
+                                         DBUS_KEYBOARD_SLIDE,\r
+                                         QString("org.freedesktop.Hal.Device"),\r
+                                         QString("PropertyModified"),\r
+                                         this, SLOT(slotKeyboardSlide()));\r
+#endif\r
+}\r
+\r
+SystemSettings * SystemSettings::getInstance()\r
+{\r
+    if(instance == 0)\r
+    {\r
+        instance = new SystemSettings();\r
+    }\r
+    return instance;\r
+}\r
+\r
+void SystemSettings::slotKeyboardSlide()\r
+{\r
+    emit signalKeyboardClosed(getKeyboardClosed());\r
+}\r
+\r
+bool SystemSettings::getKeyboardClosed()\r
+{\r
+    bool closed = false;\r
+#ifdef Q_WS_MAEMO_5\r
+    QDBusInterface propertyInterface("org.freedesktop.Hal",\r
+                    DBUS_KEYBOARD_SLIDE,\r
+                    "org.freedesktop.Hal.Device",\r
+                    QDBusConnection::systemBus());\r
+    closed = propertyInterface.call("GetProperty", "button.state.value").arguments().at(0).toBool();\r
+    qDebug() << "Keyboard is closed:" << closed;\r
+#endif\r
+    return closed;\r
+}\r
+\r
+void SystemSettings::saveCurrentList()\r
+{\r
+    QString listName = settings->value(SELECTED_LIST_NAME, "").toString();\r
+    if(listName.size() == 0)\r
+    {\r
+        listName = LIST_TEXT;\r
+    }\r
+    settings->setValue(listName, settings->value(LIST_TEXT, ""));\r
+}\r
diff --git a/systemsettings.h b/systemsettings.h
new file mode 100755 (executable)
index 0000000..80e47e6
--- /dev/null
@@ -0,0 +1,33 @@
+#ifndef SYSTEMSETTINGS_H
+#define SYSTEMSETTINGS_H
+
+#include <QObject>
+#include <QDebug>
+#include <QSettings>
+#include <QtDBus/QDBusConnection>
+#include <QtDBus/QDBusInterface>
+#include "globals.h"
+
+class SystemSettings : public QObject
+{
+    Q_OBJECT
+public:
+    static SystemSettings * getInstance();
+
+    bool getKeyboardClosed();
+    void saveCurrentList();
+private:
+    bool landscape;
+    static SystemSettings * instance;
+    static int instances;
+    SystemSettings();
+
+    QSettings * settings;
+
+public slots:
+    void slotKeyboardSlide();
+signals:
+    void signalKeyboardClosed(bool open);
+};
+
+#endif // SYSTEMSETTINGS_H
diff --git a/welcome b/welcome
old mode 100644 (file)
new mode 100755 (executable)