First commit
authorWillem Liu <willem.liu@gmail.com>
Mon, 13 Sep 2010 18:55:40 +0000 (20:55 +0200)
committerWillem Liu <willem.liu@gmail.com>
Mon, 13 Sep 2010 18:55:40 +0000 (20:55 +0200)
17 files changed:
debian/changelog [new file with mode: 0755]
debian/compat [new file with mode: 0755]
debian/control [new file with mode: 0755]
debian/copyright [new file with mode: 0755]
easylist.pro [new file with mode: 0755]
easylist.pro.user [new file with mode: 0755]
src/data/26x26/easylist.png [new file with mode: 0755]
src/data/40x40/easylist.png [new file with mode: 0755]
src/data/48x48/easylist.png [new file with mode: 0755]
src/data/64x64/easylist.png [new file with mode: 0755]
src/easylist.desktop [new file with mode: 0755]
src/listwindow.ui [new file with mode: 0755]
src/main.cpp [new file with mode: 0755]
src/mainwindow.cpp [new file with mode: 0755]
src/mainwindow.h [new file with mode: 0755]
src/mainwindow.ui [new file with mode: 0755]
src/src.pro [new file with mode: 0755]

diff --git a/debian/changelog b/debian/changelog
new file mode 100755 (executable)
index 0000000..23e1d65
--- /dev/null
@@ -0,0 +1,5 @@
+easylist (0.0.1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- unknown <>  Tue, 07 Sep 2010 13:56:12 +0200
diff --git a/debian/compat b/debian/compat
new file mode 100755 (executable)
index 0000000..7f8f011
--- /dev/null
@@ -0,0 +1 @@
+7
diff --git a/debian/control b/debian/control
new file mode 100755 (executable)
index 0000000..ee75f30
--- /dev/null
@@ -0,0 +1,57 @@
+Source: easylist
+Section: user/other
+Priority: extra
+Maintainer: Willem Liu <willem.liu@gmail.com>
+Build-Depends: debhelper (>= 5)
+Standards-Version: 3.7.3
+Homepage: <insert the upstream URL, if relevant>
+
+Package: EasyList
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Simple Check list program
+ Simple Check list program
+XB-Maemo-Icon-26:
+ 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
+ YII=
diff --git a/debian/copyright b/debian/copyright
new file mode 100755 (executable)
index 0000000..9ebd3a4
--- /dev/null
@@ -0,0 +1,40 @@
+This package was debianized by unknown <> on
+Tue, 07 Sep 2010 13:56:12 +0200.
+
+It was downloaded from <url://example.com>
+
+Upstream Author(s):
+
+    <put author's name and email here>
+    <likewise for another author>
+
+Copyright:
+
+    <Copyright (C) YYYY Name OfAuthor>
+    <likewise for another author>
+
+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) 2010, unknown <> 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/easylist.pro b/easylist.pro
new file mode 100755 (executable)
index 0000000..9b32c1c
--- /dev/null
@@ -0,0 +1,8 @@
+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
+TEMPLATE = subdirs\r
+SUBDIRS  = src\r
diff --git a/easylist.pro.user b/easylist.pro.user
new file mode 100755 (executable)
index 0000000..a80b162
--- /dev/null
@@ -0,0 +1,241 @@
+<!DOCTYPE QtCreatorProject>
+<qtcreator>
+ <data>
+  <variable>ProjectExplorer.Project.ActiveTarget</variable>
+  <value type="int">1</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.EditorSettings</variable>
+  <valuemap type="QVariantMap">
+   <value key="EditorConfiguration.Codec" type="QByteArray">System</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.0</variable>
+  <valuemap type="QVariantMap">
+   <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.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>
+    <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-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">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>
+    <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">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-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>
+   <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">2</value>
+   <valuemap key="ProjectExplorer.Target.RunConfiguration.0" type="QVariantMap">
+    <value key="ProjectExplorer.ProjectConfiguration.DisplayName" type="QString">src</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.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>
+   </valuemap>
+   <value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Target.1</variable>
+  <valuemap type="QVariantMap">
+   <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.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="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/src/data/26x26/easylist.png</value>
+      <value type="QString">C:/dev/cpp/easylist/src/data/40x40/easylist.png</value>
+      <value type="QString">C:/dev/cpp/easylist/src/data/48x48/easylist.png</value>
+      <value type="QString">C:/dev/cpp/easylist/src/data/64x64/easylist.png</value>
+      <value type="QString">C:/dev/cpp/easylist/src/easylist.desktop</value>
+     </valuelist>
+     <value key="Qt4ProjectManager.BuildStep.MaemoPackage.Modified" type="bool">false</value>
+     <value key="Qt4ProjectManager.BuildStep.MaemoPackage.RemoteExe" type="QString">/usr/local/bin/easylist</value>
+     <valuelist key="Qt4ProjectManager.BuildStep.MaemoPackage.RemoteFiles" type="QVariantList">
+      <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>
+      <value type="QString">/usr/share/applications/hildon/easylist.desktop</value>
+     </valuelist>
+    </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>
+    <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</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="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/src/easylist.desktop</value>
+      <value type="QString">C:/dev/cpp/easylist/src/data/26x26/easylist.png</value>
+      <value type="QString">C:/dev/cpp/easylist/src/data/40x40/easylist.png</value>
+      <value type="QString">C:/dev/cpp/easylist/src/data/48x48/easylist.png</value>
+      <value type="QString">C:/dev/cpp/easylist/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.desktop</value>
+      <value type="QString">/usr/share/icons/hicolor/40x40/apps/easylist.desktop</value>
+      <value type="QString">/usr/share/icons/hicolor/48x48/apps/easylist.desktop</value>
+      <value type="QString">/usr/share/icons/hicolor/64x64/apps/easylist.desktop</value>
+     </valuelist>
+    </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>
+    <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">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</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>
+   <value key="ProjectExplorer.Target.BuildConfigurationCount" type="int">2</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.Id" type="QString">Qt4ProjectManager.MaemoRunConfiguration</value>
+    <valuelist key="Qt4ProjectManager.MaemoRunConfiguration.Arguments" type="QVariantList"/>
+    <valuemap key="Qt4ProjectManager.MaemoRunConfiguration.DebuggingHelpersLastDeployed" type="QVariantMap"/>
+    <value key="Qt4ProjectManager.MaemoRunConfiguration.DeviceId" type="qulonglong">1</value>
+    <valuemap key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployed" type="QVariantMap"/>
+   </valuemap>
+   <value key="ProjectExplorer.Target.RunConfigurationCount" type="int">1</value>
+  </valuemap>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.TargetCount</variable>
+  <value type="int">2</value>
+ </data>
+ <data>
+  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
+  <value type="int">4</value>
+ </data>
+</qtcreator>
diff --git a/src/data/26x26/easylist.png b/src/data/26x26/easylist.png
new file mode 100755 (executable)
index 0000000..ac1d101
Binary files /dev/null and b/src/data/26x26/easylist.png differ
diff --git a/src/data/40x40/easylist.png b/src/data/40x40/easylist.png
new file mode 100755 (executable)
index 0000000..0f8a5af
Binary files /dev/null and b/src/data/40x40/easylist.png differ
diff --git a/src/data/48x48/easylist.png b/src/data/48x48/easylist.png
new file mode 100755 (executable)
index 0000000..6a00d8c
Binary files /dev/null and b/src/data/48x48/easylist.png differ
diff --git a/src/data/64x64/easylist.png b/src/data/64x64/easylist.png
new file mode 100755 (executable)
index 0000000..0703ae3
Binary files /dev/null and b/src/data/64x64/easylist.png differ
diff --git a/src/easylist.desktop b/src/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
+
diff --git a/src/listwindow.ui b/src/listwindow.ui
new file mode 100755 (executable)
index 0000000..e8efdc2
--- /dev/null
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ui version="4.0">\r
+ <class>ListWindow</class>\r
+ <widget class="QMainWindow" name="ListWindow">\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="sizePolicy">\r
+   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">\r
+    <horstretch>0</horstretch>\r
+    <verstretch>0</verstretch>\r
+   </sizepolicy>\r
+  </property>\r
+  <property name="windowTitle">\r
+   <string>EasyList - by Willem Liu</string>\r
+  </property>\r
+  <widget class="QWidget" name="centralwidget">\r
+   <layout class="QVBoxLayout" name="verticalLayout">\r
+    <item>\r
+     <widget class="QScrollArea" name="scrollArea">\r
+      <property name="sizePolicy">\r
+       <sizepolicy hsizetype="Expanding" vsizetype="Expanding">\r
+        <horstretch>0</horstretch>\r
+        <verstretch>0</verstretch>\r
+       </sizepolicy>\r
+      </property>\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>780</width>\r
+         <height>408</height>\r
+        </rect>\r
+       </property>\r
+       <layout class="QGridLayout" name="gridLayout">\r
+        <item row="0" column="0">\r
+         <layout class="QVBoxLayout" name="listVerticalLayout">\r
+          <property name="spacing">\r
+           <number>6</number>\r
+          </property>\r
+          <property name="sizeConstraint">\r
+           <enum>QLayout::SetDefaultConstraint</enum>\r
+          </property>\r
+          <property name="rightMargin">\r
+           <number>6</number>\r
+          </property>\r
+         </layout>\r
+        </item>\r
+       </layout>\r
+      </widget>\r
+     </widget>\r
+    </item>\r
+    <item>\r
+     <layout class="QHBoxLayout" name="horizontalLayout">\r
+      <property name="spacing">\r
+       <number>6</number>\r
+      </property>\r
+      <property name="sizeConstraint">\r
+       <enum>QLayout::SetDefaultConstraint</enum>\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="clearSelectedPushButton">\r
+        <property name="text">\r
+         <string>Clear selected</string>\r
+        </property>\r
+       </widget>\r
+      </item>\r
+     </layout>\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="menuAbout">\r
+    <property name="title">\r
+     <string>About</string>\r
+    </property>\r
+    <addaction name="actionAbout"/>\r
+   </widget>\r
+   <widget class="QMenu" name="menuRotate">\r
+    <property name="title">\r
+     <string>Rotate</string>\r
+    </property>\r
+    <addaction name="actionRotate"/>\r
+   </widget>\r
+   <addaction name="menuRotate"/>\r
+   <addaction name="menuAbout"/>\r
+  </widget>\r
+  <action name="actionAbout">\r
+   <property name="text">\r
+    <string>About</string>\r
+   </property>\r
+  </action>\r
+  <action name="actionRotate">\r
+   <property name="text">\r
+    <string>Rotate</string>\r
+   </property>\r
+  </action>\r
+ </widget>\r
+ <resources/>\r
+ <connections/>\r
+</ui>\r
diff --git a/src/main.cpp b/src/main.cpp
new file mode 100755 (executable)
index 0000000..3d90854
--- /dev/null
@@ -0,0 +1,37 @@
+/*\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 "mainwindow.h"\r
+\r
+int main(int argc, char *argv[])\r
+{\r
+    QApplication a(argc, argv);\r
+    MainWindow w;\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/mainwindow.cpp b/src/mainwindow.cpp
new file mode 100755 (executable)
index 0000000..a639db2
--- /dev/null
@@ -0,0 +1,278 @@
+/*\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 "mainwindow.h"\r
+#include "ui_mainwindow.h"\r
+#include "ui_listwindow.h"\r
+\r
+#define DBUS_KEYBOARD_SLIDE "/org/freedesktop/Hal/devices/platform_slide"\r
+\r
+/**\r
+ * Constructor.\r
+ * Settings are initialised here.\r
+ * Landscape mode is set to true.\r
+ * List window is loaded.\r
+ * @fn MainWindow\r
+ * @param parent - The parent widget.\r
+ */\r
+MainWindow::MainWindow(QWidget *parent) :\r
+    QMainWindow(parent),\r
+    editUi(new Ui::EditWindow),\r
+    listUi(new Ui::ListWindow)\r
+{\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
+    // Initialise the settings.\r
+    settings = new QSettings("WillemLiu", "easylist");\r
+    // We always start in landscape mode.\r
+    landscape = settings->value("Landscape").toBool();\r
+    if(settings->contains("Landscape"))\r
+    {\r
+        landscape = settings->value("Landscape").toBool();\r
+    }\r
+    // If keyboard is opened at start.\r
+    if(isKeyboardClosed() == false)\r
+    {\r
+        landscape = true;\r
+    }\r
+    settings->setValue("Landscape", landscape);\r
+    setLandscapeMode(landscape);\r
+    // Auto-detect portrait/landscape mode. Only works on top widget.\r
+//    setAttribute(Qt::WA_Maemo5AutoOrientation, true);\r
+    showListWindow();\r
+}\r
+\r
+/**\r
+ * Destructor.\r
+ * User interface pointers are deleted here.\r
+ *\r
+ * @fn ~MainWindow\r
+ */\r
+MainWindow::~MainWindow()\r
+{\r
+    delete editUi;\r
+    delete listUi;\r
+}\r
+\r
+/**\r
+ * Check the DBUS property to see if the keyboard is closed or opened.\r
+ */\r
+bool MainWindow::isKeyboardClosed()\r
+{\r
+    QDBusInterface propertyInterface("org.freedesktop.Hal",\r
+                    DBUS_KEYBOARD_SLIDE,\r
+                    "org.freedesktop.Hal.Device",\r
+                    QDBusConnection::systemBus());\r
+    bool result = propertyInterface.call("GetProperty", "button.state.value").arguments().at(0).toBool();\r
+    qDebug() << "Keyboard is closed:" << result;\r
+    return result;\r
+}\r
+\r
+/**\r
+ * Slot is called when a DBUS event has been received caused by opening/closing the keyboard.\r
+ */\r
+void MainWindow::slotKeyboardSlide()\r
+{\r
+    // When keyboard is opened.\r
+    if(false == isKeyboardClosed())\r
+    {\r
+        setLandscapeMode(true);\r
+    }\r
+    else\r
+    {\r
+        setLandscapeMode(landscape);\r
+    }\r
+}\r
+\r
+/**\r
+ * Slot for action from Edit list button in de the list window.\r
+ *\r
+ * @fn slotListWindowEdit\r
+ */\r
+void MainWindow::slotListWindowEdit()\r
+{\r
+    qDebug() << "Edit list";\r
+    showEditWindow();\r
+}\r
+\r
+/**\r
+ * Slot for action from Cancel button in de the edit window.\r
+ *\r
+ * @fn slotEditWindowCancel\r
+ */\r
+void MainWindow::slotEditWindowCancel()\r
+{\r
+    qDebug() << "Cancel";\r
+    showListWindow();\r
+}\r
+\r
+/**\r
+ * Slot for action from Save button in de the edit window.\r
+ *\r
+ * @fn slotEditWindowSave\r
+ */\r
+void MainWindow::slotEditWindowSave()\r
+{\r
+    qDebug() << "Save";\r
+    settings->setValue("ListText", editUi->textEdit->toPlainText());\r
+    showListWindow();\r
+}\r
+\r
+/**\r
+ * Slot for action from Clear selected button in de the list window.\r
+ *\r
+ * @fn slotListWindowClearSelected\r
+ */\r
+void MainWindow::slotListWindowClearSelected()\r
+{\r
+    qDebug() << "Clear selected";\r
+    QString listText("");\r
+    foreach(QCheckBox * cb, checkBoxes)\r
+    {\r
+        cb->deleteLater();\r
+        if(cb->isChecked() == false)\r
+        {\r
+            listText.append(cb->text());\r
+            listText.append("\n");\r
+        }\r
+    }\r
+\r
+    settings->setValue("ListText", listText);\r
+    generateList();\r
+}\r
+\r
+/**\r
+ * Show the edit window.\r
+ *\r
+ * @fn showEditWindow\r
+ */\r
+void MainWindow::showEditWindow()\r
+{\r
+    editUi->setupUi(this);\r
+    editUi->textEdit->setText(settings->value("ListText").toString());\r
+    connect(editUi->savePushButton, SIGNAL(clicked()), this, SLOT(slotEditWindowSave()));\r
+    connect(editUi->cancelPushButton, SIGNAL(clicked()), this, SLOT(slotEditWindowCancel()));\r
+}\r
+\r
+/**\r
+ * Show the list window.\r
+ *\r
+ * @fn showListWindow\r
+ */\r
+void MainWindow::showListWindow()\r
+{\r
+    listUi->setupUi(this);\r
+    listUi->listVerticalLayout->setAlignment(Qt::AlignTop);\r
+    generateList();\r
+    connect(listUi->editListPushButton, SIGNAL(clicked()), this, SLOT(slotListWindowEdit()));\r
+    connect(listUi->clearSelectedPushButton, SIGNAL(clicked()), this, SLOT(slotListWindowClearSelected()));\r
+    connect(listUi->menuAbout, SIGNAL(triggered(QAction*)), this, SLOT(slotActionAbout(QAction*)));\r
+    connect(listUi->menuRotate, SIGNAL(triggered(QAction*)), this, SLOT(slotActionRotate(QAction*)));\r
+}\r
+\r
+/**\r
+ * Generate the list of checkboxes. A pointer to such a checkbox will be stored\r
+ * in a container for later use.\r
+ *\r
+ * @fn generateList\r
+ */\r
+void MainWindow::generateList()\r
+{\r
+    qDebug() << "Generate List";\r
+\r
+    checkBoxes.clear();\r
+    QString text = settings->value("ListText").toString();\r
+    QStringList list = text.split("\n");\r
+\r
+    foreach(QString item, list)\r
+    {\r
+        if(item.length() > 0)\r
+        {\r
+            QCheckBox * cb = new QCheckBox(item);\r
+            checkBoxes.append(cb);\r
+            listUi->listVerticalLayout->addWidget(cb);\r
+        }\r
+    }\r
+}\r
+\r
+/**\r
+ * Is called when the application terminates.\r
+ *\r
+ * @fn closeEvent\r
+ * @param event - the QCloseEvent.\r
+ */\r
+void MainWindow::closeEvent(QCloseEvent *event)\r
+{\r
+    qDebug() << "Closed";\r
+    event->accept();\r
+}\r
+\r
+/**\r
+ * Is called when the Rotate menu item is triggered. Display orientation is saved in the QSettings.\r
+ *\r
+ * @fn slotActionRotate\r
+ * @param QAction* action - the action.\r
+ */\r
+void MainWindow::slotActionRotate(QAction* action)\r
+{\r
+    qDebug() << "Rotate" << action->text();\r
+    landscape = !landscape;\r
+    settings->setValue("Landscape", landscape);\r
+    setLandscapeMode(landscape);\r
+}\r
+\r
+/**\r
+ * Set landscape/portrait mode.\r
+ */\r
+void MainWindow::setLandscapeMode(bool landscape)\r
+{\r
+    if(landscape)\r
+    {\r
+        setAttribute(Qt::WA_Maemo5LandscapeOrientation, true);\r
+        setAttribute(Qt::WA_Maemo5PortraitOrientation, false);\r
+    }\r
+    else\r
+    {\r
+        setAttribute(Qt::WA_Maemo5PortraitOrientation, true);\r
+        setAttribute(Qt::WA_Maemo5LandscapeOrientation, false);\r
+    }\r
+}\r
+\r
+/**\r
+ * Is called when the About menu item is triggered.\r
+ *\r
+ * @fn slotActionAbout\r
+ * @param QAction* action - the action.\r
+ */\r
+void MainWindow::slotActionAbout(QAction* action)\r
+{\r
+    qDebug() << "About" << action->text();\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
diff --git a/src/mainwindow.h b/src/mainwindow.h
new file mode 100755 (executable)
index 0000000..7501ceb
--- /dev/null
@@ -0,0 +1,78 @@
+/*
+ *  Copyright (c) 2010 Willem Liu
+ *
+ *  Permission is hereby granted, free of charge, to any person obtaining a copy
+ *  of this software and associated documentation files (the "Software"), to deal
+ *  in the Software without restriction, including without limitation the rights
+ *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ *  copies of the Software, and to permit persons to whom the Software is
+ *  furnished to do so, subject to the following conditions:
+ *
+ *  The above copyright notice and this permission notice shall be included in
+ *  all copies or substantial portions of the Software.
+ *
+ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ *  THE SOFTWARE.
+ */
+
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>
+#include <QDebug>
+#include <QFrame>
+#include <QCloseEvent>
+#include <QSettings>
+#include <QCheckBox>
+#include <QMessageBox>
+#include <QtDBus/QDBusConnection>
+#include <QtDBus/QDBusInterface>
+
+namespace Ui {
+    class EditWindow;
+    class ListWindow;
+}
+
+class MainWindow : public QMainWindow
+{
+    Q_OBJECT
+
+public:
+    explicit MainWindow(QWidget *parent = 0);
+    ~MainWindow();
+
+private:
+    QVector<QCheckBox * > checkBoxes;
+    QSettings *settings;
+    bool landscape;
+
+    Ui::EditWindow *editUi;
+    Ui::ListWindow *listUi;
+
+    void closeEvent(QCloseEvent *event);
+
+    void showEditWindow();
+    void showListWindow();
+    void generateList();
+    void setLandscapeMode(bool landscape);
+    bool isKeyboardClosed();
+
+public slots:
+    void slotEditWindowSave();
+    void slotEditWindowCancel();
+    void slotListWindowEdit();
+    void slotListWindowClearSelected();
+
+    void slotKeyboardSlide();
+
+private slots:
+    void slotActionAbout(QAction* action);
+    void slotActionRotate(QAction* action);
+};
+
+#endif // MAINWINDOW_H
diff --git a/src/mainwindow.ui b/src/mainwindow.ui
new file mode 100755 (executable)
index 0000000..eb66740
--- /dev/null
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<ui version="4.0">\r
+ <class>EditWindow</class>\r
+ <widget class="QMainWindow" name="EditWindow">\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="QVBoxLayout" name="verticalLayout">\r
+    <item>\r
+     <layout class="QGridLayout" name="gridLayout">\r
+      <item row="0" column="0">\r
+       <widget class="QTextEdit" name="textEdit"/>\r
+      </item>\r
+     </layout>\r
+    </item>\r
+    <item>\r
+     <layout class="QGridLayout" name="gridLayout_2">\r
+      <item row="0" column="1">\r
+       <widget class="QPushButton" name="cancelPushButton">\r
+        <property name="text">\r
+         <string>Cancel</string>\r
+        </property>\r
+       </widget>\r
+      </item>\r
+      <item row="0" column="0">\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
+   </layout>\r
+  </widget>\r
+ </widget>\r
+ <layoutdefault spacing="6" margin="11"/>\r
+ <resources/>\r
+ <connections/>\r
+</ui>\r
diff --git a/src/src.pro b/src/src.pro
new file mode 100755 (executable)
index 0000000..6b6f419
--- /dev/null
@@ -0,0 +1,61 @@
+#-------------------------------------------------\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\r
+QT += dbus\r
+TARGET = easylist\r
+TEMPLATE = app\r
+DEPENDPATH += .\r
+INCLUDEPATH += .\r
+DESTDIR = ../\r
+\r
+SOURCES += main.cpp\\r
+        mainwindow.cpp\r
+\r
+HEADERS  += mainwindow.h\r
+\r
+FORMS    += mainwindow.ui \\r
+    listwindow.ui\r
+\r
+CONFIG += mobility\r
+MOBILITY = \r
+\r
+unix {\r
+    #VARIABLES\r
+    isEmpty(PREFIX) {\r
+        PREFIX = /usr/local\r
+    }\r
+    BINDIR = $$PREFIX/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