New filestructure with debian dir for packaking
authorTommi Asp <tomma.asp@gmail.com>
Fri, 9 Apr 2010 09:17:22 +0000 (12:17 +0300)
committerTommi Asp <tomma.asp@gmail.com>
Fri, 9 Apr 2010 09:17:22 +0000 (12:17 +0300)
42 files changed:
cuteexplorer.pro [new file with mode: 0644]
debian/README.Debian [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/cron.d.ex [new file with mode: 0644]
debian/cuteexplorer-dbg/usr/lib/debug/usr/bin/cuteexplorer [new file with mode: 0644]
debian/cuteexplorer-default.ex [new file with mode: 0644]
debian/cuteexplorer.doc-base.EX [new file with mode: 0644]
debian/dirs [new file with mode: 0644]
debian/docs [new file with mode: 0644]
debian/emacsen-install.ex [new file with mode: 0644]
debian/emacsen-remove.ex [new file with mode: 0644]
debian/emacsen-startup.ex [new file with mode: 0644]
debian/init.d.ex [new file with mode: 0644]
debian/manpage.1.ex [new file with mode: 0644]
debian/manpage.sgml.ex [new file with mode: 0644]
debian/manpage.xml.ex [new file with mode: 0644]
debian/menu.ex [new file with mode: 0644]
debian/postinst.ex [new file with mode: 0644]
debian/postrm.ex [new file with mode: 0644]
debian/preinst.ex [new file with mode: 0644]
debian/prerm.ex [new file with mode: 0644]
debian/rules [new file with mode: 0755]
debian/watch.ex [new file with mode: 0644]
src/cuteexplorer.desktop [new file with mode: 0644]
src/cuteexplorer_icon.svg [new file with mode: 0644]
src/cuteexplorer_icon48.base64 [new file with mode: 0644]
src/cuteexplorer_icon48.png [new file with mode: 0644]
src/cuteexplorer_icon64.png [new file with mode: 0644]
src/cuteexplorertranslation_fi_FI.qm [new file with mode: 0644]
src/cuteexplorertranslation_fi_FI.ts [new file with mode: 0644]
src/filelistwidget.cpp [new file with mode: 0644]
src/filelistwidget.h [new file with mode: 0644]
src/i18n.qrc [new file with mode: 0644]
src/main.cpp [new file with mode: 0644]
src/mainwindow.cpp [new file with mode: 0644]
src/mainwindow.h [new file with mode: 0644]
src/mainwindow.ui [new file with mode: 0644]
src/notes.txt [new file with mode: 0644]
src/src.pro [new file with mode: 0644]

diff --git a/cuteexplorer.pro b/cuteexplorer.pro
new file mode 100644 (file)
index 0000000..5e620b8
--- /dev/null
@@ -0,0 +1,8 @@
+QMAKEVERSION = $$[QMAKE_VERSION]
+ISQT4 = $$find(QMAKEVERSION, ^[2-9])
+isEmpty( ISQT4 ) {
+error("Use the qmake include with Qt4.4 or greater");
+}
+
+TEMPLATE = subdirs
+SUBDIRS  = src
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644 (file)
index 0000000..8f8fa3c
--- /dev/null
@@ -0,0 +1,6 @@
+cuteexplorer for Debian
+-----------------------
+
+<possible notes regarding this package - if none, delete this file>
+
+ -- unknown <tomma.asp@gmail.com>  Mon, 22 Mar 2010 15:26:30 +0200
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..447dd04
--- /dev/null
@@ -0,0 +1,12 @@
+cuteexplorer (1.0-2) unstable; urgency=low
+
+  * Fixed broken .desktop -file
+
+ -- Tommi Asp <tomma.asp@gmail.com>  Mon, 22 Mar 2010 23:07:55 +0200
+
+cuteexplorer (1.0-1) unstable; urgency=low
+
+  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>
+
+ -- Tommi Asp <tomma.asp@gmail.com>  Mon, 22 Mar 2010 14:09:49 +0200
+
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..f6be00f
--- /dev/null
@@ -0,0 +1,38 @@
+Source: cuteexplorer
+Section: user/utilities
+Priority: extra
+Maintainer: Tommi Asp <tomma.asp@gmail.com>
+Build-Depends: debhelper (>= 5), libqt4-maemo5-dev, libdbus-1-dev, libhildonmime-dev, libhildonmime-dev
+Standards-Version: 3.7.2
+
+Package: cuteexplorer
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Filemanager for maemo5 using Qt
+ Navigate in the real filesystem.
+ Can send files via bluetooth.
+XSBC-Maemo-Display-Name: CuteExplorer
+XB-Maemo-Icon-26:
+ iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAA7E
+ AAAOxAGVKw4bAAADfklEQVRoge2ZTWsrVRjHf2eal5tMILdxlbYRym27cJUu
+ pCi34MZFtZvrxg/gQr+ApRuhO6nVnYLQT2AXIsJdiILbG4R7K6ISpoFSLWnv
+ hZjbppPJS3NcJGecvHfy4iSQHxwy88xzcv7/M3POzJwRUkqmGc1rAcMyM+A1
+ U29AACHgEbDgsZa7kgW+lVIWVSANyCkraWBRSoloBABKI+qhcRNs/H4npXyk
+ DHwspfzcmbWzs/NjoTynSTQxV31Z6fevWkDTiBKovahZo1Kq67q+v7//0BkT
+ QuwCnwJFKWXY14gXWitbllX658Huu3IuRPS3XQBisRjr6+tNeWdnZxiGwf33
+ 7xN+GOb5J8+pvqiOxIBlWd93CCutAQBfhwQbf+4XmAva+8VikdPT06acfD4P
+ QOn3EuKeoHZVG1zxAHQ1EAwGM/eyj7+A/waJaZqcnJx0zDefmphPzZGK8/v9
+ PTsYehjQdf3Pg4ODr0eqyCV7e3sf9cuxDQghAsA7wANAbG9vvyGEiIxRX19a
+ NGSAx605ysArwDPgNXXg4uIC4L0xa+xJBw1/AN84c5SBD4EEgKbVny6EEPa2
+ IplMsrm5ORaxR0dHXF5eNsWcGmq1GtQ7+ANnjjKQAFhZWSEajdYDiYSqZBOP
+ x9tio2JtbY2FheanGaeGfD5PJpMBeNWZ0zSIw+Fwz0ZyuRzFYrFnzqBYVu/7
+ XzdtfacpJ8lkkq2tLTdV7szh4SHn5+eu67kykEqlSKVSrhsZJ64MbGxsTPcZ
+ OD4+Jp1Ou27kLhQKbY9jd8KVgVgsxvLy8kANKTKZTNt0OQyuDEQiEZaWloZq
+ MJvNDlW/FVcGDMPAMIyRChiWqX+pnxnwmqYxYJomPl89VKlUiMfjnohSlMtl
+ bm5ubD0tvFQbXi+RDFo+UwvTP0+AGLflJyAgpcQHfAW8BbC6umpfQpNGpVJx
+ vo9/KaUsQ8sYCIVCCCHI5XJUq6NZGhkWn89HLBbr2rFt0evra0qlyVmku729
+ 5erqikik8+t52zQ6rjeuYeilaSruA0KIrsfaDOi63rPC/40QouvlA/Ux8Jfa
+ KRQKzM/Ps7i4ODGXkqZp9sTi4G+1IaifhSfA63Zwgs4AQMuX1CfAm1IFG78J
+ 4Fe8v0H1K89ofNhQRSgjQgg/8DawSv3MTBISOAF+kFI23aDE7EO3x8wMeM3M
+ gNdMvYF/Acd52O0Tf+jGAAAAAElFTkSuQmCC
+XSBC-Bugtracker: https://garage.maemo.org/tracker/?atid=5332&group_id=1469&func=browse
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..d66a63f
--- /dev/null
@@ -0,0 +1,36 @@
+This package was debianized by unknown <tomma.asp@gmail.com> on
+Mon, 22 Mar 2010 15:26:30 +0200.
+
+It was downloaded from <fill in http/ftp site>
+
+Upstream Author: <put author(s) name and email here>
+
+Copyright: <put the year(s) of the copyright, and the names of the
+            copyright holder(s) here>
+
+License:
+
+    This package is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser 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
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser 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 Lesser General
+Public License can be found in `/usr/share/common-licenses/LGPL'.
+
+
+The Debian packaging is (C) 2010, unknown <tomma.asp@gmail.com> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
+
+
+# Please also look if there are files or directories which have a
+# different copyright/license attached and list them here.
diff --git a/debian/cron.d.ex b/debian/cron.d.ex
new file mode 100644 (file)
index 0000000..8d3c775
--- /dev/null
@@ -0,0 +1,4 @@
+#
+# Regular cron jobs for the cuteexplorer package
+#
+0 4    * * *   root    cuteexplorer_maintenance
diff --git a/debian/cuteexplorer-dbg/usr/lib/debug/usr/bin/cuteexplorer b/debian/cuteexplorer-dbg/usr/lib/debug/usr/bin/cuteexplorer
new file mode 100644 (file)
index 0000000..69726ba
Binary files /dev/null and b/debian/cuteexplorer-dbg/usr/lib/debug/usr/bin/cuteexplorer differ
diff --git a/debian/cuteexplorer-default.ex b/debian/cuteexplorer-default.ex
new file mode 100644 (file)
index 0000000..aa9d00e
--- /dev/null
@@ -0,0 +1,10 @@
+# Defaults for cuteexplorer initscript
+# sourced by /etc/init.d/cuteexplorer
+# installed at /etc/default/cuteexplorer by the maintainer scripts
+
+#
+# This is a POSIX shell fragment
+#
+
+# Additional options that are passed to the Daemon.
+DAEMON_OPTS=""
diff --git a/debian/cuteexplorer.doc-base.EX b/debian/cuteexplorer.doc-base.EX
new file mode 100644 (file)
index 0000000..c396ff5
--- /dev/null
@@ -0,0 +1,22 @@
+Document: cuteexplorer
+Title: Debian cuteexplorer Manual
+Author: <insert document author here>
+Abstract: This manual describes what cuteexplorer is
+ and how it can be used to
+ manage online manuals on Debian systems.
+Section: unknown
+
+Format: debiandoc-sgml
+Files: /usr/share/doc/cuteexplorer/cuteexplorer.sgml.gz
+
+Format: postscript
+Files: /usr/share/doc/cuteexplorer/cuteexplorer.ps.gz
+
+Format: text
+Files: /usr/share/doc/cuteexplorer/cuteexplorer.text.gz
+
+Format: HTML
+Index: /usr/share/doc/cuteexplorer/html/index.html
+Files: /usr/share/doc/cuteexplorer/html/*.html
+
+  
diff --git a/debian/dirs b/debian/dirs
new file mode 100644 (file)
index 0000000..ca882bb
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin
+usr/sbin
diff --git a/debian/docs b/debian/docs
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/debian/emacsen-install.ex b/debian/emacsen-install.ex
new file mode 100644 (file)
index 0000000..293597c
--- /dev/null
@@ -0,0 +1,45 @@
+#! /bin/sh -e
+# /usr/lib/emacsen-common/packages/install/cuteexplorer
+
+# Written by Jim Van Zandt <jrv@debian.org>, borrowing heavily
+# from the install scripts for gettext by Santiago Vila
+# <sanvila@ctv.es> and octave by Dirk Eddelbuettel <edd@debian.org>.
+
+FLAVOR=$1
+PACKAGE=cuteexplorer
+
+if [ ${FLAVOR} = emacs ]; then exit 0; fi
+
+echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}
+
+#FLAVORTEST=`echo $FLAVOR | cut -c-6`
+#if [ ${FLAVORTEST} = xemacs ] ; then
+#    SITEFLAG="-no-site-file"
+#else
+#    SITEFLAG="--no-site-file"
+#fi
+FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile"
+
+ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
+ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+
+# Install-info-altdir does not actually exist. 
+# Maybe somebody will write it.
+if test -x /usr/sbin/install-info-altdir; then
+    echo install/${PACKAGE}: install Info links for ${FLAVOR}
+    install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz
+fi
+
+install -m 755 -d ${ELCDIR}
+cd ${ELDIR}
+FILES=`echo *.el`
+cp ${FILES} ${ELCDIR}
+cd ${ELCDIR}
+
+cat << EOF > path.el
+(setq load-path (cons "." load-path) byte-compile-warnings nil)
+EOF
+${FLAVOR} ${FLAGS} ${FILES}
+rm -f *.el path.el
+
+exit 0
diff --git a/debian/emacsen-remove.ex b/debian/emacsen-remove.ex
new file mode 100644 (file)
index 0000000..2955d94
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/sh -e
+# /usr/lib/emacsen-common/packages/remove/cuteexplorer
+
+FLAVOR=$1
+PACKAGE=cuteexplorer
+
+if [ ${FLAVOR} != emacs ]; then
+    if test -x /usr/sbin/install-info-altdir; then
+        echo remove/${PACKAGE}: removing Info links for ${FLAVOR}
+        install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/info/cuteexplorer.info.gz
+    fi
+
+    echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR}
+    rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+fi
diff --git a/debian/emacsen-startup.ex b/debian/emacsen-startup.ex
new file mode 100644 (file)
index 0000000..8b3d715
--- /dev/null
@@ -0,0 +1,25 @@
+;; -*-emacs-lisp-*-
+;;
+;; Emacs startup file, e.g.  /etc/emacs/site-start.d/50cuteexplorer.el
+;; for the Debian cuteexplorer package
+;;
+;; Originally contributed by Nils Naumann <naumann@unileoben.ac.at>
+;; Modified by Dirk Eddelbuettel <edd@debian.org>
+;; Adapted for dh-make by Jim Van Zandt <jrv@debian.org>
+
+;; The cuteexplorer package follows the Debian/GNU Linux 'emacsen' policy and
+;; byte-compiles its elisp files for each 'emacs flavor' (emacs19,
+;; xemacs19, emacs20, xemacs20...).  The compiled code is then
+;; installed in a subdirectory of the respective site-lisp directory.
+;; We have to add this to the load-path:
+(let ((package-dir (concat "/usr/share/"
+                           (symbol-name flavor)
+                           "/site-lisp/cuteexplorer")))
+;; If package-dir does not exist, the cuteexplorer package must have
+;; removed but not purged, and we should skip the setup.
+  (when (file-directory-p package-dir)
+        (setq load-path (cons package-dir load-path))
+       (autoload 'cuteexplorer-mode "cuteexplorer-mode"
+         "Major mode for editing cuteexplorer files." t)
+       (add-to-list 'auto-mode-alist '("\\.cuteexplorer$" . cuteexplorer-mode))))
+
diff --git a/debian/init.d.ex b/debian/init.d.ex
new file mode 100644 (file)
index 0000000..740c9d7
--- /dev/null
@@ -0,0 +1,81 @@
+#! /bin/sh
+#
+# skeleton     example file to build /etc/init.d/ scripts.
+#              This file should be used to construct scripts for /etc/init.d.
+#
+#              Written by Miquel van Smoorenburg <miquels@cistron.nl>.
+#              Modified for Debian 
+#              by Ian Murdock <imurdock@gnu.ai.mit.edu>.
+#
+# Version:     @(#)skeleton  1.9  26-Feb-2001  miquels@cistron.nl
+#
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/cuteexplorer
+NAME=cuteexplorer
+DESC=cuteexplorer
+
+test -x $DAEMON || exit 0
+
+# Include cuteexplorer defaults if available
+if [ -f /etc/default/cuteexplorer ] ; then
+       . /etc/default/cuteexplorer
+fi
+
+set -e
+
+case "$1" in
+  start)
+       echo -n "Starting $DESC: "
+       start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
+               --exec $DAEMON -- $DAEMON_OPTS
+       echo "$NAME."
+       ;;
+  stop)
+       echo -n "Stopping $DESC: "
+       start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
+               --exec $DAEMON
+       echo "$NAME."
+       ;;
+  #reload)
+       #
+       #       If the daemon can reload its config files on the fly
+       #       for example by sending it SIGHUP, do it here.
+       #
+       #       If the daemon responds to changes in its config file
+       #       directly anyway, make this a do-nothing entry.
+       #
+       # echo "Reloading $DESC configuration files."
+       # start-stop-daemon --stop --signal 1 --quiet --pidfile \
+       #       /var/run/$NAME.pid --exec $DAEMON
+  #;;
+  force-reload)
+       #
+       #       If the "reload" option is implemented, move the "force-reload"
+       #       option to the "reload" entry above. If not, "force-reload" is
+       #       just the same as "restart" except that it does nothing if the
+       #   daemon isn't already running.
+       # check wether $DAEMON is running. If so, restart
+       start-stop-daemon --stop --test --quiet --pidfile \
+               /var/run/$NAME.pid --exec $DAEMON \
+       && $0 restart \
+       || exit 0
+       ;;
+  restart)
+    echo -n "Restarting $DESC: "
+       start-stop-daemon --stop --quiet --pidfile \
+               /var/run/$NAME.pid --exec $DAEMON
+       sleep 1
+       start-stop-daemon --start --quiet --pidfile \
+               /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
+       echo "$NAME."
+       ;;
+  *)
+       N=/etc/init.d/$NAME
+       # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+       echo "Usage: $N {start|stop|restart|force-reload}" >&2
+       exit 1
+       ;;
+esac
+
+exit 0
diff --git a/debian/manpage.1.ex b/debian/manpage.1.ex
new file mode 100644 (file)
index 0000000..fee2a3b
--- /dev/null
@@ -0,0 +1,59 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH CUTEEXPLORER SECTION "March 22, 2010"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh        disable hyphenation
+.\" .hy        enable hyphenation
+.\" .ad l      left justify
+.\" .ad b      justify to both left and right margins
+.\" .nf        disable filling
+.\" .fi        enable filling
+.\" .br        insert line break
+.\" .sp <n>    insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+cuteexplorer \- program to do something
+.SH SYNOPSIS
+.B cuteexplorer
+.RI [ options ] " files" ...
+.br
+.B bar
+.RI [ options ] " files" ...
+.SH DESCRIPTION
+This manual page documents briefly the
+.B cuteexplorer
+and
+.B bar
+commands.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
+.\" respectively.
+\fBcuteexplorer\fP is a program that...
+.SH OPTIONS
+These programs follow the usual GNU command line syntax, with long
+options starting with two dashes (`-').
+A summary of options is included below.
+For a complete description, see the Info files.
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.B \-v, \-\-version
+Show version of program.
+.SH SEE ALSO
+.BR bar (1),
+.BR baz (1).
+.br
+The programs are documented fully by
+.IR "The Rise and Fall of a Fooish Bar" ,
+available via the Info system.
+.SH AUTHOR
+cuteexplorer was written by <upstream author>.
+.PP
+This manual page was written by unknown <tomma.asp@gmail.com>,
+for the Debian project (but may be used by others).
diff --git a/debian/manpage.sgml.ex b/debian/manpage.sgml.ex
new file mode 100644 (file)
index 0000000..bb856e1
--- /dev/null
@@ -0,0 +1,156 @@
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+
+<!-- Process this file with docbook-to-man to generate an nroff manual
+     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
+     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
+     less'.  A typical entry in a Makefile or Makefile.am is:
+
+manpage.1: manpage.sgml
+       docbook-to-man $< > $@
+
+    
+       The docbook-to-man binary is found in the docbook-to-man package.
+       Please remember that if you create the nroff version in one of the
+       debian/rules file targets (such as build), you will need to include
+       docbook-to-man in your Build-Depends control field.
+
+  -->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
+  <!ENTITY dhsurname   "<surname>SURNAME</surname>">
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>March 22, 2010</date>">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1). -->
+  <!ENTITY dhsection   "<manvolnum>SECTION</manvolnum>">
+  <!ENTITY dhemail     "<email>tomma.asp@gmail.com</email>">
+  <!ENTITY dhusername  "unknown">
+  <!ENTITY dhucpackage "<refentrytitle>CUTEEXPLORER</refentrytitle>">
+  <!ENTITY dhpackage   "cuteexplorer">
+
+  <!ENTITY debian      "<productname>Debian</productname>">
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+  <refentryinfo>
+    <address>
+      &dhemail;
+    </address>
+    <author>
+      &dhfirstname;
+      &dhsurname;
+    </author>
+    <copyright>
+      <year>2003</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    &dhdate;
+  </refentryinfo>
+  <refmeta>
+    &dhucpackage;
+
+    &dhsection;
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+
+    <refpurpose>program to do something</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+
+      <arg><option>-e <replaceable>this</replaceable></option></arg>
+
+      <arg><option>--example <replaceable>that</replaceable></option></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+    <para>This manual page documents briefly the
+      <command>&dhpackage;</command> and <command>bar</command>
+      commands.</para>
+
+    <para>This manual page was written for the &debian; distribution
+      because the original program does not have a manual page.
+      Instead, it has documentation in the &gnu;
+      <application>Info</application> format; see below.</para>
+
+    <para><command>&dhpackage;</command> is a program that...</para>
+
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+
+    <para>These programs follow the usual &gnu; command line syntax,
+      with long options starting with two dashes (`-').  A summary of
+      options is included below.  For a complete description, see the
+      <application>Info</application> files.</para>
+
+    <variablelist>
+      <varlistentry>
+        <term><option>-h</option>
+          <option>--help</option>
+        </term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-v</option>
+          <option>--version</option>
+        </term>
+        <listitem>
+          <para>Show version of program.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+
+    <para>bar (1), baz (1).</para>
+
+    <para>The programs are documented fully by <citetitle>The Rise and
+      Fall of a Fooish Bar</citetitle> available via the
+      <application>Info</application> system.</para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+
+    <para>This manual page was written by &dhusername; &dhemail; for
+      the &debian; system (but may be used by others).  Permission is
+      granted to copy, distribute and/or modify this document under
+      the terms of the &gnu; General Public License, Version 2 any 
+         later version published by the Free Software Foundation.
+    </para>
+       <para>
+         On Debian systems, the complete text of the GNU General Public
+         License can be found in /usr/share/common-licenses/GPL.
+       </para>
+
+  </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
+
+
diff --git a/debian/manpage.xml.ex b/debian/manpage.xml.ex
new file mode 100644 (file)
index 0000000..78da485
--- /dev/null
@@ -0,0 +1,148 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+
+<!--
+
+Process this file with an XSLT processor: `xsltproc \
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
+manpages/docbook.xsl manpage.dbk'.  A manual page
+<package>.<section> will be generated.  You may view the
+manual page with: nroff -man <package>.<section> | less'.  A
+typical entry in a Makefile or Makefile.am is:
+
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
+manpages/docbook.xsl
+XP=xsltproc -''-nonet
+
+manpage.1: manpage.dbk
+        $(XP) $(DB2MAN) $<
+    
+The xsltproc binary is found in the xsltproc package.  The
+XSL files are in docbook-xsl.  Please remember that if you
+create the nroff version in one of the debian/rules file
+targets (such as build), you will need to include xsltproc
+and docbook-xsl in your Build-Depends control field.
+
+-->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
+  <!ENTITY dhsurname   "<surname>SURNAME</surname>">
+  <!-- Please adjust the date whenever revising the manpage. -->
+  <!ENTITY dhdate      "<date>March 22, 2010</date>">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1). -->
+  <!ENTITY dhsection   "<manvolnum>SECTION</manvolnum>">
+  <!ENTITY dhemail     "<email>tomma.asp@gmail.com</email>">
+  <!ENTITY dhusername  "unknown">
+  <!ENTITY dhucpackage "<refentrytitle>CUTEEXPLORER</refentrytitle>">
+  <!ENTITY dhpackage   "cuteexplorer">
+
+  <!ENTITY debian      "<productname>Debian</productname>">
+  <!ENTITY gnu         "<acronym>GNU</acronym>">
+  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+  <refentryinfo>
+    <address>
+      &dhemail;
+    </address>
+    <author>
+      &dhfirstname;
+      &dhsurname;
+    </author>
+    <copyright>
+      <year>2003</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    &dhdate;
+  </refentryinfo>
+  <refmeta>
+    &dhucpackage;
+
+    &dhsection;
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+
+    <refpurpose>program to do something</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+
+      <arg><option>-e <replaceable>this</replaceable></option></arg>
+
+      <arg><option>--example <replaceable>that</replaceable></option></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1>
+    <title>DESCRIPTION</title>
+
+    <para>This manual page documents briefly the
+      <command>&dhpackage;</command> and <command>bar</command>
+      commands.</para>
+
+    <para>This manual page was written for the &debian; distribution
+      because the original program does not have a manual page.
+      Instead, it has documentation in the &gnu;
+      <application>Info</application> format; see below.</para>
+
+    <para><command>&dhpackage;</command> is a program that...</para>
+
+  </refsect1>
+  <refsect1>
+    <title>OPTIONS</title>
+
+    <para>These programs follow the usual &gnu; command line syntax,
+      with long options starting with two dashes (`-').  A summary of
+      options is included below.  For a complete description, see the
+      <application>Info</application> files.</para>
+
+    <variablelist>
+      <varlistentry>
+        <term><option>-h</option>
+          <option>--help</option>
+        </term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-v</option>
+          <option>--version</option>
+        </term>
+        <listitem>
+          <para>Show version of program.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+  <refsect1>
+    <title>SEE ALSO</title>
+
+    <para>bar (1), baz (1).</para>
+
+    <para>The programs are documented fully by <citetitle>The Rise and
+      Fall of a Fooish Bar</citetitle> available via the
+      <application>Info</application> system.</para>
+  </refsect1>
+  <refsect1>
+    <title>AUTHOR</title>
+
+    <para>This manual page was written by &dhusername; &dhemail; for
+      the &debian; system (but may be used by others).  Permission is
+      granted to copy, distribute and/or modify this document under
+      the terms of the &gnu; General Public License, Version 2 any 
+         later version published by the Free Software Foundation.
+    </para>
+       <para>
+         On Debian systems, the complete text of the GNU General Public
+         License can be found in /usr/share/common-licenses/GPL.
+       </para>
+
+  </refsect1>
+</refentry>
+
diff --git a/debian/menu.ex b/debian/menu.ex
new file mode 100644 (file)
index 0000000..aab1a2c
--- /dev/null
@@ -0,0 +1,2 @@
+?package(cuteexplorer):needs="X11|text|vc|wm" section="Apps/see-menu-manual"\
+  title="cuteexplorer" command="/usr/bin/cuteexplorer"
diff --git a/debian/postinst.ex b/debian/postinst.ex
new file mode 100644 (file)
index 0000000..1453621
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/sh
+# postinst script for cuteexplorer
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    configure)
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/postrm.ex b/debian/postrm.ex
new file mode 100644 (file)
index 0000000..b042d76
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/sh
+# postrm script for cuteexplorer
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <overwriter>
+#          <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/preinst.ex b/debian/preinst.ex
new file mode 100644 (file)
index 0000000..98c07e9
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh
+# preinst script for cuteexplorer
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <new-preinst> `install'
+#        * <new-preinst> `install' <old-version>
+#        * <new-preinst> `upgrade' <old-version>
+#        * <old-preinst> `abort-upgrade' <new-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    install|upgrade)
+    ;;
+
+    abort-upgrade)
+    ;;
+
+    *)
+        echo "preinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/prerm.ex b/debian/prerm.ex
new file mode 100644 (file)
index 0000000..ee5ea81
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/sh
+# prerm script for cuteexplorer
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <prerm> `remove'
+#        * <old-prerm> `upgrade' <new-version>
+#        * <new-prerm> `failed-upgrade' <old-version>
+#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+#        * <deconfigured's-prerm> `deconfigure' `in-favour'
+#          <package-being-installed> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    remove|upgrade|deconfigure)
+    ;;
+
+    failed-upgrade)
+    ;;
+
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..7e6216a
--- /dev/null
@@ -0,0 +1,54 @@
+#!/usr/bin/make -f
+APPNAME := cuteexplorer
+builddir:
+       mkdir -p builddir
+
+builddir/Makefile: builddir
+       cd builddir && /opt/qt4-maemo5/bin/qmake 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
+install: build
+       dh_testdir
+       dh_testroot
+       dh_clean -k
+       dh_installdirs
+
+       # 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=$(APPNAME)-dbg
+       dh_compress
+       dh_fixperms
+       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/debian/watch.ex b/debian/watch.ex
new file mode 100644 (file)
index 0000000..c995601
--- /dev/null
@@ -0,0 +1,22 @@
+# Example watch control file for uscan
+# Rename this file to "watch" and then you can run the "uscan" command
+# to check for upstream updates and more.
+# See uscan(1) for format
+
+# Compulsory line, this is a version 3 file
+version=3
+
+# Uncomment to examine a Webpage 
+# <Webpage URL> <string match>
+#http://www.example.com/downloads.php cuteexplorer-(.*)\.tar\.gz
+
+# Uncomment to examine a Webserver directory
+#http://www.example.com/pub/cuteexplorer-(.*)\.tar\.gz
+
+# Uncommment to examine a FTP server
+#ftp://ftp.example.com/pub/cuteexplorer-(.*)\.tar\.gz debian uupdate
+
+# Uncomment to find new files on sourceforge, for debscripts >= 2.9
+# http://sf.net/cuteexplorer/cuteexplorer-(.*)\.tar\.gz
+
+
diff --git a/src/cuteexplorer.desktop b/src/cuteexplorer.desktop
new file mode 100644 (file)
index 0000000..34c9eb6
--- /dev/null
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Type=Application
+Name=CuteExplorer
+Comment=Explore your maemo
+Exec=/usr/bin/cuteexplorer
+Icon=cuteexplorer_icon64
diff --git a/src/cuteexplorer_icon.svg b/src/cuteexplorer_icon.svg
new file mode 100644 (file)
index 0000000..9286d9e
--- /dev/null
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" width="64" height="64" id="svg2383">
+  <defs id="defs2385">
+    <linearGradient id="linearGradient3203">
+      <stop id="stop3205" style="stop-color: rgb(47, 47, 47); stop-opacity: 1;" offset="0"/>
+      <stop id="stop3207" style="stop-color: rgb(25, 25, 25); stop-opacity: 1;" offset="1"/>
+    </linearGradient>
+    <linearGradient id="linearGradient3171">
+      <stop id="stop3173" style="stop-color: rgb(81, 81, 81); stop-opacity: 1;" offset="0"/>
+      <stop id="stop3175" style="stop-color: rgb(22, 22, 22); stop-opacity: 1;" offset="1"/>
+    </linearGradient>
+    <radialGradient cx="31.643028" cy="8.0269022" r="18.113558" fx="31.643028" fy="8.0269022" id="radialGradient3177" xlink:href="#linearGradient3171" gradientUnits="userSpaceOnUse" gradientTransform="matrix(-2.86067e-07, 1.26887, -1.16834, 0, 40.9694, -26.5322)"/>
+    <linearGradient x1="9.3691645" y1="13.265088" x2="9.3691645" y2="36.072021" id="linearGradient3209" xlink:href="#linearGradient3203" gradientUnits="userSpaceOnUse"/>
+  </defs>
+  <g id="layer1">
+    <rect width="52.38591" height="30.383835" rx="3.047076" ry="3.047076" x="5.807045" y="21.418575" id="rect2395" style="opacity: 1; fill: rgb(51, 51, 51); fill-opacity: 1; stroke: rgb(0, 0, 0); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+    <rect width="56.568539" height="28.833637" rx="2.3849602" ry="2.3849602" x="3.7157307" y="11.497321" id="rect2393" style="opacity: 1; fill: url(&quot;#linearGradient3209&quot;) rgb(0, 0, 0); fill-opacity: 1; stroke: rgb(0, 0, 0); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+    <rect width="46.342133" height="6.2007828" rx="2.1137414" ry="2.1137414" x="8.8289337" y="42.985096" id="rect2397" style="opacity: 1; fill: rgb(22, 22, 22); fill-opacity: 1; stroke: none; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+    <rect width="41.477116" height="24.803131" rx="0" ry="0" x="11.261442" y="13.357556" id="rect3169" style="opacity: 1; fill: url(&quot;#radialGradient3177&quot;) rgb(0, 0, 0); fill-opacity: 1; stroke: rgb(128, 128, 128); stroke-width: 0.5; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+    <g transform="translate(0.125, 1.625)" id="g3189">
+      <path d="M 17.6875,21.25 L 45.8125,21.25" id="path3181" style="fill: none; fill-rule: evenodd; stroke: rgb(230, 230, 230); stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;"/>
+      <path d="M 17.6875,24.208333 L 45.8125,24.208333" id="path3183" style="fill: none; fill-rule: evenodd; stroke: rgb(230, 230, 230); stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;"/>
+      <path d="M 17.6875,27.166667 L 45.8125,27.166667" id="path3185" style="fill: none; fill-rule: evenodd; stroke: rgb(230, 230, 230); stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;"/>
+      <path d="M 17.6875,30.125 L 38.570012,30.125" id="path3187" style="fill: none; fill-rule: evenodd; stroke: rgb(230, 230, 230); stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;"/>
+    </g>
+    <rect width="40.9375" height="3.8125" rx="0" ry="0" x="11.53125" y="13.625" id="rect3211" style="opacity: 1; fill: rgb(102, 102, 102); fill-opacity: 1; stroke: none; stroke-width: 0.5; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+    <path d="M 17.5,15.3125 A 0.6875,0.6875 0 1 1 16.125,15.3125 A 0.6875,0.6875 0 1 1 17.5,15.3125 z" transform="matrix(1.72727, 0, 0, 1.72727, -15.6023, -11.1989)" id="path3179" style="opacity: 1; fill: rgb(85, 153, 255); fill-opacity: 1; stroke: none; stroke-width: 0.5; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+    <path d="M 17.5,15.3125 A 0.6875,0.6875 0 1 1 16.125,15.3125 A 0.6875,0.6875 0 1 1 17.5,15.3125 z" transform="matrix(1.72727, 0, 0, 1.72727, -1.66477, -11.1989)" id="path3218" style="opacity: 1; fill: rgb(128, 255, 128); fill-opacity: 1; stroke: none; stroke-width: 0.5; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0pt; stroke-opacity: 1;"/>
+    <path d="M 18,15.375 L 24,15.375" id="path3220" style="fill: none; fill-rule: evenodd; stroke: rgb(230, 230, 230); stroke-width: 1px; stroke-linecap: butt; stroke-linejoin: miter; stroke-opacity: 1;"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/src/cuteexplorer_icon48.base64 b/src/cuteexplorer_icon48.base64
new file mode 100644 (file)
index 0000000..aaff62f
--- /dev/null
@@ -0,0 +1,24 @@
+begin-base64 644 maemoexplorer_icon48.png
+iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAA7E
+AAAOxAGVKw4bAAADfklEQVRoge2ZTWsrVRjHf2eal5tMILdxlbYRym27cJUu
+pCi34MZFtZvrxg/gQr+ApRuhO6nVnYLQT2AXIsJdiILbG4R7K6ISpoFSLWnv
+hZjbppPJS3NcJGecvHfy4iSQHxwy88xzcv7/M3POzJwRUkqmGc1rAcMyM+A1
+U29AACHgEbDgsZa7kgW+lVIWVSANyCkraWBRSoloBABKI+qhcRNs/H4npXyk
+DHwspfzcmbWzs/NjoTynSTQxV31Z6fevWkDTiBKovahZo1Kq67q+v7//0BkT
+QuwCnwJFKWXY14gXWitbllX658Huu3IuRPS3XQBisRjr6+tNeWdnZxiGwf33
+7xN+GOb5J8+pvqiOxIBlWd93CCutAQBfhwQbf+4XmAva+8VikdPT06acfD4P
+QOn3EuKeoHZVG1zxAHQ1EAwGM/eyj7+A/waJaZqcnJx0zDefmphPzZGK8/v9
+PTsYehjQdf3Pg4ODr0eqyCV7e3sf9cuxDQghAsA7wANAbG9vvyGEiIxRX19a
+NGSAx605ysArwDPgNXXg4uIC4L0xa+xJBw1/AN84c5SBD4EEgKbVny6EEPa2
+IplMsrm5ORaxR0dHXF5eNsWcGmq1GtQ7+ANnjjKQAFhZWSEajdYDiYSqZBOP
+x9tio2JtbY2FheanGaeGfD5PJpMBeNWZ0zSIw+Fwz0ZyuRzFYrFnzqBYVu/7
+XzdtfacpJ8lkkq2tLTdV7szh4SHn5+eu67kykEqlSKVSrhsZJ64MbGxsTPcZ
+OD4+Jp1Ou27kLhQKbY9jd8KVgVgsxvLy8kANKTKZTNt0OQyuDEQiEZaWloZq
+MJvNDlW/FVcGDMPAMIyRChiWqX+pnxnwmqYxYJomPl89VKlUiMfjnohSlMtl
+bm5ubD0tvFQbXi+RDFo+UwvTP0+AGLflJyAgpcQHfAW8BbC6umpfQpNGpVJx
+vo9/KaUsQ8sYCIVCCCHI5XJUq6NZGhkWn89HLBbr2rFt0evra0qlyVmku729
+5erqikik8+t52zQ6rjeuYeilaSruA0KIrsfaDOi63rPC/40QouvlA/Ux8Jfa
+KRQKzM/Ps7i4ODGXkqZp9sTi4G+1IaifhSfA63Zwgs4AQMuX1CfAm1IFG78J
+4Fe8v0H1K89ofNhQRSgjQgg/8DawSv3MTBISOAF+kFI23aDE7EO3x8wMeM3M
+gNdMvYF/Acd52O0Tf+jGAAAAAElFTkSuQmCC
+====
diff --git a/src/cuteexplorer_icon48.png b/src/cuteexplorer_icon48.png
new file mode 100644 (file)
index 0000000..bd653e7
Binary files /dev/null and b/src/cuteexplorer_icon48.png differ
diff --git a/src/cuteexplorer_icon64.png b/src/cuteexplorer_icon64.png
new file mode 100644 (file)
index 0000000..6ec2c59
Binary files /dev/null and b/src/cuteexplorer_icon64.png differ
diff --git a/src/cuteexplorertranslation_fi_FI.qm b/src/cuteexplorertranslation_fi_FI.qm
new file mode 100644 (file)
index 0000000..41afdda
Binary files /dev/null and b/src/cuteexplorertranslation_fi_FI.qm differ
diff --git a/src/cuteexplorertranslation_fi_FI.ts b/src/cuteexplorertranslation_fi_FI.ts
new file mode 100644 (file)
index 0000000..5631905
--- /dev/null
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="fi_FI">
+<context>
+    <name>FileListWidget</name>
+    <message>
+        <location filename="filelistwidget.cpp" line="71"/>
+        <source>Rename</source>
+        <translation>Uudelleen nimeä</translation>
+    </message>
+    <message>
+        <location filename="filelistwidget.cpp" line="71"/>
+        <source>New filename: </source>
+        <translation>Uusi tiedoston nimi:</translation>
+    </message>
+    <message>
+        <location filename="filelistwidget.cpp" line="77"/>
+        <location filename="filelistwidget.cpp" line="119"/>
+        <location filename="filelistwidget.cpp" line="135"/>
+        <location filename="filelistwidget.cpp" line="167"/>
+        <source>Error!</source>
+        <translation>Virhe!</translation>
+    </message>
+    <message>
+        <location filename="filelistwidget.cpp" line="78"/>
+        <source>Renaming file %1 failed</source>
+        <translation>Tiedoston %1 uudelleen nimeäminen epäonnistui</translation>
+    </message>
+    <message>
+        <location filename="filelistwidget.cpp" line="120"/>
+        <source>Copying file %1 failed</source>
+        <translation>Tiedoston %1 kopiointi epäonnistui</translation>
+    </message>
+    <message>
+        <location filename="filelistwidget.cpp" line="136"/>
+        <source>Moving file %1 failed</source>
+        <translation>Tiedoston %1 siirto epäonnistui</translation>
+    </message>
+    <message>
+        <location filename="filelistwidget.cpp" line="156"/>
+        <source>Deleting file</source>
+        <translation>Tiedoston poisto</translation>
+    </message>
+    <message>
+        <location filename="filelistwidget.cpp" line="157"/>
+        <source>You are about to delete %1 file(s).
+Are you sure you want to continue?</source>
+        <translation>Olet poistamassa %1 tiedostoa.\nOletko varma että tahdot jatkaa?</translation>
+    </message>
+    <message>
+        <location filename="filelistwidget.cpp" line="168"/>
+        <source>Deleting file %1 failed</source>
+        <translation>Tiedoston %1 poistaminen epäonnistui</translation>
+    </message>
+    <message>
+        <location filename="filelistwidget.cpp" line="247"/>
+        <location filename="filelistwidget.cpp" line="264"/>
+        <source>Sending files</source>
+        <translation>Tiedostojen lähetys</translation>
+    </message>
+    <message>
+        <location filename="filelistwidget.cpp" line="248"/>
+        <source>To send files, select files you want to send and copy them.</source>
+        <translation>Lähettääksesi tiedostoja; valitse tiedostot, kopioi ja lähetä tiedostot.</translation>
+    </message>
+    <message>
+        <location filename="filelistwidget.cpp" line="265"/>
+        <source>Only in maemo5 for now</source>
+        <translation>Vain maemo5:ssä tällähetkellä</translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="mainwindow.ui" line="14"/>
+        <source>Maemo Explorer</source>
+        <translation>Maemo Explorer</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.ui" line="26"/>
+        <source>Up</source>
+        <translation>Ylös</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.ui" line="29"/>
+        <source>Backspace</source>
+        <translation>Backspace</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.ui" line="91"/>
+        <source>File</source>
+        <translation>Tiedosto</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.ui" line="74"/>
+        <source>Edit</source>
+        <translation>Muokkaa</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.ui" line="84"/>
+        <source>View</source>
+        <translation>Näkymä</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.ui" line="102"/>
+        <source>Exit</source>
+        <translation>Lopeta</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.ui" line="107"/>
+        <source>Cut</source>
+        <translation>Leikkaa</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.ui" line="112"/>
+        <source>Copy</source>
+        <translation>Kopioi</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.ui" line="117"/>
+        <source>Paste</source>
+        <translation>Liitä</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.ui" line="122"/>
+        <source>Delete</source>
+        <translation>Poista</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.ui" line="130"/>
+        <source>Icon view</source>
+        <translation>Kuvake näkymä</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.ui" line="148"/>
+        <source>Send files</source>
+        <translation>Lähetä tiedostoja</translation>
+    </message>
+    <message>
+        <source>Switch Mode</source>
+        <translation type="obsolete">Vaihda näkymä</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.ui" line="135"/>
+        <source>Rename</source>
+        <translation>Uudelleen nimeä</translation>
+    </message>
+    <message>
+        <location filename="mainwindow.ui" line="143"/>
+        <source>Show hidden</source>
+        <translation>Näytä piilotetut</translation>
+    </message>
+</context>
+</TS>
diff --git a/src/filelistwidget.cpp b/src/filelistwidget.cpp
new file mode 100644 (file)
index 0000000..22c75ea
--- /dev/null
@@ -0,0 +1,270 @@
+#include "filelistwidget.h"
+#include <QHeaderView>
+#include <QMessageBox>
+#include <QInputDialog>
+#include <QDesktopServices>
+#include <QUrl>
+#include <QProcess>
+#include <QDBusInterface>
+#ifdef Q_WS_MAEMO_5
+#   include <hildon-mime.h>
+#   include <dbus/dbus.h>
+#endif
+/*!
+Widget that shows filesystemmodel and handles navigation
+in directory tree and opening files with assosiated programs
+
+@todo in symbian and windows filesystems navigating to "/" wont show drives
+  */
+FileListWidget::FileListWidget(QWidget *parent) :
+    QListView(parent),
+    fileSystemModel( new QFileSystemModel(this)),
+    currentDir(QDir::homePath()),
+    mode_cut(false),
+    mode_copy(false),
+    select(false)
+{
+    this->setModel(fileSystemModel);
+    this->setRootIndex(fileSystemModel->index(currentDir.absolutePath()));
+    fileSystemModel->setRootPath(currentDir.absolutePath());
+    fileSystemModel->setFilter(fileSystemModel->filter() | QDir::System);
+    connect(this, SIGNAL(activated(QModelIndex)), this, SLOT(handleItemActivation(QModelIndex)));
+
+}
+
+/**
+  Switches view mode
+  @param iconmode true shows iconview, false shows listview
+  */
+void FileListWidget::actionSwitchMode(bool iconmode)
+{
+    if(iconmode) {
+        this->setViewMode(QListView::IconMode);
+        this->setWordWrap(true);
+        this->setGridSize(QSize(80,80));
+    } else {
+        this->setViewMode(QListView::ListMode);
+        this->setWordWrap(false);
+        this->setGridSize(QSize());
+    }
+}
+/**
+  Switches show hidden
+  @param show true shows hidden files
+  */
+void FileListWidget::actionShowHidden(bool show)
+{
+    if(show)
+        fileSystemModel->setFilter(fileSystemModel->filter() | QDir::Hidden);
+    else
+        fileSystemModel->setFilter(fileSystemModel->filter() &~ QDir::Hidden);
+
+    this->clearSelection();
+}
+
+/**
+  Rename selected file
+  */
+void FileListWidget::actionRename()
+{
+    QFileInfo file = fileSystemModel->fileInfo(this->selectedIndexes().first());
+    QString newName = QInputDialog::getText(this, tr("Rename"), tr("New filename: "), QLineEdit::Normal, file.fileName());
+    if(newName != file.fileName())
+    {
+        if(QFile::rename(file.absoluteFilePath(), file.absolutePath()+"/"+newName))
+            return;
+        else
+            QMessageBox::critical(this,tr("Error!")
+                                  ,tr("Renaming file %1 failed")
+                                    .arg(file.fileName())
+                                  ,QMessageBox::Ok);
+    }
+}
+/**
+  Selected files will be moved when actionPaste is called
+  */
+void FileListWidget::actionCut()
+{
+    mode_cut = true;
+    mode_copy = false;
+    selectedFiles = this->selectedIndexes();
+}
+/**
+  Selected files will be copied when actionPaste is called
+  */
+void FileListWidget::actionCopy()
+{
+    mode_cut = false;
+    mode_copy = true;
+    selectedFiles = this->selectedIndexes();
+}
+
+/**
+  Moves or copies files that were selected when actionCut or actionCopy called
+  */
+void FileListWidget::actionPaste()
+{
+    fileSystemModel->setReadOnly(false);
+    if(mode_copy) {
+        //Copy files until filelist is empty or error occured
+        while(!selectedFiles.isEmpty()) {
+            if(QFile::copy(fileSystemModel->fileInfo(selectedFiles.first()).absoluteFilePath()
+                        , fileSystemModel->rootPath()+"/"+fileSystemModel->fileName(selectedFiles.first()))) {
+                selectedFiles.removeFirst();
+            }
+            else if(QFile::copy(fileSystemModel->fileInfo(selectedFiles.first()).absoluteFilePath()
+                    , fileSystemModel->rootPath()+"/copy_"+fileSystemModel->fileName(selectedFiles.first()))) {
+                selectedFiles.removeFirst();
+            } else {
+                QMessageBox::critical(this,tr("Error!")
+                                      ,tr("Copying file %1 failed")
+                                        .arg(fileSystemModel->fileName(selectedFiles.first()))
+                                      ,QMessageBox::Ok);
+                break;
+            }
+        }
+        if(selectedFiles.isEmpty())
+            mode_copy = false;
+    } else if(mode_cut) {
+        //Move files until filelist is empty or error occured
+        while(!selectedFiles.isEmpty()) {
+            if(QFile::rename(fileSystemModel->fileInfo(selectedFiles.first()).absoluteFilePath()
+                        , fileSystemModel->rootPath()+"/"+fileSystemModel->fileName(selectedFiles.first()))) {
+                    selectedFiles.removeFirst();
+            } else {
+                QMessageBox::critical(this,tr("Error!")
+                                      ,tr("Moving file %1 failed")
+                                        .arg(fileSystemModel->fileName(selectedFiles.first()))
+                                      ,QMessageBox::Ok);
+                break;
+            }
+        }
+        if(selectedFiles.isEmpty())
+            mode_cut = false;
+    }
+    fileSystemModel->setReadOnly(true);
+    this->clearSelection();
+}
+
+/**
+  Deletes selected files
+  */
+void FileListWidget::actionDelete()
+{
+    mode_cut = false;
+    mode_copy = false;
+    if(QMessageBox::Yes == QMessageBox::warning(this, tr("Deleting file")
+                            ,tr("You are about to delete %1 file(s).\nAre you sure you want to continue?")
+                                .arg(this->selectedIndexes().count())
+                            , QMessageBox::Yes, QMessageBox::No)) {
+        fileSystemModel->setReadOnly(false);
+        selectedFiles = this->selectedIndexes();
+        //delete files until filelist empty or error occured
+        while(!selectedFiles.isEmpty()) {
+            if(fileSystemModel->remove(selectedFiles.first())) {
+                selectedFiles.removeFirst();
+            } else {
+                QMessageBox::critical(this,tr("Error!")
+                                      ,tr("Deleting file %1 failed")
+                                        .arg(fileSystemModel->fileName(selectedFiles.first()))
+                                      ,QMessageBox::Ok);
+                break;
+            }
+        }
+        fileSystemModel->setReadOnly(true);
+        this->clearSelection();
+    }
+}
+
+/**
+  @return Current directory
+  */
+QString FileListWidget::getPath()
+{
+    return currentDir.absolutePath();
+}
+
+/**
+  Changes current directory
+  @param path directory to change to
+  */
+void FileListWidget::changePath(QString path)
+{
+    currentDir.cd(path);
+    QString newPath = currentDir.absolutePath();
+    fileSystemModel->setRootPath(newPath);
+    this->clearSelection();
+    this->setRootIndex(fileSystemModel->index(newPath));
+    emit pathChanged(newPath);
+}
+
+/**
+  Equivalent to changePath("..")
+  */
+void FileListWidget::changePathUp()
+{
+    changePath("..");
+}
+
+void FileListWidget::handleItemActivation(QModelIndex index)
+{
+    if(!select) {
+        QFileInfo file = fileSystemModel->fileInfo(index);
+        if(file.isDir()) {
+            changePath(file.absoluteFilePath());
+        } else if(file.isExecutable()) {
+            // Make process
+            QProcess::startDetached(file.absoluteFilePath());
+        } else {
+#ifdef Q_WS_MAEMO_5 // Uses native file opening method
+            DBusConnection* conn;
+            conn = dbus_bus_get(DBUS_BUS_SESSION, 0);
+            hildon_mime_open_file(conn, QUrl::fromLocalFile(file.absoluteFilePath()).toEncoded().constData());
+#else
+            /*
+            Not working with maemo5.
+            Uses hildon_uri_open function from
+            libhildonmime which should work,
+            but all files opened in browser.
+            */
+            QDesktopServices::openUrl(QUrl::fromLocalFile(file.absoluteFilePath()));
+#endif
+        }
+    }
+}
+/**
+  @param mode true activates file selection
+  */
+void FileListWidget::setSelectMode(bool mode)
+{
+    select = mode;
+}
+
+void FileListWidget::actionSendFiles()
+{
+    if(!mode_copy) {
+        QMessageBox::information(this,
+                                 tr("Sending files"),
+                                 tr("To send files, select files you want to send and copy them."),
+                                 QMessageBox::Cancel);
+    } else {
+#ifdef Q_WS_MAEMO_5
+        // Create list of file urls
+        QStringList files;
+        while(!selectedFiles.isEmpty()) {
+            files.append(QUrl::fromLocalFile(fileSystemModel->fileInfo(selectedFiles.first()).absoluteFilePath()).toString());
+            selectedFiles.removeFirst();
+        }
+
+        // Make dbuscall to send files
+        QDBusInterface interface("com.nokia.bt_ui", "/com/nokia/bt_ui", "com.nokia.bt_ui",QDBusConnection::systemBus());
+        interface.call("show_send_file_dlg", files);
+#else
+        QMessageBox::information(this,
+                                 tr("Sending files"),
+                                 tr("Only in maemo5 for now"),
+                                 QMessageBox::Cancel);
+#endif
+    }
+}
+
diff --git a/src/filelistwidget.h b/src/filelistwidget.h
new file mode 100644 (file)
index 0000000..48304cf
--- /dev/null
@@ -0,0 +1,47 @@
+#ifndef FILELISTWIDGET_H
+#define FILELISTWIDGET_H
+
+#include <QListView>
+#include <QFileSystemModel>
+#include <QDir>
+#include <QMessageBox>
+#include <QKeyEvent>
+
+class FileListWidget : public QListView
+{
+Q_OBJECT
+public:
+    explicit FileListWidget(QWidget *parent = 0);
+
+    QString getPath();
+
+signals:
+    void pathChanged(QString newPath);
+
+public slots:
+    void changePath(QString path);
+    void changePathUp();
+
+    void actionDelete();
+    void actionCut();
+    void actionCopy();
+    void actionPaste();
+    void actionSwitchMode(bool iconmode=true);
+    void actionRename();
+    void actionShowHidden(bool show=true);
+    void actionSendFiles();
+
+    void setSelectMode(bool mode=true);
+private slots:
+    void handleItemActivation(QModelIndex index);
+
+private:
+    QFileSystemModel *fileSystemModel;
+    QDir currentDir;
+    QModelIndexList selectedFiles;
+    bool mode_cut;
+    bool mode_copy;
+    bool select;
+};
+
+#endif // FILELISTWIDGET_H
diff --git a/src/i18n.qrc b/src/i18n.qrc
new file mode 100644 (file)
index 0000000..9962489
--- /dev/null
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/">
+        <file>cuteexplorertranslation_fi_FI.qm</file>
+    </qresource>
+</RCC>
diff --git a/src/main.cpp b/src/main.cpp
new file mode 100644 (file)
index 0000000..23f3386
--- /dev/null
@@ -0,0 +1,29 @@
+#include <QtGui/QApplication>
+#include <QTranslator>
+#include <QLocale>
+#include "mainwindow.h"
+#include <QDebug>
+#include <QProcessEnvironment>
+int main(int argc, char *argv[])
+{
+    QApplication a(argc, argv);
+    QTranslator translator;
+
+    /* For some reason QLocale::system() returns
+    locale by LC_NUMERIC environment variable which is
+    meant for numerics like thousand separator etc.
+
+    In this solution we get locale from LANG environment variable
+    and use QLocale::system() as fallback.
+      */
+    if(QProcessEnvironment::systemEnvironment().contains("LANG"))
+        translator.load(":/cuteexplorertranslation_"+QLocale(QProcessEnvironment::systemEnvironment().value("LANG")).name());
+    else
+        translator.load(":/cuteexplorertranslation_"+QLocale::system().name());
+
+    a.installTranslator(&translator);
+
+    MainWindow w;
+    w.show();
+    return a.exec();
+}
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
new file mode 100644 (file)
index 0000000..a6c94c3
--- /dev/null
@@ -0,0 +1,59 @@
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+
+MainWindow::MainWindow(QWidget *parent) :
+    QMainWindow(parent),
+    ui(new Ui::MainWindow)
+{
+    ui->setupUi(this);
+    connect(ui->actionExit, SIGNAL(triggered()), this, SLOT(close()));
+    connect(ui->upButton, SIGNAL(clicked()), ui->fileListWidget, SLOT(changePathUp()));
+    connect(ui->locationLine, SIGNAL(returnPressed()), this, SLOT(locationLineEnterKeyHandler()));
+    connect(ui->fileListWidget, SIGNAL(pathChanged(QString)), ui->locationLine, SLOT(setText(QString)));
+    connect(ui->actionDelete, SIGNAL(triggered()), ui->fileListWidget, SLOT(actionDelete()));
+    connect(ui->actionMode, SIGNAL(toggled(bool)), ui->fileListWidget, SLOT(actionSwitchMode(bool)));
+    connect(ui->actionCopy, SIGNAL(triggered()), ui->fileListWidget, SLOT(actionCopy()));
+    connect(ui->actionCut, SIGNAL(triggered()), ui->fileListWidget, SLOT(actionCut()));
+    connect(ui->actionPaste, SIGNAL(triggered()), ui->fileListWidget, SLOT(actionPaste()));
+    connect(ui->actionShow_hidden, SIGNAL(toggled(bool)), ui->fileListWidget, SLOT(actionShowHidden(bool)));
+    connect(ui->actionRename, SIGNAL(triggered()), ui->fileListWidget, SLOT(actionRename()));
+    connect(ui->actionSend, SIGNAL(triggered()), ui->fileListWidget, SLOT(actionSendFiles()));
+    ui->locationLine->setText(ui->fileListWidget->getPath());
+}
+
+MainWindow::~MainWindow()
+{
+    delete ui;
+}
+
+void MainWindow::locationLineEnterKeyHandler()
+{
+    ui->fileListWidget->changePath(ui->locationLine->text());
+}
+void MainWindow::keyPressEvent(QKeyEvent *e)
+{
+    if(e->key() == Qt::Key_Control || e->key() == Qt::Key_Shift)
+        ui->fileListWidget->setSelectMode(true);
+    else
+        QMainWindow::keyPressEvent(e);
+}
+void MainWindow::keyReleaseEvent(QKeyEvent *e)
+{
+    if(e->key() == Qt::Key_Control || e->key() == Qt::Key_Shift)
+        ui->fileListWidget->setSelectMode(false);
+    else
+        QMainWindow::keyPressEvent(e);
+}
+
+void MainWindow::changeEvent(QEvent *e)
+{
+    QMainWindow::changeEvent(e);
+    switch (e->type()) {
+    case QEvent::LanguageChange:
+        ui->retranslateUi(this);
+        break;
+    default:
+        break;
+    }
+}
+
diff --git a/src/mainwindow.h b/src/mainwindow.h
new file mode 100644 (file)
index 0000000..8e9c517
--- /dev/null
@@ -0,0 +1,28 @@
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>
+
+namespace Ui {
+    class MainWindow;
+}
+
+class MainWindow : public QMainWindow {
+    Q_OBJECT
+public:
+    MainWindow(QWidget *parent = 0);
+    ~MainWindow();
+
+
+protected:
+    void changeEvent(QEvent *e);
+    void keyPressEvent(QKeyEvent *e);
+    void keyReleaseEvent(QKeyEvent *e);
+private slots:
+   void locationLineEnterKeyHandler();
+private:
+    Ui::MainWindow *ui;
+
+};
+
+#endif // MAINWINDOW_H
diff --git a/src/mainwindow.ui b/src/mainwindow.ui
new file mode 100644 (file)
index 0000000..2428f03
--- /dev/null
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>600</width>
+    <height>400</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>CuteExplorer</string>
+  </property>
+  <property name="locale">
+   <locale language="English" country="UnitedStates"/>
+  </property>
+  <widget class="QWidget" name="centralWidget">
+   <layout class="QVBoxLayout" name="verticalLayout">
+    <item>
+     <layout class="QHBoxLayout" name="horizontalLayout">
+      <item>
+       <widget class="QPushButton" name="upButton">
+        <property name="text">
+         <string>Up</string>
+        </property>
+        <property name="shortcut">
+         <string>Backspace</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QLineEdit" name="locationLine"/>
+      </item>
+     </layout>
+    </item>
+    <item>
+     <layout class="QHBoxLayout" name="horizontalLayout_2">
+      <item>
+       <widget class="FileListWidget" name="fileListWidget">
+        <property name="contextMenuPolicy">
+         <enum>Qt::NoContextMenu</enum>
+        </property>
+        <property name="editTriggers">
+         <set>QAbstractItemView::NoEditTriggers</set>
+        </property>
+        <property name="showDropIndicator" stdset="0">
+         <bool>false</bool>
+        </property>
+        <property name="selectionMode">
+         <enum>QAbstractItemView::ExtendedSelection</enum>
+        </property>
+        <property name="textElideMode">
+         <enum>Qt::ElideRight</enum>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </item>
+   </layout>
+  </widget>
+  <widget class="QMenuBar" name="menuBar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>600</width>
+     <height>21</height>
+    </rect>
+   </property>
+   <widget class="QMenu" name="menuEdit">
+    <property name="title">
+     <string>Edit</string>
+    </property>
+    <addaction name="actionRename"/>
+    <addaction name="actionCut"/>
+    <addaction name="actionCopy"/>
+    <addaction name="actionPaste"/>
+    <addaction name="actionDelete"/>
+   </widget>
+   <widget class="QMenu" name="menuView">
+    <property name="title">
+     <string>View</string>
+    </property>
+    <addaction name="actionMode"/>
+    <addaction name="actionShow_hidden"/>
+   </widget>
+   <widget class="QMenu" name="menuFile">
+    <property name="title">
+     <string>File</string>
+    </property>
+    <addaction name="actionSend"/>
+    <addaction name="actionExit"/>
+   </widget>
+   <addaction name="menuFile"/>
+   <addaction name="menuEdit"/>
+   <addaction name="menuView"/>
+  </widget>
+  <action name="actionExit">
+   <property name="text">
+    <string>Exit</string>
+   </property>
+  </action>
+  <action name="actionCut">
+   <property name="text">
+    <string>Cut</string>
+   </property>
+  </action>
+  <action name="actionCopy">
+   <property name="text">
+    <string>Copy</string>
+   </property>
+  </action>
+  <action name="actionPaste">
+   <property name="text">
+    <string>Paste</string>
+   </property>
+  </action>
+  <action name="actionDelete">
+   <property name="text">
+    <string>Delete</string>
+   </property>
+  </action>
+  <action name="actionMode">
+   <property name="checkable">
+    <bool>true</bool>
+   </property>
+   <property name="text">
+    <string>Icon view</string>
+   </property>
+  </action>
+  <action name="actionRename">
+   <property name="text">
+    <string>Rename</string>
+   </property>
+  </action>
+  <action name="actionShow_hidden">
+   <property name="checkable">
+    <bool>true</bool>
+   </property>
+   <property name="text">
+    <string>Show hidden</string>
+   </property>
+  </action>
+  <action name="actionSend">
+   <property name="text">
+    <string>Send files</string>
+   </property>
+  </action>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <customwidgets>
+  <customwidget>
+   <class>FileListWidget</class>
+   <extends>QListView</extends>
+   <header>filelistwidget.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/notes.txt b/src/notes.txt
new file mode 100644 (file)
index 0000000..7335045
--- /dev/null
@@ -0,0 +1,38 @@
+-Release notes-
+
+cuteexplorer-0.9.1
+first release
+
+-user can view files and navigate in folders
+
+cuteexplorer-0.9.2
+second release
+
+-user can view files and navigate in folders
+-user can manipulate files using cut, copy, paste, delete and rename
+
+-ui translated to finnish
+
+cuteexplorer-0.9.3
+third release
+
+-user can view files and navigate in folders
+-user can manipulate files using cut, copy, paste, delete and rename
+
+-ui translated to finnish
+
+-user can open files (videos, audio, pictures, pdf)
+
+
+cuteexplorer-1.0
+final release
+
+-user can view files and navigate in folders
+-user can manipulate files using cut, copy, paste, delete and rename
+
+-ui translated to finnish
+
+-user can open files (videos, audio, pictures, pdf)
+
+-user can launch executable files
+-files can be send via bluetooth (select files, copy, send files)
diff --git a/src/src.pro b/src/src.pro
new file mode 100644 (file)
index 0000000..03840aa
--- /dev/null
@@ -0,0 +1,45 @@
+# -------------------------------------------------
+# Project created by QtCreator 2010-01-13T19:38:20
+# -------------------------------------------------
+TARGET = cuteexplorer
+TEMPLATE = app
+
+SOURCES += main.cpp \
+    mainwindow.cpp \
+    filelistwidget.cpp
+HEADERS += mainwindow.h \
+    filelistwidget.h
+FORMS += mainwindow.ui
+TRANSLATIONS += cuteexplorertranslation_fi_FI.ts
+RESOURCES += i18n.qrc
+
+
+maemo5 {
+    #VARIABLES
+    CONFIG += link_pkgconfig
+    PKGCONFIG += dbus-1 gnome-vfs-2.0
+    LIBS += -lhildonmime -ldbus-1
+    QT += dbus
+    isEmpty(PREFIX) {
+        PREFIX = /usr
+  }
+BINDIR = $$PREFIX/bin
+DATADIR =$$PREFIX/share
+
+DEFINES += DATADIR=\\\"$$DATADIR\\\" PKGDATADIR=\\\"$$PKGDATADIR\\\"
+
+#MAKE INSTALL
+
+INSTALLS += target desktop icon icon64
+
+  target.path =$$BINDIR
+
+  desktop.path = $$DATADIR/applications/hildon
+  desktop.files += $${TARGET}.desktop
+
+  icon64.path = $$DATADIR/icons/hicolor/64x64/apps
+  icon64.files += $${TARGET}_icon64.png
+
+  icon.path = $$DATADIR/icons/hicolor/scalable/apps
+  icon.files += $${TARGET}_icon.svg
+}