From: Tommi Asp Date: Fri, 9 Apr 2010 09:17:22 +0000 (+0300) Subject: New filestructure with debian dir for packaking X-Git-Url: http://vcs.maemo.org/git/?p=cuteexplorer;a=commitdiff_plain;h=5be8954dd3ea070884038ab93cfcc5dd3e50ca7a New filestructure with debian dir for packaking --- diff --git a/cuteexplorer.pro b/cuteexplorer.pro new file mode 100644 index 0000000..5e620b8 --- /dev/null +++ b/cuteexplorer.pro @@ -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 index 0000000..8f8fa3c --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,6 @@ +cuteexplorer for Debian +----------------------- + + + + -- unknown Mon, 22 Mar 2010 15:26:30 +0200 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..447dd04 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,12 @@ +cuteexplorer (1.0-2) unstable; urgency=low + + * Fixed broken .desktop -file + + -- Tommi Asp Mon, 22 Mar 2010 23:07:55 +0200 + +cuteexplorer (1.0-1) unstable; urgency=low + + * Initial release (Closes: #nnnn) + + -- Tommi Asp Mon, 22 Mar 2010 14:09:49 +0200 + diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +5 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..f6be00f --- /dev/null +++ b/debian/control @@ -0,0 +1,38 @@ +Source: cuteexplorer +Section: user/utilities +Priority: extra +Maintainer: Tommi Asp +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 index 0000000..d66a63f --- /dev/null +++ b/debian/copyright @@ -0,0 +1,36 @@ +This package was debianized by unknown on +Mon, 22 Mar 2010 15:26:30 +0200. + +It was downloaded from + +Upstream Author: + +Copyright: + +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 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 index 0000000..8d3c775 --- /dev/null +++ b/debian/cron.d.ex @@ -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 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 index 0000000..aa9d00e --- /dev/null +++ b/debian/cuteexplorer-default.ex @@ -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 index 0000000..c396ff5 --- /dev/null +++ b/debian/cuteexplorer.doc-base.EX @@ -0,0 +1,22 @@ +Document: cuteexplorer +Title: Debian cuteexplorer Manual +Author: +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 index 0000000..ca882bb --- /dev/null +++ b/debian/dirs @@ -0,0 +1,2 @@ +usr/bin +usr/sbin diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..e69de29 diff --git a/debian/emacsen-install.ex b/debian/emacsen-install.ex new file mode 100644 index 0000000..293597c --- /dev/null +++ b/debian/emacsen-install.ex @@ -0,0 +1,45 @@ +#! /bin/sh -e +# /usr/lib/emacsen-common/packages/install/cuteexplorer + +# Written by Jim Van Zandt , borrowing heavily +# from the install scripts for gettext by Santiago Vila +# and octave by Dirk Eddelbuettel . + +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 index 0000000..2955d94 --- /dev/null +++ b/debian/emacsen-remove.ex @@ -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 index 0000000..8b3d715 --- /dev/null +++ b/debian/emacsen-startup.ex @@ -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 +;; Modified by Dirk Eddelbuettel +;; Adapted for dh-make by Jim Van Zandt + +;; 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 index 0000000..740c9d7 --- /dev/null +++ b/debian/init.d.ex @@ -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 . +# Modified for Debian +# by Ian Murdock . +# +# 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 index 0000000..fee2a3b --- /dev/null +++ b/debian/manpage.1.ex @@ -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 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\fP and +.\" \fI\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 . +.PP +This manual page was written by unknown , +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 index 0000000..bb856e1 --- /dev/null +++ b/debian/manpage.sgml.ex @@ -0,0 +1,156 @@ + 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. + + --> + + + FIRSTNAME"> + SURNAME"> + + March 22, 2010"> + + SECTION"> + tomma.asp@gmail.com"> + + CUTEEXPLORER"> + + + Debian"> + GNU"> + GPL"> +]> + + + +
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2003 + &dhusername; + + &dhdate; +
+ + &dhucpackage; + + &dhsection; + + + &dhpackage; + + program to do something + + + + &dhpackage; + + + + + + + + DESCRIPTION + + This manual page documents briefly the + &dhpackage; and bar + commands. + + 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; + Info format; see below. + + &dhpackage; is a program that... + + + + 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. + + + + + + + + Show summary of options. + + + + + + + + Show version of program. + + + + + + SEE ALSO + + bar (1), baz (1). + + The programs are documented fully by The Rise and + Fall of a Fooish Bar available via the + Info system. + + + AUTHOR + + 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. + + + On Debian systems, the complete text of the GNU General Public + License can be found in /usr/share/common-licenses/GPL. + + + +
+ + + + diff --git a/debian/manpage.xml.ex b/debian/manpage.xml.ex new file mode 100644 index 0000000..78da485 --- /dev/null +++ b/debian/manpage.xml.ex @@ -0,0 +1,148 @@ + +.
will be generated. You may view the +manual page with: nroff -man .
| 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. + +--> + + + FIRSTNAME"> + SURNAME"> + + March 22, 2010"> + + SECTION"> + tomma.asp@gmail.com"> + + CUTEEXPLORER"> + + + Debian"> + GNU"> + GPL"> +]> + + + +
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2003 + &dhusername; + + &dhdate; +
+ + &dhucpackage; + + &dhsection; + + + &dhpackage; + + program to do something + + + + &dhpackage; + + + + + + + + DESCRIPTION + + This manual page documents briefly the + &dhpackage; and bar + commands. + + 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; + Info format; see below. + + &dhpackage; is a program that... + + + + 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. + + + + + + + + Show summary of options. + + + + + + + + Show version of program. + + + + + + SEE ALSO + + bar (1), baz (1). + + The programs are documented fully by The Rise and + Fall of a Fooish Bar available via the + Info system. + + + AUTHOR + + 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. + + + On Debian systems, the complete text of the GNU General Public + License can be found in /usr/share/common-licenses/GPL. + + + +
+ diff --git a/debian/menu.ex b/debian/menu.ex new file mode 100644 index 0000000..aab1a2c --- /dev/null +++ b/debian/menu.ex @@ -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 index 0000000..1453621 --- /dev/null +++ b/debian/postinst.ex @@ -0,0 +1,41 @@ +#!/bin/sh +# postinst script for cuteexplorer +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# 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 index 0000000..b042d76 --- /dev/null +++ b/debian/postrm.ex @@ -0,0 +1,39 @@ +#!/bin/sh +# postrm script for cuteexplorer +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# 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 index 0000000..98c07e9 --- /dev/null +++ b/debian/preinst.ex @@ -0,0 +1,37 @@ +#!/bin/sh +# preinst script for cuteexplorer +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# 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 index 0000000..ee5ea81 --- /dev/null +++ b/debian/prerm.ex @@ -0,0 +1,40 @@ +#!/bin/sh +# prerm script for cuteexplorer +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# 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 index 0000000..7e6216a --- /dev/null +++ b/debian/rules @@ -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 index 0000000..c995601 --- /dev/null +++ b/debian/watch.ex @@ -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 +# +#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 index 0000000..34c9eb6 --- /dev/null +++ b/src/cuteexplorer.desktop @@ -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 index 0000000..9286d9e --- /dev/null +++ b/src/cuteexplorer_icon.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/cuteexplorer_icon48.base64 b/src/cuteexplorer_icon48.base64 new file mode 100644 index 0000000..aaff62f --- /dev/null +++ b/src/cuteexplorer_icon48.base64 @@ -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 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 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 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 index 0000000..5631905 --- /dev/null +++ b/src/cuteexplorertranslation_fi_FI.ts @@ -0,0 +1,154 @@ + + + + + FileListWidget + + + Rename + Uudelleen nimeä + + + + New filename: + Uusi tiedoston nimi: + + + + + + + Error! + Virhe! + + + + Renaming file %1 failed + Tiedoston %1 uudelleen nimeäminen epäonnistui + + + + Copying file %1 failed + Tiedoston %1 kopiointi epäonnistui + + + + Moving file %1 failed + Tiedoston %1 siirto epäonnistui + + + + Deleting file + Tiedoston poisto + + + + You are about to delete %1 file(s). +Are you sure you want to continue? + Olet poistamassa %1 tiedostoa.\nOletko varma että tahdot jatkaa? + + + + Deleting file %1 failed + Tiedoston %1 poistaminen epäonnistui + + + + + Sending files + Tiedostojen lähetys + + + + To send files, select files you want to send and copy them. + Lähettääksesi tiedostoja; valitse tiedostot, kopioi ja lähetä tiedostot. + + + + Only in maemo5 for now + Vain maemo5:ssä tällähetkellä + + + + MainWindow + + + Maemo Explorer + Maemo Explorer + + + + Up + Ylös + + + + Backspace + Backspace + + + + File + Tiedosto + + + + Edit + Muokkaa + + + + View + Näkymä + + + + Exit + Lopeta + + + + Cut + Leikkaa + + + + Copy + Kopioi + + + + Paste + Liitä + + + + Delete + Poista + + + + Icon view + Kuvake näkymä + + + + Send files + Lähetä tiedostoja + + + Switch Mode + Vaihda näkymä + + + + Rename + Uudelleen nimeä + + + + Show hidden + Näytä piilotetut + + + diff --git a/src/filelistwidget.cpp b/src/filelistwidget.cpp new file mode 100644 index 0000000..22c75ea --- /dev/null +++ b/src/filelistwidget.cpp @@ -0,0 +1,270 @@ +#include "filelistwidget.h" +#include +#include +#include +#include +#include +#include +#include +#ifdef Q_WS_MAEMO_5 +# include +# include +#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 index 0000000..48304cf --- /dev/null +++ b/src/filelistwidget.h @@ -0,0 +1,47 @@ +#ifndef FILELISTWIDGET_H +#define FILELISTWIDGET_H + +#include +#include +#include +#include +#include + +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 index 0000000..9962489 --- /dev/null +++ b/src/i18n.qrc @@ -0,0 +1,5 @@ + + + cuteexplorertranslation_fi_FI.qm + + diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..23f3386 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,29 @@ +#include +#include +#include +#include "mainwindow.h" +#include +#include +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 index 0000000..a6c94c3 --- /dev/null +++ b/src/mainwindow.cpp @@ -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 index 0000000..8e9c517 --- /dev/null +++ b/src/mainwindow.h @@ -0,0 +1,28 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +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 index 0000000..2428f03 --- /dev/null +++ b/src/mainwindow.ui @@ -0,0 +1,162 @@ + + + MainWindow + + + + 0 + 0 + 600 + 400 + + + + CuteExplorer + + + + + + + + + + + + Up + + + Backspace + + + + + + + + + + + + + + Qt::NoContextMenu + + + QAbstractItemView::NoEditTriggers + + + false + + + QAbstractItemView::ExtendedSelection + + + Qt::ElideRight + + + + + + + + + + + 0 + 0 + 600 + 21 + + + + + Edit + + + + + + + + + + View + + + + + + + File + + + + + + + + + + + Exit + + + + + Cut + + + + + Copy + + + + + Paste + + + + + Delete + + + + + true + + + Icon view + + + + + Rename + + + + + true + + + Show hidden + + + + + Send files + + + + + + + FileListWidget + QListView +
filelistwidget.h
+
+
+ + +
diff --git a/src/notes.txt b/src/notes.txt new file mode 100644 index 0000000..7335045 --- /dev/null +++ b/src/notes.txt @@ -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 index 0000000..03840aa --- /dev/null +++ b/src/src.pro @@ -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 +}