deb-gview-0.2.10/0000755000000000000000000000000012150372712010331 5ustar deb-gview-0.2.10/ChangeLog0000644000000000000000000003514111702305571012110 0ustar 2012-01-08 Neil Williams * configure.in: Version bump. * src/main.c: Patch from Andres Mejia to allow build with either libarchive (2.8.5) or (3.0.2) 2009-11-03 Neil Williams * configure.in: Fix PACKAGE_LIBS mangling. Ensure gdk-pixbuf is present. * src/Makefile.am: Add -Wl,-z,defs -Wl,--as-needed. 2009-11-01 Neil Williams * deb-gview.1.xml: Remove details of bonobo and gnome help options removed when gnome support was removed. 2009-10-31 Neil Williams * Makefile.am: Generate manpage. * configure.in: Bump version and generate a bz2 tarball. * deb-gview.1.xml: Document migration to XDG Spec. * src/dvpreview.c: Check for old file and move it to the new XDG home. 2009-08-20 Neil Williams * desktop/deb-gview.desktop.in.in: Drop deprecated Encoding. 2009-08-20 Neil Williams * autogen.sh: Add gettext macro symlinks * configure.in: Drop libgnome and libgnomeui * m4/.cvsignore: ignore gettext macros. * src/Makefile.am: Drop GNOME_LIBS * src/callbacks.c: No need for libgnome * src/callbacks.h: No need for libgnome * src/main.c: Replace gnome_program_init with gtk_init * website/index.html: New version changes. * NEWS: summary. 2009-04-03 Neil Williams Makefile.am : refresh m4 support and tidy up autosave files. configure.in : refreshed autotools support. 2009-03-09 Neil Williams * src/callbacks.c (get_deb), src/dvarchive.c (set_deb_file): Add support for opening TDebs. 2008-04-13 Neil Williams * src/dvarchive.c (dv_parse_changes): Format 1.8 of .changes files for dpkg-dev 1.14.18 is not the same as Format 1.8 for dpkg-dev 1.14.17 - handle the definition of Format 1.8 from dpkg-dev 1.14.18 (Files section follows Checksums section, rather than preceding it in 1.14.17.) * configure.in : Bump version for next release. 2008-03-22 Neil Williams * src/callbacks.c (on_dvtoolopen_clicked), (new_window_init): Pass the context so that the new functions can be used. * src/dvarchive.c (dv_set_needs_uri), (dv_get_needs_uri), (dv_parse_changes): Support a flag to dictate whether a GFile needs URI or path parsers, add routines to get and set the flag. * src/dvarchive.h: New get and set functions. * src/main.c (convert_vfs_to_gfile): Set the URI flag when necessary.* src/dvarchive.c (dv_archive_free): Clear the GFile object when closing each window. * src/main.c (convert_vfs_to_gfile), (main): Run checks on all GFile methods - fails with remote access until GVfs allows operation without the need for sudo. 2008-03-21 Neil Williams * website/index.html, website/manpage.html: 0.2.0 release. * src/callbacks.c (on_open_deb), (on_dvtoolopen_clicked), (new_window_init): Integrating with new GFile support. * src/dvarchive.c (dv_new_window), (dv_parse_changes), (set_deb_file), (dv_archive_open), (dv_archive_read), (prepare_contents), (open_deb), (dv_archive_preload): Ensure the same stream is always available to keep track of the files within the .deb. Migrate .changes support to GFile path handling. * src/dvarchive.h: Using new GFile support. * src/callbacks.c (get_deb), (on_dvtoolopen_clicked), (new_window_init), (on_treeview_button_press_event), src/dvarchive.c (dv_new_window), (dv_set_working_path) src/main.c (convert_vfs_to_gfile) : Restore consistent handling of workingdir for New and Open operations. 2008-03-19 Neil Williams * configure.in: autoupdate changes, replace libgnomevfs with GIO. Bump version. * src/callbacks.c (on_dvtoolopen_clicked), (new_window_init), src/dvarchive.h, src/main.c (main), src/dvarchive.c (dv_new_window), (dv_parse_changes), (set_deb_file), (dv_archive_open), (dv_archive_read), (prepare_contents), (open_deb): Migrate from libgnomevfs to GIO. 2008-03-05 Neil Williams * autogen.sh, configure.in : Replace separate commands with autoreconf -ifs. 2007-12-24 Neil Williams * configure.in: Isolate only the libraries we need from the pkg-config lines. Bump to 0.1.5 * src/Makefile.am: Limit the number of libraries linked. 2007-08-25 Neil Williams * COPYING, debian/copyright, src/*.c, src/*.h : Move to GPL v3. 2007-08-09 Neil Williams * configure.in : Remove ALL_LINGUAS in preference for po/LINGUAS so that new language translations can be added without editing configure.in. * po/LINGUAS : new file. 2007-07-30 Neil Williams * configure.in: Bump to version 0.1.3 * deb-gview.1.xml: Clarify documentation of multi-window usage (Closes: #435071) * debian/control: Suggest eog instead of out-of-date qiv * src/callbacks.h src/callbacks.c: (on_close_activate): Add close option to menu. * src/dvpreview.c: (create_groups): Suggest eog instead of out-of-date qiv * src/interface.c: (create_aboutdialog) : Use the license declaration instead of the entire GPL licence. * src/interface.c: (create_deb_gview_window): Add tooltips for each toolbar button. Awaiting new translations before release. 2007-05-30 Neil Williams * deb-gview.gladep, deb-gview.glade : Removed. With the move to glade3, the glade2 xml is no longer necessary - using the generated C from glade2 for future development. 2007-05-15 Neil Williams * configure.in, po/cs.po : New Czech translation. Miroslav Kure Bump to v0.1.2 2007-04-17 Neil Williams * configure.in, po/nl.po : New Dutch translation. Bart Cornelis * src/dvarchive.c : Set the package filename in the window title bar. * src/callbacks.c : Fix failure to close About dialog with Close button. Use gtk_dialog_run instead of gtk_widget_show. 2007-04-14 Neil Williams * src/dvarchive.c : Set the Package column as the default sort so that the initial display sorts alphabetically by the filenames in the package. * src/main.c : Ensure relative paths are handled correctly by VFS by creating a full path name. 2007-04-10 Neil Williams * src/dvarchive.c : Support remote .changes files using GnomeVFS. 2007-04-09 Neil Williams * debian/control : Add XS-X-Vcs-CVS and XS-X-Vcs-Browser URL's. * src/callbacks.c, src/dvpreview.c : Update and tweak function layout. * src/dvarchive.c, src/dvarchive.h, src/main.c : Implement GnomeVFS support. (Remote .changes files are usually deleted after an upload and are therefore unsupported in deb-gview.) 2007-04-04 Neil Williams * src/dvarchive.c, src/main.c : Begin migration to gnome-vfs to support remote locations. 2007-04-02 Neil Williams * src/dvarchive.c, src/main.c : Include support for opening .changes files. 2006-12-30 Neil Williams * deb-gview.glade, po/en_GB.po, po/fr.po, src/interface.c : Fix translation omission due to glade bug that references the unknown file deb-gview.glade.h (See #404974). * po/fr.po : New French translation (Closes: 404969). 2006-12-26 Neil Williams * src/callbacks.c, src/dvarchive.c, src/dvarchive.h : Fix open dialogue to not always default to /var/cache/apt/archives (Closes: #390595). * deb-gview.1, deb-gview.1.xml, debian/changelog, po/en_GB.po, po/fr.po : Updating for 0.0.6 release. 2006-12-14 Neil Williams * src/callbacks.c : Outline support for .udeb archives. * website/index.html : Include Ubuntu version. * autogen.sh, configure.in : Remove maintainer mode. 2006-09-20 Neil Williams * debian/control : Recommend x-terminal-emulator. * src/dvpreview.c : Allow use of customised man page viewer, if one becomes available, from Help. Allow configuration of the command to pass to the chosen terminal. * deb-gview.1.xml, deb-gview.1, website/manpage.html : Document change in preview configuration. 2006-09-19 Neil Williams * NEWS, debian/changelog, po/ChangeLog : 0.0.5 release. 2006-09-16 Neil Williams * Makefile.am : Build the pot file before changing into the po subdirectory. * src/dvpreview.c : Fixing suffix and temporary name handling for binary files. g_file_open_tmp only creates text based files. * src/interface.c, deb-gview.glade : Fix popup menu to use the same label and shortcut as the main menu version. 2006-09-15 Neil Williams * deb-gview.1 : Improved layout. * deb-gview.glade : Remove unnecessary tooltip. * po/en_GB.po : Remove unnecessary messages. * src/dvpreview.c : Remove debugging warning. * src/interface.c : Remove tooltip. 2006-09-15 Neil Williams * NEWS : Note that sortable columns now work. * README : Tweak. * TODO : Record that image previews now supported. * configure.in : v0.0.5 * deb-gview.1 : Document file preview changes. * deb-gview.glade : Add popup menu on right click, tweak translatable strings, new toolbar button to view the manpage and new menu option to go with the popup menu to execute an external viewer. * debian/control : Tweak and suggest some external viewer applications. * po/POTFILES.in : New preview source file. * po/en_GB.po : New strings. * src/Makefile.am : New preview files. * src/callbacks.c, src/callbacks.h, src/dvarchive.c, src/dvarchive.h, src/dvpreview.c, src/dvpreview.h, src/interface.c, src/interface.h, src/main.c : File preview handling. 2006-09-08 Neil Williams * configure.in, po/fr.po : Added French translation. Thomas Huriaux 2006-09-03 Neil Williams * configure.in, debian/changelog, debian/rules, po/en_GB.po : Prepare for 0.0.4 release. * configure.in : Test for libz. * configure.in, src/Makefile.am, src/dvarchive.c, src/dvarchive.h, src/main.c : Implementing and using extra compiler warnings. * src/main.c : Tweak. * src/dvarchive.h : Tweak. * src/dvarchive.c : Temporary workaround for gzipped files using glib temporary files and zlib1g. libarchive unable to open .gz, only .tar.gz, in memory. 2006-08-31 Neil Williams * src/callbacks.c, src/dvarchive.c, src/dvarchive.h, src/main.c : Separating functionality of Close and Quit so that close only operates on the current window, Quit exits all and no window is left running. * deb-gview.glade, src/callbacks.c, src/interface.c, src/main.c : Remove the second close button. * src/callbacks.c, src/dvarchive.c, src/dvarchive.h : Fix bug in columns when opening further packages in the same window. 2006-08-30 Neil Williams * debian/menu, desktop/deb-gview.desktop.in.in : switching to .xpm icon and correcting filename. * desktop/dpkg-view.png : removed. * desktop/deb-gview.xpm : Added, courtesy of Lior Kaplan . Debian Bug #385267. * src/dvarchive.c, src/main.c : fix FSF address. 2006-08-29 Neil Williams * src/dvarchive.c : Handle an empty .deb file and standardise error syntax. * src/main.c : Handle empty .deb files on the command line. 2006-08-28 Neil Williams * src/Makefile.am : avoid specifying -larchive twice * src/dvarchive.c : Standardise some translatable strings. * po/en_GB.po : Update for modified strings. * website/index.html : Use a specific bug page 2006-08-23 Neil Williams * configure.in : Incorporate settings from autoscan to check for working -larchive. 2006-08-23 Neil Williams * NEWS : Tidy up. * README : Clarify direction. * configure.in : correct pixmap location. * deb-gview.1 : reflect description in manpage. * deb-gview.gladep : glade management of pixmaps. * debian/changelog : Make 0.0.3 the initial Debian release. 2006-08-14 Neil Williams * src/dvarchive.c : Implement status bar, downgrade compression errors to status bar warnings. Warn about empty files and UTF-8 conversion failures. Ensure files are 'regular files' before storing content. * configure.in : pixmaps location. * deb-gview.glade : Status bar and toolbar. * desktop/Makefile.am : pixmaps location fix. * src/callbacks.c : Add Toolbar support. Add file filter support. * src/callbacks.h : Toolbar support. * src/dvarchive.h : Tweak. * src/interface.c : Toolbar and status bar support. * src/main.c : Locate pixmap icon for main window and handle multiple instances. * debian/control : Tweak description. * TODO : Tweak for release. * po/en_GB.po : New strings added. * website/index.html : release update. 2006-08-04 Neil Williams * Various : Renaming package deb-gview. See bug #381221. * src/dvarchive.c : clear rows and columns when opening a new file. Removing example code and use of temporary files. Fixing data list retrieval. * src/callbacks.c : Prevent null files being loaded. 2006-08-02 Neil Williams * src/dvarchive.c : Fix column handling when opening multiple package files from the one window. * Makefile.am : Package debian/ directory to make dpkg-view into a Debian native package. * configure.in : Increment version to reflect change in nature. 2006-08-01 Neil Williams * src/dvarchive.h : * src/dvarchive.c : New files to handle the ar and tar.gz archives. * src/interface.c : Enlarge the default window and make the list hover sensitive. * callbacks.c, callbacks.h : Relocating code to dvarchive.c|h * src/main.c : Fixing handling of command line files and help options. Remove old comments. * po/en_GB.po : update * src/callbacks.c, src/dvarchive.c, src/dvarchive.h, src/main.c : Fixing display of text files within package files. 2006-07-30 Neil Williams * Makefile.am, src/Makefile.am src/callbacks.c src/main.c : Building libarchive support and outputting some content. Removing debug code for those bits that now work. * desktop/ : Adjusting desktop config. * configure.in : Enable stricter error checking. * main.c : Enable auto-opening of files specified on the command line. * dpkg-view.1 : Manpage created with help2man and tweaked. 2006-07-29 Neil Williams * dpkg-view.glade, src/callbacks.c, src/callbacks.h, src/interface.c, src/interface.h, src/main.c : Beginning to create usable output * various : Initial project creation. deb-gview-0.2.10/debian/0000755000000000000000000000000012150372712011553 5ustar deb-gview-0.2.10/debian/svn-deblayout0000644000000000000000000000001211702322163014260 0ustar origDir=. deb-gview-0.2.10/debian/copyright0000644000000000000000000000211610771304314013506 0ustar This package was downloaded from http://alioth.debian.org/projects/dpkg-view/ Files: debian/* Copyright: 2006-2008 Neil Williams Licence: GPL-3+ Files: * Copyright: 2006-2008 Neil Williams 1994,1995 Ian Jackson License: GPL-3+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License version 3 can be found in `/usr/share/common-licenses/GPL-3'. deb-gview-0.2.10/debian/deb-gview.mime0000644000000000000000000000067110606725377014316 0ustar text/plain; deb-gview %s; test=test -n "$DISPLAY" ; description="Debian GNU/Linux Package Changes"; nametemplate=%s.changes; priority=3 application/x-debian-package; deb-gview %s; test=test -n "$DISPLAY" ; description="Debian GNU/Linux Package File"; nametemplate=%s.deb; priority=3 application/x-debian-package; deb-gview %s; test=test -n "$DISPLAY" ; description="Debian GNU/Linux Installer Package File"; nametemplate=%s.udeb; priority=3 deb-gview-0.2.10/debian/changelog0000644000000000000000000001773012150372705013437 0ustar deb-gview (0.2.10) unstable; urgency=low * Move to read filters for libarchive 3.1 and wrap read_free to retain support for older versions. (Closes: #701205) * Add support for data.xz as well as data.gz inside the .deb format. * Drop -Werror unless enabled with the configure option. -- Neil Williams Sun, 26 May 2013 12:45:04 +0100 deb-gview (0.2.9) unstable; urgency=low * Avoid deprecated Glib functions. (Closes: #656797) * Cleanup pixmap load functions -- Neil Williams Sat, 31 Mar 2012 23:08:00 +0100 deb-gview (0.2.8) unstable; urgency=low * Migrate to using libarchive 3.0.2. Patch by Andres Mejia . (Closes: #653237) * Switch to subversion and 3.0 native with autoreconf support. * Bump compat to 7 -- Neil Williams Sun, 08 Jan 2012 15:16:24 +0000 deb-gview (0.2.7) unstable; urgency=low * Support gcc-4.6 -Werror behaviour but retain some debug information. (Closes: #625321) -- Neil Williams Sun, 08 May 2011 15:17:35 +0100 deb-gview (0.2.6) unstable; urgency=low * Migrate to XDG spec for preview config file * Fix mangling of PACKAGE_LIBS to add gdk-pixbuf and implement -Wl,-z,defs -Wl,--as-needed to keep deps sane. (Closes: #554302) * [INTL:vi] Vietnamese program translation update (Closes: #548202) * [INTL:sk] Slovak translation (Closes: #572106) * [INTL:ru] Russian program translation (Closes: #572101) * [l10n:eu] updated Basque translation (Closes: #572053) * [INTL:sv] Updated Swedish translation (Closes: #572564) * [INTL:vi] Vietnamese program translation update (Closes: #548202) * [l10n] Updated Czech translation of deb-gview (Closes: #572938) * [INTL:es] Spanish translation for deb-gview (Closes: #573282) * [INTL:fr] French program translation update (Closes: #573785) * [INTL:de] German program translation update (Closes: #573831) -- Neil Williams Sun, 14 Mar 2010 10:10:37 +0000 deb-gview (0.2.5) unstable; urgency=low * Drop libgnome and libgnomeui from dependencies. * Drop encoding from desktop file -- Neil Williams Thu, 20 Aug 2009 09:12:29 +0100 deb-gview (0.2.4) unstable; urgency=low * New release. * Add format specifier for all calls to g_warning. (Closes: #530631) * Migrate Vcs-Browser to new alioth URL (Closes: #528296) -- Neil Williams Mon, 01 Jun 2009 14:43:08 +0100 deb-gview (0.2.3) unstable; urgency=low * Add TDeb support. * [INTL:eu] Add deb-gview Basque translation (Closes: #518946) * [l10n] Updated Czech translation of deb-gview (Closes: #520757) * [l10n] Updated Russian translation of deb-gview (Closes: #521537) * [INTL:de] German translation for deb-gview (Closes: #521592) * Update Standards Version (no changes) * [l10n] French translation update for deb-gview (Closes: #522754) -- Neil Williams Mon, 06 Apr 2009 20:17:08 +0100 deb-gview (0.2.2) unstable; urgency=low * Revise handling of new .changes files for dpkg-dev 1.14.18 -- Neil Williams Tue, 22 Apr 2008 14:21:49 +0100 deb-gview (0.2.1) unstable; urgency=low * Handle new format .changes files and correct the handling of files in the current working dir. -- Neil Williams Sun, 30 Mar 2008 15:44:01 +0100 deb-gview (0.2.0) unstable; urgency=low * New main release, migrating from libgnomevfs to GIO from glib-2.0 * control: Fix the CVS location to allow debcheckout to work * FTBFS: support.h:39:1: error: "Q_" redefined (Closes: #471611) (use glib support instead). * tidy up unneeded files in debian/ and shorten debian/rules * Add gvfs-backends to Depends: * Add gvfs to Depends to prevent problems with incomplete GVfs installs. * Update copyright years * Explicitly build depend on pkgconfig instead of assuming something else brings it in. -- Neil Williams Sun, 23 Mar 2008 19:13:11 +0000 deb-gview (0.1.5) unstable; urgency=low * New upstream version * Eliminate extra dependencies by trimming pkgconfig --libs. * Update standards version (no changes) * please spell GNOME instead of Gnome (Closes: #456495) -- Neil Williams Tue, 01 Jan 2008 16:07:22 +0000 deb-gview (0.1.4) unstable; urgency=low * [INTL:fr] French program translation update (Closes: #438089) * coypright: Migrate to GPLv3 * debian/copyright: use some machine-operable tags -- Neil Williams Sat, 08 Sep 2007 23:22:23 +0100 deb-gview (0.1.3) unstable; urgency=low * New upstream release * clarify documentation of multi-window usage (Closes: #435071) * [INTL:pt] Updated Portuguese translation for debconf messages (Closes: #435508) * [l10n] Updated Czech translation of deb-gview (Closes: #436467) * [INTL:nl] updated Dutch translation (Closes: #436858) * [INTL:de] initial German debconf translation (Closes: #436952) * [INTL:ru] Russian program translation (Closes: #436066) * update to debian menu changes and verify desktop file. -- Neil Williams Thu, 09 Aug 2007 19:45:16 +0100 deb-gview (0.1.2) unstable; urgency=low * [l10n] Czech translation of deb-gview (Closes: #424118) * Absorb old glade2 generated code into the main codebase and drop glade3 due to lack of glade3 support. Finally allows the old generated .c files to be cleaned up. -- Neil Williams Wed, 30 May 2007 11:35:29 +0100 deb-gview (0.1.1) unstable; urgency=low * New upload due to broken tarball from using cvs-buildpackage. -- Neil Williams Thu, 19 Apr 2007 00:09:50 +0100 deb-gview (0.1.0) unstable; urgency=low * New release. Include support for opening all packages within a .changes file. Add GnomeVFS support to open remote .deb, .udeb and .changes files. * deb-gview : [INTL:pt] Portuguese translation for package messages (Closes: #418922) * Also includes new sv translation, thanks to Daniel Nylander * [INTL:fr] French program translation update (Closes: #419193) * [INTL:nl] Dutch po translation (Closes: #419704) * [INTL:it] Italian debconf template translation (Closes: #419772) -- Neil Williams Wed, 18 Apr 2007 12:11:52 +0100 deb-gview (0.0.7) unstable; urgency=low * [INTL:fr] French program translation update (Closes: #404969) -- Neil Williams Sat, 30 Dec 2006 13:30:45 +0000 deb-gview (0.0.6) unstable; urgency=low * New release. * Open dialogue always defaults to /var/cache/apt/archives (Closes: #390595) * Remove maintainer mode. -- Neil Williams Mon, 25 Dec 2006 23:43:09 +0000 deb-gview (0.0.5) unstable; urgency=low * [INTL:fr] French program translation (Closes: #386536) * Please add ability to show manpages (Closes: #385229) - Added dot-file handling for user-configurable external viewers, including manpages, HTML and PNG images by default. - suggest qiv and gedit as external viewers (sensible-browser too). -- Neil Williams Tue, 19 Sep 2006 13:12:37 +0100 deb-gview (0.0.4) unstable; urgency=low * New upstream release. * Added menu icons (Closes: #385267) * Package the POT file (Closes: #384847) * Added the ability to show gzipped files (Closes: #385227) -- Neil Williams Sat, 2 Sep 2006 19:59:27 +0100 deb-gview (0.0.3) unstable; urgency=low * Initial release. (Closes: #381221: ITP: deb-gview -- Gtk viewer for .deb package files and contents - Debian Bug report logs) - Tweak short description. -- Neil Williams Mon, 14 Aug 2006 16:20:45 +0100 deb-gview (0.0.2) unstable; urgency=low * Initial alioth release. * Project renamed deb-gview. -- Neil Williams Thu, 3 Aug 2006 00:11:05 +0100 dpkg-view (0.0.1) unstable; urgency=low * Interim local release -- Neil Williams Sat, 29 Jul 2006 15:53:55 +0100 deb-gview-0.2.10/debian/rules0000755000000000000000000000035411702323120012624 0ustar #!/usr/bin/make -f # Originally written by Robert Millan. # This file is public domain. include /usr/share/cdbs/1/class/autotools.mk include /usr/share/cdbs/1/rules/debhelper.mk makebuilddir/deb-gview:: intltoolize autoreconf -ifs deb-gview-0.2.10/debian/menu0000644000000000000000000000025210656662320012447 0ustar ?package(deb-gview):needs="X11" section="Applications/Programming"\ title="Debian package viewer" command="/usr/bin/deb-gview"\ icon="/usr/share/pixmaps/deb-gview.xpm" deb-gview-0.2.10/debian/source/0000755000000000000000000000000012150372712013053 5ustar deb-gview-0.2.10/debian/source/format0000644000000000000000000000001511702323427014263 0ustar 3.0 (native) deb-gview-0.2.10/debian/control0000644000000000000000000000233211735667745013203 0ustar Source: deb-gview Section: utils Priority: optional Maintainer: Neil Williams Build-Depends: cdbs, debhelper (>= 7), docbook-xsl, pkg-config, intltool (>= 0.40), libtool, xsltproc, libarchive-dev (>= 2.0.25-3), libgtk2.0-dev, libglib2.0-dev (>= 2.16.1) Standards-Version: 3.9.3 Homepage: http://dpkg-view.alioth.debian.org/ Vcs-Svn: svn://svn.debian.org/svn/dpkg-view/trunk/ Package: deb-gview Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, gvfs, gvfs-backends Recommends: x-terminal-emulator Suggests: eog, geany | gedit Description: GNOME viewer for .deb package files and contents Displays Debian control information, devscript details and details of the files that would be installed (names, sizes and locations). Files within the package can be viewed within the package or externally. . Accepts package locations on the command line to support the 'open' command in various file managers, one window for each package. Packages do not need to be installed to be viewed. Opening a changes file opens a new window for each package specified in the changes file. . Individual package files or packages referenced in a changes file can be viewed from local or remote filesystems. deb-gview-0.2.10/debian/compat0000644000000000000000000000000211702331303012742 0ustar 7 deb-gview-0.2.10/COPYING0000644000000000000000000010451410664102075011372 0ustar GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . deb-gview-0.2.10/po/0000755000000000000000000000000012150372712010747 5ustar deb-gview-0.2.10/po/nl.po0000644000000000000000000002041411735677762011746 0ustar # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: deb-gview\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-31 23:06+0100\n" "PO-Revision-Date: 2007-07-31 09:44+0100\n" "Last-Translator: Bart Cornelis \n" "Language-Team: debian-l10n-dutch \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Dutch\n" #: ../src/main.c:119 msgid "file" msgstr "bestand" #: ../src/main.c:139 msgid "Unable to create preview key file" msgstr "Kon geen voorbeeldweergave van een sleutelbestand aanmaken" #: ../src/main.c:159 #, c-format msgid "Error loading file '%s'." msgstr "Fout bij laden van bestand '%s'." #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/interface.c:65 msgid "translator-credits" msgstr "Bart Cornelis" #: ../src/interface.c:70 msgid "deb-gview" msgstr "deb-gview" #: ../src/interface.c:74 msgid "Gtk/Gnome viewer for the contents of a .deb file" msgstr "Gtk/Gnome-programma om de inhoud van een '.deb'-bestand te bekijken" #: ../src/interface.c:89 msgid "Homepage:" msgstr "Thuispagina:" #: ../src/interface.c:131 ../src/dvarchive.c:753 #: ../desktop/deb-gview.desktop.in.in.h:2 msgid "Debian package file viewer" msgstr "Bestandsviewer voor Debian pakketten" #: ../src/interface.c:158 msgid "_File" msgstr "_Bestand" #: ../src/interface.c:186 msgid "_View" msgstr "Bee_ld" #: ../src/interface.c:193 ../src/interface.c:411 msgid "E_xternal" msgstr "_Extern" #: ../src/interface.c:199 ../src/interface.c:206 msgid "_Help" msgstr "_Help" #: ../src/interface.c:230 msgid "Open a .deb package in a new view window." msgstr "Open een '.deb'-pakketbestand in een nieuw venster" #: ../src/interface.c:240 msgid "Open a .deb package in this window." msgstr "Open een '.deb'-pakketbestand in dit venster" #: ../src/interface.c:249 msgid "About deb-gview" msgstr "Over deb-gview" #: ../src/interface.c:259 msgid "Show the deb-gview manpage." msgstr "Toon de man-pagina voor deb-gview." #: ../src/interface.c:269 msgid "Close this view window." msgstr "Sluit dit venster" #: ../src/interface.c:275 msgid "Quit all windows." msgstr "Sluit alle vensters" #: ../src/interface.c:294 msgid "Activate to view content, right click to open in an external viewer." msgstr "" "Activeer om inhoud te bekijken, rechtsklik om in een extern programma te " "openen." #: ../src/callbacks.c:52 msgid "Choose the Debian package file to view" msgstr "In te kijken Debian-pakketbestand" #: ../src/callbacks.c:67 msgid "Debian package files *.deb" msgstr "Debian-pakketbestanden *.deb" #: ../src/callbacks.c:72 msgid "Debian Installer packages *.udeb" msgstr "Debian-installatiepakketten *.udeb" #: ../src/callbacks.c:77 #, fuzzy msgid "Debian translation packages *.tdeb" msgstr "Debian-installatiepakketten *.udeb" #: ../src/callbacks.c:82 msgid "Debian package changes *.changes" msgstr "Debian-pakketaanpassingen *.changes" #: ../src/support.c:84 ../src/support.c:103 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Kon het pixmap-bestand niet vinden: %s" #: ../src/dvarchive.c:275 msgid "Unable to locate package file, the file may be empty." msgstr "Kon het pakketbestand niet vinden, misschien is het bestand leeg." #: ../src/dvarchive.c:281 msgid "Failed to read package file." msgstr "Lezen van het pakketbestand is mislukt." #: ../src/dvarchive.c:285 msgid "Unsupported archive version." msgstr "Niet ondersteunde archiefversie." #: ../src/dvarchive.c:289 msgid "Possible corrupted file." msgstr "Mogelijk corrupt bestand bestand." #: ../src/dvarchive.c:293 msgid "Not a debian binary archive." msgstr "Is geen binair Debian-archief." #: ../src/dvarchive.c:297 msgid "Unable to decompress file within package." msgstr "Kan het bestand in het pakket niet uitpakken." #: ../src/dvarchive.c:306 #, c-format msgid "Error loading file '%s'. %s" msgstr "Fout bij laden van bestand '%s'. %s" #: ../src/dvarchive.c:353 msgid "Out of memory." msgstr "Geen geheugen meer beschikbaar." #: ../src/dvarchive.c:378 #, c-format msgid "Error reading from file: %m" msgstr "Fout bij lezen van bestand: %m" #: ../src/dvarchive.c:385 msgid "Unexpected end of file." msgstr "Onverwacht einde van bestand." #: ../src/dvarchive.c:814 msgid "Package" msgstr "Pakket" #: ../src/dvarchive.c:819 msgid "Size" msgstr "Grootte" #: ../src/dvarchive.c:824 msgid "Location" msgstr "Lokatie" #: ../src/dvarchive.c:829 msgid "Debian data" msgstr "Debian data" #: ../src/dvarchive.c:837 msgid "Upstream data" msgstr "Bovenstroomse data" #: ../src/dvarchive.c:930 ../src/dvarchive.c:953 msgid "Empty file." msgstr "Leeg bestand." #: ../src/dvarchive.c:959 msgid "Error: Failed to convert the contents of the selected file to UTF-8." msgstr "" "Fout: omzetten van de inhoud van het geselecteerde bestand naar UTF-8 is " "mislukt." #. todo: fix this translation marker #: ../src/dvpreview.c:85 #, c-format msgid "Unable to preview '%s'. %s" msgstr "Kan geen voorbeeldweergave geven voor '%s'. %s" #. Translators: This text is much easier to read with #. a space after each newline #: ../src/dvpreview.c:99 #, fuzzy msgid "" " deb-gview can use this dot-file in your XDG config directory (default: \n" " ~/.config/deb-gview/preview) to specify which applications should\n" " be used to preview files from the package.\n" " You are free to edit this file, deb-gview will\n" " not modify it, although it will be replaced if it is\n" " deleted.\n" " The first matching pattern will be used, so\n" " put the most general wildcards (like *) at the end of\n" " this file.\n" "\n" " " msgstr "" "deb-gview kan het bestand ~/.deb-gview/preview gebruiken\n" "om aan te geven welke bestanden gebruikt moeten worden\n" "bij voorbeeldweergave van bestanden in het pakket.\n" "Het staat u vrij om dit bestand aan te assen, deb-gview maakt\n" "geen aanpasingen, het bestand wordt wel vervangen als het\n" "verwijderd wordt\n" "Het eerste overeenkomend patroon wordt gebruikt, de\n" "meest generieke jokers zet u dus best aan het eind van dit\n" "bestand.\n" "\n" " " #: ../src/dvpreview.c:108 msgid "" "glob-style pattern to match the location of\n" " the file in the package (not the filesystem).\n" " " msgstr "" "glob-stijl patroon om de lokatie van het\n" "bestand in het pakket (niet het bestandssysteem)\n" "te zoeken.\n" " " #: ../src/dvpreview.c:110 msgid "" "the program to call to view the file content\n" " (which must exist in your system PATH).\n" " " msgstr "" "Het programma dat aangeroepen dient te\n" "worden om de bestandsinhoud te zien\n" "(dit moet zich in uw systeempad bevinden).\n" " " #: ../src/dvpreview.c:112 msgid "" "whether to use a terminal, TRUE or FALSE.\n" " " msgstr "" "of u wel of niet een terminal wil gebruiken,\n" "TRUE of FALSE.\n" " " #: ../src/dvpreview.c:113 msgid "" "whether the viewer needs a binary file,\n" " TRUE or FALSE.\n" " " msgstr "" "of u het weergaveprogramma een binair\n" " bestand nodig heeft, TRUE of FALSE.\n" " " #: ../src/dvpreview.c:115 msgid "" "if the viewer needs a specific suffix, add it here\n" " " msgstr "" "als het weergaveprogramma een speciaal toevoegsel\n" "nodig heeft voeg dit dan hier toe\n" " " #. package defaults #: ../src/dvpreview.c:120 msgid " Your choice of terminal application.\n" msgstr "De terminal-applicatie die u wilt gebruiken.\n" #. man pages #: ../src/dvpreview.c:126 ../src/dvpreview.c:128 ../src/dvpreview.c:129 #: ../src/dvpreview.c:130 ../src/dvpreview.c:131 msgid "manual pages" msgstr "man-pagina's" #: ../src/dvpreview.c:356 #, c-format msgid "No matching pattern in the key file." msgstr "Geen overeenkomend patroon in het sleutelbestand." #: ../src/dvpreview.c:398 #, c-format msgid "Could not find a suitable viewer in the key file." msgstr "Kon geen geschikt weergaveprogramma vinden in het sleutelbestand." #: ../desktop/deb-gview.desktop.in.in.h:1 msgid "Debian Package Viewer" msgstr "Weergaveprogramma voor Debian-pakketten" #~ msgid "" #~ "Copyright 2006 Neil Williams ,\n" #~ "1994,1995 Ian Jackson " #~ msgstr "" #~ "Copyright 2006 Neil Williams ,\n" #~ "1994,1995 Ian Jackson " deb-gview-0.2.10/po/ChangeLog0000644000000000000000000000241311343000537012515 0ustar 2010-03-01 Ivan Masár * LINGUAS: Add sk * sk.po: New Slovak translation. 2010-02-28 Américo Monteiro * pt.po: Updated Portuguese translation. 2009-03-09 Piarres Beobide * eu.po : Basque translation. 2007-08-31 Stefano Canepa * it.po : Updated Italian translation. 2007-08-15 Thomas Huriaux * fr.po : Updated French translation. 2007-08-09 Helge Kreutzmann * de.po : Initial German translation. 2007-08-07 Miroslav Kure * cs.po : Updated Czech translation. 2007-08-05 Yuri Kozlov * ru.po : New Russian translation 2007-08-02 Clytie Siddall * vi.po : New Vietnamese translation 2007-07-30 Neil Williams * en_GB.po: Update for new strings. 2007-05-15 Miroslav Kure * po/cs.po : Czech translation. 2006-09-08 Thomas Huriaux * fr.po : French translation updated for 0.0.5. 2006-09-08 Thomas Huriaux * fr.po : French translation added. 2006-08-23 Neil Williams * en_GB.po : English (British) translation. deb-gview-0.2.10/po/vi.po0000644000000000000000000002044311735677762011755 0ustar # Vietnamese translation for Deb-GView. # Copyright © 2010 Free Software Foundation, Inc. # Clytie Siddall , 2007-2010. # msgid "" msgstr "" "Project-Id-Version: deb-gview 0.2.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-31 23:06+0100\n" "PO-Revision-Date: 2010-03-06 23:14+0930\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: LocFactoryEditor 1.8\n" #: ../src/main.c:119 msgid "file" msgstr "tập tin" #: ../src/main.c:139 msgid "Unable to create preview key file" msgstr "Không thể tạo tập tin khoá để xem thử" #: ../src/main.c:159 #, c-format msgid "Error loading file '%s'." msgstr "Gặp lỗi khi nạp tập tin « %s »." #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/interface.c:65 msgid "translator-credits" msgstr "Nhóm Việt hoá Phần mềm Tự do " #: ../src/interface.c:70 msgid "deb-gview" msgstr "deb-gview" #: ../src/interface.c:74 msgid "Gtk/Gnome viewer for the contents of a .deb file" msgstr "Ứng dụng Gtk/GNOME xem nội dung của tập tin kiểu .deb" #: ../src/interface.c:89 msgid "Homepage:" msgstr "Trang chủ :" #: ../src/interface.c:131 ../src/dvarchive.c:753 #: ../desktop/deb-gview.desktop.in.in.h:2 msgid "Debian package file viewer" msgstr "Bộ xem tập tin gói Debian" #: ../src/interface.c:158 msgid "_File" msgstr "_Tập tin" #: ../src/interface.c:186 msgid "_View" msgstr "_Xem" #: ../src/interface.c:193 ../src/interface.c:411 msgid "E_xternal" msgstr "_Ngoài" #: ../src/interface.c:199 ../src/interface.c:206 msgid "_Help" msgstr "Trợ g_iúp" #: ../src/interface.c:230 msgid "Open a .deb package in a new view window." msgstr "Mở một gói .deb trong cửa sổ mới." #: ../src/interface.c:240 msgid "Open a .deb package in this window." msgstr "Mở một gói .deb trong cửa sổ này." #: ../src/interface.c:249 msgid "About deb-gview" msgstr "Giới thiệu về deb-gview" #: ../src/interface.c:259 msgid "Show the deb-gview manpage." msgstr "Hiện trang hướng dẫn deb-gview." #: ../src/interface.c:269 msgid "Close this view window." msgstr "Đóng cửa sổ xem này." #: ../src/interface.c:275 msgid "Quit all windows." msgstr "Thoát khỏi mọi cửa sổ." #: ../src/interface.c:294 msgid "Activate to view content, right click to open in an external viewer." msgstr "Bật để xem nội dung, nhấn-phải để mở trong bộ xem bên ngoài." #: ../src/callbacks.c:52 msgid "Choose the Debian package file to view" msgstr "Chọn tập tin gói Debian cần xem" #: ../src/callbacks.c:67 msgid "Debian package files *.deb" msgstr "Tập tin gói Debian *.deb" #: ../src/callbacks.c:72 msgid "Debian Installer packages *.udeb" msgstr "Gói cài đặt Debian *.udeb" #: ../src/callbacks.c:77 msgid "Debian translation packages *.tdeb" msgstr "Gói dịch Debian *.tdeb" #: ../src/callbacks.c:82 msgid "Debian package changes *.changes" msgstr "Thay đổi gói Debian *.changes" #: ../src/support.c:84 ../src/support.c:103 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Không tìm thấy tập tin sơ đồ điểm ảnh: %s" #: ../src/dvarchive.c:275 msgid "Unable to locate package file, the file may be empty." msgstr "Không thể tìm tập tin gói, có lẽ tập tin rỗng." #: ../src/dvarchive.c:281 msgid "Failed to read package file." msgstr "Lỗi đọc tập tin gói." #: ../src/dvarchive.c:285 msgid "Unsupported archive version." msgstr "Phiên bản kho nén không được hỗ trợ." #: ../src/dvarchive.c:289 msgid "Possible corrupted file." msgstr "Có lẽ tập tin bị hỏng." #: ../src/dvarchive.c:293 msgid "Not a debian binary archive." msgstr "Không phải kho nén nhị phân Debian." #: ../src/dvarchive.c:297 msgid "Unable to decompress file within package." msgstr "Không thể giải nén tập tin ra gói." #: ../src/dvarchive.c:306 #, c-format msgid "Error loading file '%s'. %s" msgstr "Gặp lỗi khi nạp tập tin « %s »: %s" #: ../src/dvarchive.c:353 msgid "Out of memory." msgstr "Hết bộ nhớ." #: ../src/dvarchive.c:378 #, c-format msgid "Error reading from file: %m" msgstr "Gặp lỗi khi đọc từ tập tin: %m" #: ../src/dvarchive.c:385 msgid "Unexpected end of file." msgstr "Gặp kết thúc tập tin bất thường." #: ../src/dvarchive.c:814 msgid "Package" msgstr "Gói" #: ../src/dvarchive.c:819 msgid "Size" msgstr "Cỡ" #: ../src/dvarchive.c:824 msgid "Location" msgstr "Vị trí" #: ../src/dvarchive.c:829 msgid "Debian data" msgstr "Dữ liệu Debian" #: ../src/dvarchive.c:837 msgid "Upstream data" msgstr "Dữ liệu dự án gốc" #: ../src/dvarchive.c:930 ../src/dvarchive.c:953 msgid "Empty file." msgstr "Tập tin rỗng." #: ../src/dvarchive.c:959 msgid "Error: Failed to convert the contents of the selected file to UTF-8." msgstr "Lỗi: không chuyển đổi được nội dung của tập tin đã chọn sang UTF-8." #. todo: fix this translation marker #: ../src/dvpreview.c:85 #, c-format msgid "Unable to preview '%s'. %s" msgstr "Không thể xem thử « %s »: %s" #. Translators: This text is much easier to read with #. a space after each newline #: ../src/dvpreview.c:99 msgid "" " deb-gview can use this dot-file in your XDG config directory (default: \n" " ~/.config/deb-gview/preview) to specify which applications should\n" " be used to preview files from the package.\n" " You are free to edit this file, deb-gview will\n" " not modify it, although it will be replaced if it is\n" " deleted.\n" " The first matching pattern will be used, so\n" " put the most general wildcards (like *) at the end of\n" " this file.\n" "\n" " " msgstr "" " deb-gview có khả năng sử dụng tập tin chấm này\n" " nằm trong thư mục cấu hình XDG của bạn\n" " (mặc định: ~/.config/deb-gview/preview)\n" " để xác định những ứng dụng nào\n" " nên được dùng để xem thử tập tin từ gói.\n" " Bạn có quyền chỉnh sửa tập tin này:\n" " deb-gview sẽ không sửa đổi nó,\n" " dù thay thế tập tin bị xoá.\n" "\n" " Mẫu tương ứng thứ nhất sẽ được dùng,\n" " vậy hãy ghi các ký tự đại diện chung nhất\n" " (v.d. *) ở kết thúc của tập tin này.\n" "\n" " " #: ../src/dvpreview.c:108 msgid "" "glob-style pattern to match the location of\n" " the file in the package (not the filesystem).\n" " " msgstr "" "Mẫu kiểu glob để khớp với vị trí của tập tin\n" " trong gói (không phải trên hệ thống tập tin).\n" " " #: ../src/dvpreview.c:110 msgid "" "the program to call to view the file content\n" " (which must exist in your system PATH).\n" " " msgstr "" "chương trình cần gọi để xem nội dung tập tin\n" " (mà phải nằm trên đường dẫn mặc định\n" " PATH của hệ thống).\n" " " #: ../src/dvpreview.c:112 msgid "" "whether to use a terminal, TRUE or FALSE.\n" " " msgstr "" "có nên dùng thiết bị cuối,\n" " TRUE (đúng) hay FALSE (sai).\n" " " #: ../src/dvpreview.c:113 msgid "" "whether the viewer needs a binary file,\n" " TRUE or FALSE.\n" " " msgstr "" "bộ xem cần thiết một tập tin nhị phân,\n" " TRUE (đúng) hay FALSE (sai).\n" " " #: ../src/dvpreview.c:115 msgid "" "if the viewer needs a specific suffix, add it here\n" " " msgstr "" "bộ xem cần thiết hậu tố riêng thì thêm nó vào đây.\n" " " #. package defaults #: ../src/dvpreview.c:120 msgid " Your choice of terminal application.\n" msgstr " Ứng dụng thiết bị cuối ưa thích.\n" #. man pages #: ../src/dvpreview.c:126 ../src/dvpreview.c:128 ../src/dvpreview.c:129 #: ../src/dvpreview.c:130 ../src/dvpreview.c:131 msgid "manual pages" msgstr "trang hướng dẫn" #: ../src/dvpreview.c:356 #, c-format msgid "No matching pattern in the key file." msgstr "Không có mẫu tương ứng trong tập tin khoá." #: ../src/dvpreview.c:398 #, c-format msgid "Could not find a suitable viewer in the key file." msgstr "Không tìm thấy bộ xem thích hợp trong tập tin khoá." #: ../desktop/deb-gview.desktop.in.in.h:1 msgid "Debian Package Viewer" msgstr "Bộ Xem Gói Debian" deb-gview-0.2.10/po/ru.po0000644000000000000000000002327411735677762011772 0ustar # translation of ru.po to Russian # Translation of ru.po to Russian # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the deb-gview package. # # Yuri Kozlov , 2007, 2009. # Yuri Kozlov , 2010. msgid "" msgstr "" "Project-Id-Version: deb-gview 0.2.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-31 23:06+0100\n" "PO-Revision-Date: 2010-03-01 18:33+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../src/main.c:119 msgid "file" msgstr "файл" #: ../src/main.c:139 msgid "Unable to create preview key file" msgstr "Не удалось создать настроечный файл preview" #: ../src/main.c:159 #, c-format msgid "Error loading file '%s'." msgstr "Ошибка загрузки файла '%s'." #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/interface.c:65 msgid "translator-credits" msgstr "Юрий Козлов " #: ../src/interface.c:70 msgid "deb-gview" msgstr "deb-gview" #: ../src/interface.c:74 msgid "Gtk/Gnome viewer for the contents of a .deb file" msgstr "Gtk/Gnome программа просмотра содержимого .deb-файла" #: ../src/interface.c:89 msgid "Homepage:" msgstr "Домашняя страница:" #: ../src/interface.c:131 ../src/dvarchive.c:753 #: ../desktop/deb-gview.desktop.in.in.h:2 msgid "Debian package file viewer" msgstr "Программа просмотра пакетов Debian" #: ../src/interface.c:158 msgid "_File" msgstr "_Файл" #: ../src/interface.c:186 msgid "_View" msgstr "_Вид" #: ../src/interface.c:193 ../src/interface.c:411 msgid "E_xternal" msgstr "В_нешняя программа" #: ../src/interface.c:199 ../src/interface.c:206 msgid "_Help" msgstr "_Справка" #: ../src/interface.c:230 msgid "Open a .deb package in a new view window." msgstr "Открыть пакет .deb в новом окне." #: ../src/interface.c:240 msgid "Open a .deb package in this window." msgstr "Открыть пакет .deb в этом окне." #: ../src/interface.c:249 msgid "About deb-gview" msgstr "О программе deb-gview" #: ../src/interface.c:259 msgid "Show the deb-gview manpage." msgstr "Показать справочную страницу deb-gview." #: ../src/interface.c:269 msgid "Close this view window." msgstr "Закрыть это окно просмотра." #: ../src/interface.c:275 msgid "Quit all windows." msgstr "Закрыть все окна." #: ../src/interface.c:294 msgid "Activate to view content, right click to open in an external viewer." msgstr "" "Используйте двойной клик для просмотра содержимого, правая клавиша мыши для " "запуска внешней программы просмотра." #: ../src/callbacks.c:52 msgid "Choose the Debian package file to view" msgstr "Выбор файла пакета Debian для просмотра" #: ../src/callbacks.c:67 msgid "Debian package files *.deb" msgstr "Файлы пакетов Debian *.deb" #: ../src/callbacks.c:72 msgid "Debian Installer packages *.udeb" msgstr "Пакеты программы установки Debian *.udeb" #: ../src/callbacks.c:77 msgid "Debian translation packages *.tdeb" msgstr "Пакеты переводов Debian *.tdeb" #: ../src/callbacks.c:82 msgid "Debian package changes *.changes" msgstr "Файлы изменений в пакете Debian *.changes" #: ../src/support.c:84 ../src/support.c:103 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Не найден pixmap-файл: %s" #: ../src/dvarchive.c:275 msgid "Unable to locate package file, the file may be empty." msgstr "Не удалось найти файл пакета, файл может быть пуст." #: ../src/dvarchive.c:281 msgid "Failed to read package file." msgstr "Не удалось прочитать файл пакета." #: ../src/dvarchive.c:285 msgid "Unsupported archive version." msgstr "Эта версия архива не поддерживается." #: ../src/dvarchive.c:289 msgid "Possible corrupted file." msgstr "Возможно, повреждённый файл." #: ../src/dvarchive.c:293 msgid "Not a debian binary archive." msgstr "Это не двоичный архив debian." #: ../src/dvarchive.c:297 msgid "Unable to decompress file within package." msgstr "Не удалось распаковать файл из пакета." #: ../src/dvarchive.c:306 #, c-format msgid "Error loading file '%s'. %s" msgstr "Ошибка загрузки файла '%s'. %s" #: ../src/dvarchive.c:353 msgid "Out of memory." msgstr "Не хватает памяти." #: ../src/dvarchive.c:378 #, c-format msgid "Error reading from file: %m" msgstr "Ошибка чтения из файла: %m" #: ../src/dvarchive.c:385 msgid "Unexpected end of file." msgstr "Неожиданный конец файла." #: ../src/dvarchive.c:814 msgid "Package" msgstr "Пакет" #: ../src/dvarchive.c:819 msgid "Size" msgstr "Размер" #: ../src/dvarchive.c:824 msgid "Location" msgstr "Путь" #: ../src/dvarchive.c:829 msgid "Debian data" msgstr "Данные Debian" #: ../src/dvarchive.c:837 msgid "Upstream data" msgstr "Данные авторов" #: ../src/dvarchive.c:930 ../src/dvarchive.c:953 msgid "Empty file." msgstr "Пустой файл." #: ../src/dvarchive.c:959 msgid "Error: Failed to convert the contents of the selected file to UTF-8." msgstr "Ошибка: не удалось преобразовать кодировку выбранного файла в UTF-8." #. todo: fix this translation marker #: ../src/dvpreview.c:85 #, c-format msgid "Unable to preview '%s'. %s" msgstr "Не удалось показать '%s'. %s" #. Translators: This text is much easier to read with #. a space after each newline #: ../src/dvpreview.c:99 msgid "" " deb-gview can use this dot-file in your XDG config directory (default: \n" " ~/.config/deb-gview/preview) to specify which applications should\n" " be used to preview files from the package.\n" " You are free to edit this file, deb-gview will\n" " not modify it, although it will be replaced if it is\n" " deleted.\n" " The first matching pattern will be used, so\n" " put the most general wildcards (like *) at the end of\n" " this file.\n" "\n" " " msgstr "" " deb-gview может использовать данный точечный файл в вашем\n" " каталоге настроек XDG (по умолчанию ~/.deb-gview/preview)\n" " для указания того, какие приложения должны быть задействованы\n" " для предварительного просмотра файлов из пакета.\n" " Вы можете изменять этот файл, deb-gview только читает его,\n" " хотя при его удалении он будет создан заново.\n" " При поиске используется первый совпадающий шаблон, поэтому\n" " размещайте наиболее общие маски (типа *) в конце файла.\n" "\n" " " #: ../src/dvpreview.c:108 msgid "" "glob-style pattern to match the location of\n" " the file in the package (not the filesystem).\n" " " msgstr "" "шаблон в glob-стиле, совпадающий с путём файла\n" " в пакете (не в файловой системе).\n" " " #: ../src/dvpreview.c:110 msgid "" "the program to call to view the file content\n" " (which must exist in your system PATH).\n" " " msgstr "" "программа, которая вызывается для просмотра содержимого файла\n" " (должна быть доступна в вашей переменной окружения PATH).\n" " " #: ../src/dvpreview.c:112 msgid "" "whether to use a terminal, TRUE or FALSE.\n" " " msgstr "" "использовать терминал, TRUE или FALSE.\n" " " #: ../src/dvpreview.c:113 msgid "" "whether the viewer needs a binary file,\n" " TRUE or FALSE.\n" " " msgstr "" "нужна ли программа просмотра для двоичных файлов,\n" " TRUE или FALSE.\n" " " #: ../src/dvpreview.c:115 msgid "" "if the viewer needs a specific suffix, add it here\n" " " msgstr "" "если программе нужен специальный суффикс, добавьте его здесь\n" " " #. package defaults #: ../src/dvpreview.c:120 msgid " Your choice of terminal application.\n" msgstr " Укажите здесь предпочитаемый эмулятор терминала.\n" #. man pages #: ../src/dvpreview.c:126 ../src/dvpreview.c:128 ../src/dvpreview.c:129 #: ../src/dvpreview.c:130 ../src/dvpreview.c:131 msgid "manual pages" msgstr "справочные страницы" #: ../src/dvpreview.c:356 #, c-format msgid "No matching pattern in the key file." msgstr "Не подходит ни под один шаблон из файла настроек." #: ../src/dvpreview.c:398 #, c-format msgid "Could not find a suitable viewer in the key file." msgstr "Не удалось найти подходящую программу просмотра в файле настроек." #: ../desktop/deb-gview.desktop.in.in.h:1 msgid "Debian Package Viewer" msgstr "Программа просмотра пакетов Debian" deb-gview-0.2.10/po/cs.po0000644000000000000000000001752611735677762011754 0ustar # Czech translation of deb-gview # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the deb-gview package. # Miroslav Kure , 2007-2010. # msgid "" msgstr "" "Project-Id-Version: deb-gview\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-31 23:06+0100\n" "PO-Revision-Date: 2010-03-07 19:42+0100\n" "Last-Translator: Miroslav Kure \n" "Language-Team: Czech \n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/main.c:119 msgid "file" msgstr "soubor" #: ../src/main.c:139 msgid "Unable to create preview key file" msgstr "Nelze vytvořit konf. soubor preview." #: ../src/main.c:159 #, c-format msgid "Error loading file '%s'." msgstr "Chyba při nahrávání souboru „%s“." #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/interface.c:65 msgid "translator-credits" msgstr "Miroslav Kure" #: ../src/interface.c:70 msgid "deb-gview" msgstr "deb-gview" #: ../src/interface.c:74 msgid "Gtk/Gnome viewer for the contents of a .deb file" msgstr "Gtk/Gnome prohlížeč obsahu .deb souborů" #: ../src/interface.c:89 msgid "Homepage:" msgstr "Domovská stránka:" #: ../src/interface.c:131 ../src/dvarchive.c:753 #: ../desktop/deb-gview.desktop.in.in.h:2 msgid "Debian package file viewer" msgstr "Prohlížeč debianích balíků" #: ../src/interface.c:158 msgid "_File" msgstr "_Soubor" #: ../src/interface.c:186 msgid "_View" msgstr "_Zobrazit" #: ../src/interface.c:193 ../src/interface.c:411 msgid "E_xternal" msgstr "E_xterní" #: ../src/interface.c:199 ../src/interface.c:206 msgid "_Help" msgstr "Nápo_věda" #: ../src/interface.c:230 msgid "Open a .deb package in a new view window." msgstr "Otevře .deb balík v novém okně." #: ../src/interface.c:240 msgid "Open a .deb package in this window." msgstr "Otevře .deb balík v tomto okně." #: ../src/interface.c:249 msgid "About deb-gview" msgstr "O deb-gview" #: ../src/interface.c:259 msgid "Show the deb-gview manpage." msgstr "Zobrazí manuálovou stránku deb-gview" #: ../src/interface.c:269 msgid "Close this view window." msgstr "Zavře toto okno." #: ../src/interface.c:275 msgid "Quit all windows." msgstr "Ukončí všechna okna." #: ../src/interface.c:294 msgid "Activate to view content, right click to open in an external viewer." msgstr "" "Aktivujte pro zobrazení obsahu, klikněte pravým tlačítkem pro otevření v " "externím prohlížeči." #: ../src/callbacks.c:52 msgid "Choose the Debian package file to view" msgstr "Vyberte debianí balík, který chcete prohlédnout" #: ../src/callbacks.c:67 msgid "Debian package files *.deb" msgstr "Debianí balíky *.deb" #: ../src/callbacks.c:72 msgid "Debian Installer packages *.udeb" msgstr "Debianí balíky instalátoru *.udeb" #: ../src/callbacks.c:77 msgid "Debian translation packages *.tdeb" msgstr "Debianí balíky s překlady *.tdeb" #: ../src/callbacks.c:82 msgid "Debian package changes *.changes" msgstr "Soubory se změnami *.changes" #: ../src/support.c:84 ../src/support.c:103 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Nelze najít soubor s pixmapou: %s" #: ../src/dvarchive.c:275 msgid "Unable to locate package file, the file may be empty." msgstr "Nelze najít soubor s balíkem, soubor může být prázdný." #: ../src/dvarchive.c:281 msgid "Failed to read package file." msgstr "Soubor s balíkem se nepodařilo přečíst." #: ../src/dvarchive.c:285 msgid "Unsupported archive version." msgstr "Nepodporovaná verze archivu." #: ../src/dvarchive.c:289 msgid "Possible corrupted file." msgstr "Potenciálně porušený soubor." #: ../src/dvarchive.c:293 msgid "Not a debian binary archive." msgstr "Není binárním archivem Debianu." #: ../src/dvarchive.c:297 msgid "Unable to decompress file within package." msgstr "Nelze rozbalit soubor uvnitř balíku." #: ../src/dvarchive.c:306 #, c-format msgid "Error loading file '%s'. %s" msgstr "Chyba při nahrávání souboru „%s“. %s" #: ../src/dvarchive.c:353 msgid "Out of memory." msgstr "Nedostatek paměti." #: ../src/dvarchive.c:378 #, c-format msgid "Error reading from file: %m" msgstr "Chyba čtení ze souboru: %m" #: ../src/dvarchive.c:385 msgid "Unexpected end of file." msgstr "Neočekávaný konec souboru." #: ../src/dvarchive.c:814 msgid "Package" msgstr "Balík" #: ../src/dvarchive.c:819 msgid "Size" msgstr "Velikost" #: ../src/dvarchive.c:824 msgid "Location" msgstr "Umístění" #: ../src/dvarchive.c:829 msgid "Debian data" msgstr "Data Debianu" #: ../src/dvarchive.c:837 msgid "Upstream data" msgstr "Původní data" #: ../src/dvarchive.c:930 ../src/dvarchive.c:953 msgid "Empty file." msgstr "Prázdný soubor." #: ../src/dvarchive.c:959 msgid "Error: Failed to convert the contents of the selected file to UTF-8." msgstr "Chyba: nepodařilo se převést obsah vybraného souboru do UTF-8." #. todo: fix this translation marker #: ../src/dvpreview.c:85 #, c-format msgid "Unable to preview '%s'. %s" msgstr "Nelze zobrazit náhled „%s“. %s" #. Translators: This text is much easier to read with #. a space after each newline #: ../src/dvpreview.c:99 msgid "" " deb-gview can use this dot-file in your XDG config directory (default: \n" " ~/.config/deb-gview/preview) to specify which applications should\n" " be used to preview files from the package.\n" " You are free to edit this file, deb-gview will\n" " not modify it, although it will be replaced if it is\n" " deleted.\n" " The first matching pattern will be used, so\n" " put the most general wildcards (like *) at the end of\n" " this file.\n" "\n" " " msgstr "" " deb-gview může využít soubor v konfiguračním adresáři XDG\n" " (výchozí je ~/.config/deb-gview/preview) k určení aplikací,\n" " které se mají používat pro náhledy souborů z balíku.\n" " Tento soubor můžete libovolně upravovat, deb-gview jej\n" " nepřepíše (ovšem může jej nahradit v případě, že soubor\n" " smažete).\n" "\n" " Použije se první shodující se vzor, takže obecnější vzory\n" " (např. *) umístěte až na konec souboru.\n" "\n" " " #: ../src/dvpreview.c:108 msgid "" "glob-style pattern to match the location of\n" " the file in the package (not the filesystem).\n" " " msgstr "" "vzor shodující se s umístěním souboru\n" " v balíku (ne v souborovém systému).\n" " " #: ../src/dvpreview.c:110 msgid "" "the program to call to view the file content\n" " (which must exist in your system PATH).\n" " " msgstr "" "program, který se má spustit pro zobrazení obsahu\n" " souboru (musí existovat v proměnné PATH).\n" " " #: ../src/dvpreview.c:112 msgid "" "whether to use a terminal, TRUE or FALSE.\n" " " msgstr "" "zda se má používat terminál, TRUE nebo FALSE.\n" " " #: ../src/dvpreview.c:113 msgid "" "whether the viewer needs a binary file,\n" " TRUE or FALSE.\n" " " msgstr "" "zda prohlížeč vyžaduje binární soubor, \n" " TRUE nebo FALSE.\n" " " #: ../src/dvpreview.c:115 msgid "" "if the viewer needs a specific suffix, add it here\n" " " msgstr "" "pokud prohlížeč vyžaduje konkrétní příponu,\n" " zadejte ji zde.\n" " " #. package defaults #: ../src/dvpreview.c:120 msgid " Your choice of terminal application.\n" msgstr " Výběr terminálové aplikace.\n" #. man pages #: ../src/dvpreview.c:126 ../src/dvpreview.c:128 ../src/dvpreview.c:129 #: ../src/dvpreview.c:130 ../src/dvpreview.c:131 msgid "manual pages" msgstr "manuálové stránky" #: ../src/dvpreview.c:356 #, c-format msgid "No matching pattern in the key file." msgstr "V konf. souboru nebyl nalezen odpovídající vzor." #: ../src/dvpreview.c:398 #, c-format msgid "Could not find a suitable viewer in the key file." msgstr "V konf. souboru nebyl nalezen vhodný prohlížeč." #: ../desktop/deb-gview.desktop.in.in.h:1 msgid "Debian Package Viewer" msgstr "Prohlížeč debianích balíků" deb-gview-0.2.10/po/de.po0000644000000000000000000002016511735677762011730 0ustar # German translation of deb-gview templates # This file is distributed under the same license as the deb-gview package. # # Helge Kreutzmann , 2007. # Thomas Müller , 2009, 2010. msgid "" msgstr "" "Project-Id-Version: deb-gview \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-31 23:06+0100\n" "PO-Revision-Date: 2010-03-11 22:17+0100\n" "Last-Translator: Thomas Müller \n" "Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/main.c:119 msgid "file" msgstr "Datei" #: ../src/main.c:139 msgid "Unable to create preview key file" msgstr "Konnte Schlüsseldatei für die Vorschau nicht erstellen" #: ../src/main.c:159 #, c-format msgid "Error loading file '%s'." msgstr "Fehler beim Laden der Datei »%s«." #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/interface.c:65 msgid "translator-credits" msgstr "" "Helge Kreutzmann\n" "Thomas Müller" #: ../src/interface.c:70 msgid "deb-gview" msgstr "Deb-GView" #: ../src/interface.c:74 msgid "Gtk/Gnome viewer for the contents of a .deb file" msgstr "Gtk/GNOME-Betrachter für den Inhalt einer .deb-Datei" #: ../src/interface.c:89 msgid "Homepage:" msgstr "Homepage:" #: ../src/interface.c:131 ../src/dvarchive.c:753 #: ../desktop/deb-gview.desktop.in.in.h:2 msgid "Debian package file viewer" msgstr "Debian-Paketdatei-Betrachter" #: ../src/interface.c:158 msgid "_File" msgstr "_Datei" #: ../src/interface.c:186 msgid "_View" msgstr "_Ansicht" #: ../src/interface.c:193 ../src/interface.c:411 msgid "E_xternal" msgstr "E_xtern" #: ../src/interface.c:199 ../src/interface.c:206 msgid "_Help" msgstr "_Hilfe" #: ../src/interface.c:230 msgid "Open a .deb package in a new view window." msgstr "Öffne ein .deb-Paket in einem neuen Fenster." #: ../src/interface.c:240 msgid "Open a .deb package in this window." msgstr "Öffne ein .deb-Paket in diesem Fenster." #: ../src/interface.c:249 msgid "About deb-gview" msgstr "Über deb-gview" #: ../src/interface.c:259 msgid "Show the deb-gview manpage." msgstr "Zeige die Handbuchseite von Deb-GView." #: ../src/interface.c:269 msgid "Close this view window." msgstr "Schließe dieses Fenster." #: ../src/interface.c:275 msgid "Quit all windows." msgstr "Schließe alle Fenster." #: ../src/interface.c:294 msgid "Activate to view content, right click to open in an external viewer." msgstr "" "Aktivieren, um Inhalt zu betrachten, rechter Mausklick zum Öffnen in einem " "externen Fenster." #: ../src/callbacks.c:52 msgid "Choose the Debian package file to view" msgstr "Wählen Sie die Debian-Paket-Datei zum Betrachten aus" #: ../src/callbacks.c:67 msgid "Debian package files *.deb" msgstr "Debian-Paket-Dateien *.deb" #: ../src/callbacks.c:72 msgid "Debian Installer packages *.udeb" msgstr "Debian-Installer-Pakete *.udeb" #: ../src/callbacks.c:77 msgid "Debian translation packages *.tdeb" msgstr "Debian-Übersetzungspakete *.tdeb" #: ../src/callbacks.c:82 msgid "Debian package changes *.changes" msgstr "Debian-Paketänderungen *.changes" #: ../src/support.c:84 ../src/support.c:103 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Konnte Graphik- (Pixmap-)Datei nicht finden: %s" #: ../src/dvarchive.c:275 msgid "Unable to locate package file, the file may be empty." msgstr "Konnte die Paketdatei nicht auffinden, die Datei könnte leer sein." #: ../src/dvarchive.c:281 msgid "Failed to read package file." msgstr "Fehler beim Lesen der Paketdatei." #: ../src/dvarchive.c:285 msgid "Unsupported archive version." msgstr "Nicht unterstützte Archivversion." #: ../src/dvarchive.c:289 msgid "Possible corrupted file." msgstr "Möglicherweise beschädigte Datei." #: ../src/dvarchive.c:293 msgid "Not a debian binary archive." msgstr "Kein Debian-Binärarchiv." #: ../src/dvarchive.c:297 msgid "Unable to decompress file within package." msgstr "Konnte Datei innerhalb des Pakets nicht entpacken." #: ../src/dvarchive.c:306 #, c-format msgid "Error loading file '%s'. %s" msgstr "Fehler beim Laden der Datei »%s«. %s" #: ../src/dvarchive.c:353 msgid "Out of memory." msgstr "Speicher erschöpft." #: ../src/dvarchive.c:378 #, c-format msgid "Error reading from file: %m" msgstr "Fehler beim Lesen aus Datei: %m" #: ../src/dvarchive.c:385 msgid "Unexpected end of file." msgstr "Unerwartetes Dateiende." #: ../src/dvarchive.c:814 msgid "Package" msgstr "Paket" #: ../src/dvarchive.c:819 msgid "Size" msgstr "Größe" #: ../src/dvarchive.c:824 msgid "Location" msgstr "Ort" #: ../src/dvarchive.c:829 msgid "Debian data" msgstr "Debian-Daten" #: ../src/dvarchive.c:837 msgid "Upstream data" msgstr "Daten von den Originalautoren" #: ../src/dvarchive.c:930 ../src/dvarchive.c:953 msgid "Empty file." msgstr "Leere Datei." #: ../src/dvarchive.c:959 msgid "Error: Failed to convert the contents of the selected file to UTF-8." msgstr "" "Fehler: Konnte den Inhalt der ausgewählten Datei nicht nach UTF-8 " "konvertieren." #. todo: fix this translation marker #: ../src/dvpreview.c:85 #, c-format msgid "Unable to preview '%s'. %s" msgstr "Keine Vorschau von »%s« möglich. %s" #. Translators: This text is much easier to read with #. a space after each newline #: ../src/dvpreview.c:99 msgid "" " deb-gview can use this dot-file in your XDG config directory (default: \n" " ~/.config/deb-gview/preview) to specify which applications should\n" " be used to preview files from the package.\n" " You are free to edit this file, deb-gview will\n" " not modify it, although it will be replaced if it is\n" " deleted.\n" " The first matching pattern will be used, so\n" " put the most general wildcards (like *) at the end of\n" " this file.\n" "\n" " " msgstr "" " Deb-GView kann die Punkt-Datei in Ihrem XDG-Konfigurationsverzeichnis \n" " (Stanardmäßig: ~/.config/deb-gview/preview) zur Angabe verwenden, welche \n" " Anwendungen zur Vorschau von Dateien aus dem Paket verwendet werden " "sollen.\n" " Sie können diese Datei bearbeiten und deb-gview wird sie nicht \n" " verändern. Allerdings wird sie ersetzt, falls sie gelöscht wird.\n" " Das erste passende Muster wird verwendet. Setzen Sie daher die\n" " allgemeinsten Jokerausdrücke (wie *) an das Ende dieser Datei.\n" "\n" " " #: ../src/dvpreview.c:108 msgid "" "glob-style pattern to match the location of\n" " the file in the package (not the filesystem).\n" " " msgstr "" "Glob-artiges Muster, für die Übereinstimmung mit\n" " dem Ort der Datei im Paket (nicht im Dateisystem).\n" " " #: ../src/dvpreview.c:110 msgid "" "the program to call to view the file content\n" " (which must exist in your system PATH).\n" " " msgstr "" "das Programm, das zum Betrachten des Dateiinhalts\n" " verwendet werden soll (dies muss in Ihrem\n" " System-Pfad (PATH) existieren).\n" " " #: ../src/dvpreview.c:112 msgid "" "whether to use a terminal, TRUE or FALSE.\n" " " msgstr "" "ob ein Terminal verwendet werden soll, TRUE oder FALSE.\n" " " #: ../src/dvpreview.c:113 msgid "" "whether the viewer needs a binary file,\n" " TRUE or FALSE.\n" " " msgstr "" "ob der Betrachter eine Binärdatei benötigt,\n" " TRUE oder FALSE.\n" " " #: ../src/dvpreview.c:115 msgid "" "if the viewer needs a specific suffix, add it here\n" " " msgstr "" "falls der Betrachter eine spezielle Endung benötigt, fügen Sie diese hier\n" " hinzu\n" " " #. package defaults #: ../src/dvpreview.c:120 msgid " Your choice of terminal application.\n" msgstr " Ihre Wahl der Terminal-Anwendung.\n" #. man pages #: ../src/dvpreview.c:126 ../src/dvpreview.c:128 ../src/dvpreview.c:129 #: ../src/dvpreview.c:130 ../src/dvpreview.c:131 msgid "manual pages" msgstr "Handbuchseiten" #: ../src/dvpreview.c:356 #, c-format msgid "No matching pattern in the key file." msgstr "Kein passendes Muster in der Schlüsseldatei." #: ../src/dvpreview.c:398 #, c-format msgid "Could not find a suitable viewer in the key file." msgstr "Konnte keinen geeigneten Betrachter in der Schlüsseldatei finden." #: ../desktop/deb-gview.desktop.in.in.h:1 msgid "Debian Package Viewer" msgstr "Debian-Paketbetrachter" deb-gview-0.2.10/po/es.po0000644000000000000000000002202311735677762011742 0ustar # deb-gview po-debconf translation to Spanish # Copyright (C) 2010 Software in the Public Interest # This file is distributed under the same license as the deb-gview package. # # Changes: # - Initial translation # Omar Campagne , 2010 # # - Updates # TRANSLATOR # # Traductores, si no conocen el formato PO, merece la pena leer la # documentación de gettext, especialmente las secciones dedicadas a este # formato, por ejemplo ejecutando: # info -n '(gettext)PO Files' # info -n '(gettext)Header Entry' # # Equipo de traducción al español, por favor lean antes de traducir # los siguientes documentos: # # - El proyecto de traducción de Debian al español # http://www.debian.org/intl/spanish/ # especialmente las notas y normas de traducción en # http://www.debian.org/intl/spanish/notas # # - La guía de traducción de po's de debconf: # /usr/share/doc/po-debconf/README-trans # o http://www.debian.org/intl/l10n/po-debconf/README-trans # msgid "" msgstr "" "Project-Id-Version: 0.2.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-31 23:06+0100\n" "PO-Revision-Date: 2010-02-28 16:08+0100\n" "Last-Translator: Omar Campagne \n" "Language-Team: Debian l10n Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Virtaal 0.5.2\n" #: ../src/main.c:119 msgid "file" msgstr "fichero" #: ../src/main.c:139 msgid "Unable to create preview key file" msgstr "No se pudo crear una previsualización de la clave del fichero" #: ../src/main.c:159 #, c-format msgid "Error loading file '%s'." msgstr "Error al cargar el fichero '%s'." #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/interface.c:65 msgid "translator-credits" msgstr "Omar Campagne" #: ../src/interface.c:70 msgid "deb-gview" msgstr "deb-gview" #: ../src/interface.c:74 msgid "Gtk/Gnome viewer for the contents of a .deb file" msgstr "Visor Gtk/Gnome de contenidos de ficheros «.deb»." #: ../src/interface.c:89 msgid "Homepage:" msgstr "Página oficial:" #: ../src/interface.c:131 ../src/dvarchive.c:753 #: ../desktop/deb-gview.desktop.in.in.h:2 msgid "Debian package file viewer" msgstr "Visor de ficheros de paquete de Debian" #: ../src/interface.c:158 msgid "_File" msgstr "_Fichero" #: ../src/interface.c:186 msgid "_View" msgstr "_Ver" #: ../src/interface.c:193 ../src/interface.c:411 msgid "E_xternal" msgstr "_Externo" #: ../src/interface.c:199 ../src/interface.c:206 msgid "_Help" msgstr "_Ayuda" #: ../src/interface.c:230 msgid "Open a .deb package in a new view window." msgstr "Abrir un paquete «.deb» en una nueva vista de ventana." #: ../src/interface.c:240 msgid "Open a .deb package in this window." msgstr "Abrir un paquete «.deb» en esta ventana." #: ../src/interface.c:249 msgid "About deb-gview" msgstr "Acerca de deb-gview." #: ../src/interface.c:259 msgid "Show the deb-gview manpage." msgstr "Mostrar la página de manual de deb-gview." #: ../src/interface.c:269 msgid "Close this view window." msgstr "Cerrar esta vista de ventana." #: ../src/interface.c:275 msgid "Quit all windows." msgstr "Cerrar todas las ventanas." #: ../src/interface.c:294 msgid "Activate to view content, right click to open in an external viewer." msgstr "" "Activar para ver el contenido, pulse el botón derecho para abrir un visor " "externo." #: ../src/callbacks.c:52 msgid "Choose the Debian package file to view" msgstr "Escoja el fichero de paquete de Debian a visionar" #: ../src/callbacks.c:67 msgid "Debian package files *.deb" msgstr "Ficheros de paquete de Debian «*.deb»" #: ../src/callbacks.c:72 msgid "Debian Installer packages *.udeb" msgstr "Paquetes del Instalador de Debian «.udeb»" #: ../src/callbacks.c:77 msgid "Debian translation packages *.tdeb" msgstr "Paquetes de traducciones de Debian «*.tdeb»" #: ../src/callbacks.c:82 msgid "Debian package changes *.changes" msgstr "Paquete de cambios de Debian «*.changes»" #: ../src/support.c:84 ../src/support.c:103 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "No se pudo encontrar el fichero de mapa de píxeles: «%s»" #: ../src/dvarchive.c:275 msgid "Unable to locate package file, the file may be empty." msgstr "" "No se pudo ubicar el fichero de paquete. Puede que el paquete esté vacío." #: ../src/dvarchive.c:281 msgid "Failed to read package file." msgstr "No se pudo leer el fichero de paquete." #: ../src/dvarchive.c:285 msgid "Unsupported archive version." msgstr "La versión de archivo no es compatible." #: ../src/dvarchive.c:289 msgid "Possible corrupted file." msgstr "El fichero está posiblemente dañado." #: ../src/dvarchive.c:293 msgid "Not a debian binary archive." msgstr "No es un archivo binario de Debian." #: ../src/dvarchive.c:297 msgid "Unable to decompress file within package." msgstr "No se pudo descomprimir el fichero contenido en el paquete." #: ../src/dvarchive.c:306 #, c-format msgid "Error loading file '%s'. %s" msgstr "Fallo al cargar el fichero '%s'. %s" #: ../src/dvarchive.c:353 msgid "Out of memory." msgstr "No hay memoria suficiente." #: ../src/dvarchive.c:378 #, c-format msgid "Error reading from file: %m" msgstr "Fallo al leer el fichero: %m" #: ../src/dvarchive.c:385 msgid "Unexpected end of file." msgstr "Fin de fichero inesperado." #: ../src/dvarchive.c:814 msgid "Package" msgstr "Paquete" #: ../src/dvarchive.c:819 msgid "Size" msgstr "Tamaño" #: ../src/dvarchive.c:824 msgid "Location" msgstr "Ubicación" #: ../src/dvarchive.c:829 msgid "Debian data" msgstr "Datos de Debian" #: ../src/dvarchive.c:837 msgid "Upstream data" msgstr "Datos de la fuente original" #: ../src/dvarchive.c:930 ../src/dvarchive.c:953 msgid "Empty file." msgstr "El fichero está vacío." #: ../src/dvarchive.c:959 msgid "Error: Failed to convert the contents of the selected file to UTF-8." msgstr "" "Error: No se pudo convertir los contenidos del fichero seleccionado a UTF-8." #. todo: fix this translation marker #: ../src/dvpreview.c:85 #, c-format msgid "Unable to preview '%s'. %s" msgstr "No se pudo previsualizar '%s'. %s" #. Translators: This text is much easier to read with #. a space after each newline #: ../src/dvpreview.c:99 msgid "" " deb-gview can use this dot-file in your XDG config directory (default: \n" " ~/.config/deb-gview/preview) to specify which applications should\n" " be used to preview files from the package.\n" " You are free to edit this file, deb-gview will\n" " not modify it, although it will be replaced if it is\n" " deleted.\n" " The first matching pattern will be used, so\n" " put the most general wildcards (like *) at the end of\n" " this file.\n" "\n" " " msgstr "" " deb-gview puede usar este fichero con punto («.*») en su directorio de\n" " configuración de XDG (por omisión: «~/.config/deb-gview/preview») para\n" " definir qué aplicaciones usar para previsualizar los ficheros del\n" " paquete.\n" " deb-gview no modificará este fichero si el usuario lo edita, aunque será\n" " reemplazado en caso de ser eliminado.\n" " Se usará el primer patrón que encaje. Disponga los comodines más generales\n" " (como «*») al final de este fichero.\n" "\n" " " #: ../src/dvpreview.c:108 msgid "" "glob-style pattern to match the location of\n" " the file in the package (not the filesystem).\n" " " msgstr "" "Patrón de generación de rutas de fichero (glob)\n" " con la que emparejar la ubicación del fichero\n" " en el paquete (no en el sistema de ficheros).\n" " " #: ../src/dvpreview.c:110 msgid "" "the program to call to view the file content\n" " (which must exist in your system PATH).\n" " " msgstr "" "El programa a invocar para ver el contenido\n" " del fichero (el programa debe existir en la\n" " variable de entorno «PATH» del sistema).\n" " " #: ../src/dvpreview.c:112 msgid "" "whether to use a terminal, TRUE or FALSE.\n" " " msgstr "" "Define si usar una terminal, «TRUE» o «FALSE» (Si o No).\n" " " #: ../src/dvpreview.c:113 msgid "" "whether the viewer needs a binary file,\n" " TRUE or FALSE.\n" " " msgstr "" "Define si el visor necesita un fichero\n" " binario, «TRUE» o «FALSE».\n" " " #: ../src/dvpreview.c:115 msgid "" "if the viewer needs a specific suffix, add it here\n" " " msgstr "Si el visor precisa un sufijo específico, añádalo aquí" #. package defaults #: ../src/dvpreview.c:120 msgid " Your choice of terminal application.\n" msgstr " La terminal que desea usar.\n" #. man pages #: ../src/dvpreview.c:126 ../src/dvpreview.c:128 ../src/dvpreview.c:129 #: ../src/dvpreview.c:130 ../src/dvpreview.c:131 msgid "manual pages" msgstr "páginas de manual" #: ../src/dvpreview.c:356 #, c-format msgid "No matching pattern in the key file." msgstr "No hay un patrón que encaje en el fichero clave." #: ../src/dvpreview.c:398 #, c-format msgid "Could not find a suitable viewer in the key file." msgstr "No se pudo encontrar un visor adecuado en el fichero clave." #: ../desktop/deb-gview.desktop.in.in.h:1 msgid "Debian Package Viewer" msgstr "Visor de paquetes de Debian" deb-gview-0.2.10/po/POTFILES.skip0000644000000000000000000000010110656163674013072 0ustar desktop/deb-gview.desktop.in _build/desktop/deb-gview.desktop.in deb-gview-0.2.10/po/sv.po0000644000000000000000000002014211735677762011763 0ustar # Swedish translation for deb-gview. # Copyright (C) 2007, 2010 Free Software Foundation, Inc. # This file is distributed under the same license as the deb-gview package. # Daniel Nylander , 2007. # Martin Bagge , 2010 msgid "" msgstr "" "Project-Id-Version: deb-gview\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-31 23:06+0100\n" "PO-Revision-Date: 2010-03-04 22:37+0100\n" "Last-Translator: Martin Bagge \n" "Language-Team: Swedish \n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Swedish\n" "X-Poedit-Country: Sweden\n" #: ../src/main.c:119 msgid "file" msgstr "fil" #: ../src/main.c:139 msgid "Unable to create preview key file" msgstr "Kunde inte skapa förhandsvisning för nyckelfil" #: ../src/main.c:159 #, c-format msgid "Error loading file '%s'." msgstr "Fel vid inläsning av filen \"%s\"." #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/interface.c:65 msgid "translator-credits" msgstr "Daniel Nylander " #: ../src/interface.c:70 msgid "deb-gview" msgstr "deb-gview" #: ../src/interface.c:74 msgid "Gtk/Gnome viewer for the contents of a .deb file" msgstr "Gtk/Gnome-visare av innehållet i en .deb-fil" #: ../src/interface.c:89 msgid "Homepage:" msgstr "Webbsida:" #: ../src/interface.c:131 ../src/dvarchive.c:753 #: ../desktop/deb-gview.desktop.in.in.h:2 msgid "Debian package file viewer" msgstr "Visare för Debian-paketfiler" #: ../src/interface.c:158 msgid "_File" msgstr "_Arkiv" #: ../src/interface.c:186 msgid "_View" msgstr "_Visa" #: ../src/interface.c:193 ../src/interface.c:411 msgid "E_xternal" msgstr "E_xternt" #: ../src/interface.c:199 ../src/interface.c:206 msgid "_Help" msgstr "_Hjälp" #: ../src/interface.c:230 msgid "Open a .deb package in a new view window." msgstr "Öppna ett .deb-paket i ett nytt fönster." #: ../src/interface.c:240 msgid "Open a .deb package in this window." msgstr "Öppna ett .deb-paket i det här fönstret." #: ../src/interface.c:249 msgid "About deb-gview" msgstr "Om deb-gview" #: ../src/interface.c:259 msgid "Show the deb-gview manpage." msgstr "Visa manualsidan för deb-gview." #: ../src/interface.c:269 msgid "Close this view window." msgstr "Stäng det här fönstret." #: ../src/interface.c:275 msgid "Quit all windows." msgstr "Stäng alla fönster." #: ../src/interface.c:294 msgid "Activate to view content, right click to open in an external viewer." msgstr "" "Aktivera för att visa innehållet, högerklicka för att öppna den i en extern " "visare." #: ../src/callbacks.c:52 msgid "Choose the Debian package file to view" msgstr "Välj en Debian-paketfil att visa" #: ../src/callbacks.c:67 msgid "Debian package files *.deb" msgstr "Debian-paketfiler *.deb" #: ../src/callbacks.c:72 msgid "Debian Installer packages *.udeb" msgstr "Debian Installer-paket *.udeb" #: ../src/callbacks.c:77 msgid "Debian translation packages *.tdeb" msgstr "Debian översättningspaket *.tdeb" #: ../src/callbacks.c:82 msgid "Debian package changes *.changes" msgstr "Debian-paketändringar *.changes" #: ../src/support.c:84 ../src/support.c:103 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Kunde inte hitta bildfilen: %s" #: ../src/dvarchive.c:275 msgid "Unable to locate package file, the file may be empty." msgstr "Kunde inte hitta paketfilen, filen kan vara tom." #: ../src/dvarchive.c:281 msgid "Failed to read package file." msgstr "Misslyckades med att läsa paketfilen." #: ../src/dvarchive.c:285 msgid "Unsupported archive version." msgstr "Arkivversionen stöds inte." #: ../src/dvarchive.c:289 msgid "Possible corrupted file." msgstr "Möjligen skadad fil." #: ../src/dvarchive.c:293 msgid "Not a debian binary archive." msgstr "Inte ett debian-binärarkiv." #: ../src/dvarchive.c:297 msgid "Unable to decompress file within package." msgstr "Kunde inte dekomprimera fil i paketet." #: ../src/dvarchive.c:306 #, c-format msgid "Error loading file '%s'. %s" msgstr "Fel vid inläsning av filen \"%s\". %s" #: ../src/dvarchive.c:353 msgid "Out of memory." msgstr "Slut på minne." #: ../src/dvarchive.c:378 #, c-format msgid "Error reading from file: %m" msgstr "Fel vid läsning från fil: %m" #: ../src/dvarchive.c:385 msgid "Unexpected end of file." msgstr "Oväntat filslut." #: ../src/dvarchive.c:814 msgid "Package" msgstr "Paket" #: ../src/dvarchive.c:819 msgid "Size" msgstr "Storlek" #: ../src/dvarchive.c:824 msgid "Location" msgstr "Plats" #: ../src/dvarchive.c:829 msgid "Debian data" msgstr "Debian-data" #: ../src/dvarchive.c:837 msgid "Upstream data" msgstr "Uppströmsdata" #: ../src/dvarchive.c:930 ../src/dvarchive.c:953 msgid "Empty file." msgstr "Tom fil." #: ../src/dvarchive.c:959 msgid "Error: Failed to convert the contents of the selected file to UTF-8." msgstr "" "Fel: Misslyckades med att konvertera innehållet för vald fil till UTF-8." #. todo: fix this translation marker #: ../src/dvpreview.c:85 #, c-format msgid "Unable to preview '%s'. %s" msgstr "Kunde inte förhandsvisa \"%s\". %s" #. Translators: This text is much easier to read with #. a space after each newline #: ../src/dvpreview.c:99 msgid "" " deb-gview can use this dot-file in your XDG config directory (default: \n" " ~/.config/deb-gview/preview) to specify which applications should\n" " be used to preview files from the package.\n" " You are free to edit this file, deb-gview will\n" " not modify it, although it will be replaced if it is\n" " deleted.\n" " The first matching pattern will be used, so\n" " put the most general wildcards (like *) at the end of\n" " this file.\n" "\n" " " msgstr "" " deb-gview kan använda den här punktfilen i din XDG-inställningskatalog \n" " (standard: ~/.config/deb-gview/preview) för att ange vilka program som " "ska \n" " användas för att förhandsvisa filer från paketet. \n" " Du får gärna redigera den här filen, deb-gview kommer \n" " inte att ändra den, även om den kommer att ersättas om \n" " den tas bort.\n" " Det första matchande mönstret kommer att användas så \n" " lägg de mest allmänna jokertecknen (ex. *) på slutet av \n" " den här filen.\n" "\n" " " #: ../src/dvpreview.c:108 msgid "" "glob-style pattern to match the location of\n" " the file in the package (not the filesystem).\n" " " msgstr "" "glob-liknande mönster att matcha platsen för\n" " filen i paketet (inte filsystemet).\n" " " #: ../src/dvpreview.c:110 msgid "" "the program to call to view the file content\n" " (which must exist in your system PATH).\n" " " msgstr "" "programmet att anropa för att visa filinnehållet\n" " (som måste finnas i din PATH).\n" " " #: ../src/dvpreview.c:112 msgid "" "whether to use a terminal, TRUE or FALSE.\n" " " msgstr "" "huruvida en terminal ska användas, TRUE eller FALSE.\n" " " #: ../src/dvpreview.c:113 msgid "" "whether the viewer needs a binary file,\n" " TRUE or FALSE.\n" " " msgstr "" "huruvida visaren behöver en binärfil,\n" " TRUE eller FALSE.\n" " " #: ../src/dvpreview.c:115 msgid "" "if the viewer needs a specific suffix, add it here\n" " " msgstr "" "om visaren behöver en specifik ändelse, lägg till den här\n" " " #. package defaults #: ../src/dvpreview.c:120 msgid " Your choice of terminal application.\n" msgstr " Ditt val av terminalprogram.\n" #. man pages #: ../src/dvpreview.c:126 ../src/dvpreview.c:128 ../src/dvpreview.c:129 #: ../src/dvpreview.c:130 ../src/dvpreview.c:131 msgid "manual pages" msgstr "manualsidor" #: ../src/dvpreview.c:356 #, c-format msgid "No matching pattern in the key file." msgstr "Inget matchande mönster i nyckelfilen." #: ../src/dvpreview.c:398 #, c-format msgid "Could not find a suitable viewer in the key file." msgstr "Kunde inte hitta en lämplig visare i nyckelfilen." #: ../desktop/deb-gview.desktop.in.in.h:1 msgid "Debian Package Viewer" msgstr "Visare för Debian-paket" #~ msgid "" #~ "Copyright 2006 Neil Williams ,\n" #~ "1994,1995 Ian Jackson " #~ msgstr "" #~ "Copyright 2006 Neil Williams ,\n" #~ "1994,1995 Ian Jackson " deb-gview-0.2.10/po/LINGUAS0000644000000000000000000000004411345700453011774 0ustar cs de es eu fr it nl pt ru sk sv vi deb-gview-0.2.10/po/pt.po0000644000000000000000000002026511735677762011764 0ustar # translation of deb-gview messages to Portuguese # Copyright (C) 2007 the deb-gview's copyright holder # This file is distributed under the same license as the deb-gview package. # # Ricardo Silva , 2007. # Américo Monteiro , 2009, 2010. msgid "" msgstr "" "Project-Id-Version: deb-gview 0.2.6\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-31 23:06+0100\n" "PO-Revision-Date: 2010-02-28 13:30+0000\n" "Last-Translator: Américo Monteiro \n" "Language-Team: Portuguese \n" "Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/main.c:119 msgid "file" msgstr "ficheiro" #: ../src/main.c:139 msgid "Unable to create preview key file" msgstr "Incapaz de criar um ficheiro chave exemplo" #: ../src/main.c:159 #, c-format msgid "Error loading file '%s'." msgstr "Erro ao carregar o ficheiro '%s'." #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/interface.c:65 msgid "translator-credits" msgstr "Ricardo Silva" #: ../src/interface.c:70 msgid "deb-gview" msgstr "deb-gview" #: ../src/interface.c:74 msgid "Gtk/Gnome viewer for the contents of a .deb file" msgstr "Visualizador em Gtk/GNOME para os conteúdos de um ficheiro .deb" #: ../src/interface.c:89 msgid "Homepage:" msgstr "Página web:" #: ../src/interface.c:131 ../src/dvarchive.c:753 #: ../desktop/deb-gview.desktop.in.in.h:2 msgid "Debian package file viewer" msgstr "Visualizador de pacotes Debian" #: ../src/interface.c:158 msgid "_File" msgstr "_Ficheiro" #: ../src/interface.c:186 msgid "_View" msgstr "_Ver" #: ../src/interface.c:193 ../src/interface.c:411 msgid "E_xternal" msgstr "E_xterno" #: ../src/interface.c:199 ../src/interface.c:206 msgid "_Help" msgstr "_Ajuda" #: ../src/interface.c:230 msgid "Open a .deb package in a new view window." msgstr "Abrir um pacote .deb numa nova janela de visualização." #: ../src/interface.c:240 msgid "Open a .deb package in this window." msgstr "Abrir um pacote .deb nesta janela." #: ../src/interface.c:249 msgid "About deb-gview" msgstr "Sobre o deb-gview" #: ../src/interface.c:259 msgid "Show the deb-gview manpage." msgstr "Mostrar a página do manual do deb-gview." #: ../src/interface.c:269 msgid "Close this view window." msgstr "Fechar esta janela de visualização." #: ../src/interface.c:275 msgid "Quit all windows." msgstr "Terminar todas as janelas." #: ../src/interface.c:294 msgid "Activate to view content, right click to open in an external viewer." msgstr "" "Activar para ver conteúdo, clicar com o botão direito para abrir com um " "visualizador externo." #: ../src/callbacks.c:52 msgid "Choose the Debian package file to view" msgstr "Escolha o pacote Debian para visualizar" #: ../src/callbacks.c:67 msgid "Debian package files *.deb" msgstr "Ficheiros de pacotes Debian *.deb" #: ../src/callbacks.c:72 msgid "Debian Installer packages *.udeb" msgstr "Pacotes do Instalador da Debian *.udeb" #: ../src/callbacks.c:77 msgid "Debian translation packages *.tdeb" msgstr "Pacotes de traduções Debian *.tdeb" #: ../src/callbacks.c:82 msgid "Debian package changes *.changes" msgstr "Alterações em pacotes Debian *.changes" #: ../src/support.c:84 ../src/support.c:103 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Não foi possível encontrar o ficheiro de 'pixmap': %s" #: ../src/dvarchive.c:275 msgid "Unable to locate package file, the file may be empty." msgstr "" "Incapaz de encontrar o ficheiro do pacote, o ficheiro pode estar vazio." #: ../src/dvarchive.c:281 msgid "Failed to read package file." msgstr "Incapaz de ler o ficheiro de pacote." #: ../src/dvarchive.c:285 msgid "Unsupported archive version." msgstr "Versão do arquivo não suportada." #: ../src/dvarchive.c:289 msgid "Possible corrupted file." msgstr "Ficheiro possivelmente corrompido." #: ../src/dvarchive.c:293 msgid "Not a debian binary archive." msgstr "Não é um arquivo binário da Debian." #: ../src/dvarchive.c:297 msgid "Unable to decompress file within package." msgstr "Incapaz de descomprimir ficheiro que estava dentro do pacote." #: ../src/dvarchive.c:306 #, c-format msgid "Error loading file '%s'. %s" msgstr "Erro ao carregar o ficheiro '%s'. %s" #: ../src/dvarchive.c:353 msgid "Out of memory." msgstr "Memória esgotada." #: ../src/dvarchive.c:378 #, c-format msgid "Error reading from file: %m" msgstr "Erro a ler do ficheiro: %m" #: ../src/dvarchive.c:385 msgid "Unexpected end of file." msgstr "Fim de ficheiro inesperado." #: ../src/dvarchive.c:814 msgid "Package" msgstr "Pacote" #: ../src/dvarchive.c:819 msgid "Size" msgstr "Tamanho" #: ../src/dvarchive.c:824 msgid "Location" msgstr "Localização" #: ../src/dvarchive.c:829 msgid "Debian data" msgstr "Dados Debian" #: ../src/dvarchive.c:837 msgid "Upstream data" msgstr "Dados 'Upstream'" #: ../src/dvarchive.c:930 ../src/dvarchive.c:953 msgid "Empty file." msgstr "Ficheiro vazio." #: ../src/dvarchive.c:959 msgid "Error: Failed to convert the contents of the selected file to UTF-8." msgstr "" "Erro: Falha a converter os conteúdos do ficheiro seleccionado para UTF-8." #. todo: fix this translation marker #: ../src/dvpreview.c:85 #, c-format msgid "Unable to preview '%s'. %s" msgstr "Incapaz de pre-visualizar '%s'. %s" #. Translators: This text is much easier to read with #. a space after each newline #: ../src/dvpreview.c:99 msgid "" " deb-gview can use this dot-file in your XDG config directory (default: \n" " ~/.config/deb-gview/preview) to specify which applications should\n" " be used to preview files from the package.\n" " You are free to edit this file, deb-gview will\n" " not modify it, although it will be replaced if it is\n" " deleted.\n" " The first matching pattern will be used, so\n" " put the most general wildcards (like *) at the end of\n" " this file.\n" "\n" " " msgstr "" " O deb-gview pode usar este ficheiro escondido no seu \n" " directório de configuração XDG (predefinição: ~/.config/deb-gview/preview)\n" " para especificar que aplicações devem ser usadas para pré-visualizar\n" " ficheiros do pacote.\n" " Você é livre de editar este ficheiro, o deb-gview não o irá \n" " modificar, embora o reponha caso seja apagado.\n" " Será usado o primeiro padrão que coincidir, portanto deve \n" " colocar os padrões mais gerais (tipo *) no fim deste ficheiro.\n" "\n" " " #: ../src/dvpreview.c:108 msgid "" "glob-style pattern to match the location of\n" " the file in the package (not the filesystem).\n" " " msgstr "" "padrão ao estilo de glob (da shell) para encontrar\n" "a localização do ficheiro no pacote (não no sistema\n" "de ficheiros).\n" " " #: ../src/dvpreview.c:110 msgid "" "the program to call to view the file content\n" " (which must exist in your system PATH).\n" " " msgstr "" "o programa a chamar para visualizar o conteúdo\n" " do ficheiro (que deve existir na sua PATH).\n" " " #: ../src/dvpreview.c:112 msgid "" "whether to use a terminal, TRUE or FALSE.\n" " " msgstr "" "usar ou não um terminal, VERDADEIRO ou FALSO.\n" " " #: ../src/dvpreview.c:113 msgid "" "whether the viewer needs a binary file,\n" " TRUE or FALSE.\n" " " msgstr "" "se o visualizador necessita de um ficheiro \n" "binário, VERDADEIRO ou FALSO.\n" " " #: ../src/dvpreview.c:115 msgid "" "if the viewer needs a specific suffix, add it here\n" " " msgstr "" "se o visualizador precisa de um sufixo específico, \n" " adicione-o aqui.\n" " " #. package defaults #: ../src/dvpreview.c:120 msgid " Your choice of terminal application.\n" msgstr " O seu programa de terminal preferido.\n" #. man pages #: ../src/dvpreview.c:126 ../src/dvpreview.c:128 ../src/dvpreview.c:129 #: ../src/dvpreview.c:130 ../src/dvpreview.c:131 msgid "manual pages" msgstr "páginas do manual" #: ../src/dvpreview.c:356 #, c-format msgid "No matching pattern in the key file." msgstr "Nenhum padrão coincidente no ficheiro chave." #: ../src/dvpreview.c:398 #, c-format msgid "Could not find a suitable viewer in the key file." msgstr "Incapaz de encontrar um visualizador adequado no ficheiro chave." #: ../desktop/deb-gview.desktop.in.in.h:1 msgid "Debian Package Viewer" msgstr "Visualizador de Pacotes Debian" deb-gview-0.2.10/po/POTFILES.in0000644000000000000000000000026210656163674012542 0ustar # List of source files containing translatable strings. src/main.c src/interface.c src/callbacks.c src/support.c src/dvarchive.c src/dvpreview.c desktop/deb-gview.desktop.in.in deb-gview-0.2.10/po/fr.po0000644000000000000000000002065211735677762011750 0ustar # French translation of deb-gview # Copyright (C) 2006-2009 Debian French l10n team # This file is distributed under the same license as the deb-gview package. # # Original translator: Thomas Huriaux , 2007. # Guillaume Delacour , 2009 # msgid "" msgstr "" "Project-Id-Version: deb-gview\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-31 23:06+0100\n" "PO-Revision-Date: 2009-04-01 21:24+0100\n" "Last-Translator: Guillaume Delacour \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../src/main.c:119 msgid "file" msgstr "fichier" #: ../src/main.c:139 msgid "Unable to create preview key file" msgstr "Échec de la création du fichier de clés « preview »" #: ../src/main.c:159 #, c-format msgid "Error loading file '%s'." msgstr "Erreur lors du chargement du fichier « %s »." #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/interface.c:65 msgid "translator-credits" msgstr "" "Guillaume Delacour\n" "debian-l10n-french@lists.debian.org" #: ../src/interface.c:70 msgid "deb-gview" msgstr "deb-gview" #: ../src/interface.c:74 msgid "Gtk/Gnome viewer for the contents of a .deb file" msgstr "" "Interface graphique Gtk-Gnome pour afficher le contenu de fichiers .deb." #: ../src/interface.c:89 msgid "Homepage:" msgstr "Site Internet :" #: ../src/interface.c:131 ../src/dvarchive.c:753 #: ../desktop/deb-gview.desktop.in.in.h:2 msgid "Debian package file viewer" msgstr "Visualiseur de paquets Debian" #: ../src/interface.c:158 msgid "_File" msgstr "_Fichier" #: ../src/interface.c:186 msgid "_View" msgstr "_Visualiser" #: ../src/interface.c:193 ../src/interface.c:411 msgid "E_xternal" msgstr "E_xterne" #: ../src/interface.c:199 ../src/interface.c:206 msgid "_Help" msgstr "_Aide" #: ../src/interface.c:230 msgid "Open a .deb package in a new view window." msgstr "Ouvrir un paquet .deb dans une nouvelle fenêtre" #: ../src/interface.c:240 msgid "Open a .deb package in this window." msgstr "Ouvrir un paquet .deb dans cette fenêtre" #: ../src/interface.c:249 msgid "About deb-gview" msgstr "À propos de deb-gview" #: ../src/interface.c:259 msgid "Show the deb-gview manpage." msgstr "Afficher la page de manuel de deb-gview" #: ../src/interface.c:269 msgid "Close this view window." msgstr "Fermer cette fenêtre" #: ../src/interface.c:275 msgid "Quit all windows." msgstr "Fermer toutes les fenêtres" #: ../src/interface.c:294 msgid "Activate to view content, right click to open in an external viewer." msgstr "" "Activez la ligne pour visualiser le contenu, et utilisez le clic droit pour " "ouvrir un visualiseur externe." #: ../src/callbacks.c:52 msgid "Choose the Debian package file to view" msgstr "Paquet Debian à visualiser" #: ../src/callbacks.c:67 msgid "Debian package files *.deb" msgstr "Paquets Debian (*.deb)" #: ../src/callbacks.c:72 msgid "Debian Installer packages *.udeb" msgstr "Paquets de l'installateur Debian (*.udeb)" #: ../src/callbacks.c:77 msgid "Debian translation packages *.tdeb" msgstr "Paquets de traduction Debian (*.tdeb)" #: ../src/callbacks.c:82 msgid "Debian package changes *.changes" msgstr "Fichiers de changement des paquets Debian (*.changes)" #: ../src/support.c:84 ../src/support.c:103 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Fichier pixmap introuvable : %s" #: ../src/dvarchive.c:275 msgid "Unable to locate package file, the file may be empty." msgstr "Impossible de trouver le fichier d'archive, probablement vide." #: ../src/dvarchive.c:281 msgid "Failed to read package file." msgstr "Échec de la lecture du fichier." #: ../src/dvarchive.c:285 msgid "Unsupported archive version." msgstr "Version d'archive non gérée." #: ../src/dvarchive.c:289 msgid "Possible corrupted file." msgstr "Fichier probablement corrompu." #: ../src/dvarchive.c:293 msgid "Not a debian binary archive." msgstr "Fichier différent d'une archive binaire Debian." #: ../src/dvarchive.c:297 msgid "Unable to decompress file within package." msgstr "Échec de la décompression du fichier dans le paquet." #: ../src/dvarchive.c:306 #, c-format msgid "Error loading file '%s'. %s" msgstr "Erreur lors du chargement du fichier « %s ». %s" #: ../src/dvarchive.c:353 msgid "Out of memory." msgstr "Mémoire insuffisante." #: ../src/dvarchive.c:378 #, c-format msgid "Error reading from file: %m" msgstr "Erreur lors de la lecture du fichier : %m" #: ../src/dvarchive.c:385 msgid "Unexpected end of file." msgstr "Fin de fichier inattendue." #: ../src/dvarchive.c:814 msgid "Package" msgstr "Paquet" #: ../src/dvarchive.c:819 msgid "Size" msgstr "Taille" #: ../src/dvarchive.c:824 msgid "Location" msgstr "Emplacement" #: ../src/dvarchive.c:829 msgid "Debian data" msgstr "Données Debian" #: ../src/dvarchive.c:837 msgid "Upstream data" msgstr "Données amont" #: ../src/dvarchive.c:930 ../src/dvarchive.c:953 msgid "Empty file." msgstr "Fichier vide." #: ../src/dvarchive.c:959 msgid "Error: Failed to convert the contents of the selected file to UTF-8." msgstr "Erreur : échec de la conversion du contenu du fichier en UTF-8." #. todo: fix this translation marker #: ../src/dvpreview.c:85 #, c-format msgid "Unable to preview '%s'. %s" msgstr "Échec de la visualisation de « %s ». %s" #. Translators: This text is much easier to read with #. a space after each newline #: ../src/dvpreview.c:99 msgid "" " deb-gview can use this dot-file in your XDG config directory (default: \n" " ~/.config/deb-gview/preview) to specify which applications should\n" " be used to preview files from the package.\n" " You are free to edit this file, deb-gview will\n" " not modify it, although it will be replaced if it is\n" " deleted.\n" " The first matching pattern will be used, so\n" " put the most general wildcards (like *) at the end of\n" " this file.\n" "\n" " " msgstr "" " Deb-gview peut utiliser ce fichier caché dans votre répertoire\n" " de configuration XDG (~/.deb-gview/preview) pour indiquer quelles\n" " applications utiliser pour visualiser les fichiers du paquet.\n" " Vous pouvez éditer ce fichier, deb-gview ne le modifiera pas,\n" " mais s'il sera remis s'il est supprimé.\n" " Le premier motif correspondant sera utilisé, veuillez donc\n" " placer les jokers les plus généraux (comme « * ») à la fin de\n" " ce fichier.\n" "\n" " " #: ../src/dvpreview.c:108 msgid "" "glob-style pattern to match the location of\n" " the file in the package (not the filesystem).\n" " " msgstr "" "motif « glob-style » correspondant à l'emplacement du fichier\n" " dans le paquet (et pas sur le système de fichiers).\n" " " #: ../src/dvpreview.c:110 msgid "" "the program to call to view the file content\n" " (which must exist in your system PATH).\n" " " msgstr "" "programme à appeler pour visualiser le contenu du fichier\n" " (celui-ci doit exister dans votre PATH système).\n" " " #: ../src/dvpreview.c:112 msgid "" "whether to use a terminal, TRUE or FALSE.\n" " " msgstr "" "TRUE pour utiliser un terminal, FALSE sinon.\n" " " #: ../src/dvpreview.c:113 msgid "" "whether the viewer needs a binary file,\n" " TRUE or FALSE.\n" " " msgstr "" "TRUE si le visualiseur a besoin d'un fichier binaire,\n" " FALSE sinon.\n" " " #: ../src/dvpreview.c:115 msgid "" "if the viewer needs a specific suffix, add it here\n" " " msgstr "" "suffixe optionnel pour le visualiseur.\n" " " #. package defaults #: ../src/dvpreview.c:120 msgid " Your choice of terminal application.\n" msgstr " Application servant de terminal.\n" #. man pages #: ../src/dvpreview.c:126 ../src/dvpreview.c:128 ../src/dvpreview.c:129 #: ../src/dvpreview.c:130 ../src/dvpreview.c:131 msgid "manual pages" msgstr "pages de manuel" #: ../src/dvpreview.c:356 #, c-format msgid "No matching pattern in the key file." msgstr "Aucun motif correspondant dans le fichier de clés." #: ../src/dvpreview.c:398 #, c-format msgid "Could not find a suitable viewer in the key file." msgstr "Aucun visualiseur approprié n'a été trouvé dans le fichier de clés." #: ../desktop/deb-gview.desktop.in.in.h:1 msgid "Debian Package Viewer" msgstr "Visualiseur de paquets Debian" #~ msgid "" #~ "Copyright 2006 Neil Williams ,\n" #~ "1994,1995 Ian Jackson " #~ msgstr "" #~ "Copyright 2006 Neil Williams ,\n" #~ "1994, 1995 Ian Jackson " deb-gview-0.2.10/po/sk.po0000644000000000000000000002003111735677762011745 0ustar # Slovak translation of deb-gview. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the deb-gview package. # Ivan Masár , 2010. # msgid "" msgstr "" "Project-Id-Version: deb-gview\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-31 23:06+0100\n" "PO-Revision-Date: 2010-03-01 16:49+0100\n" "Last-Translator: Ivan Masár \n" "Language-Team: Slovak \n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n" #: ../src/main.c:119 msgid "file" msgstr "súbor" #: ../src/main.c:139 msgid "Unable to create preview key file" msgstr "Nepodarilo sa vytvoriť kľúčový súbor s náhľadom." #: ../src/main.c:159 #, c-format msgid "Error loading file '%s'." msgstr "Chyba pri načítavaní súboru „%s“." #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/interface.c:65 msgid "translator-credits" msgstr "Ivan Masár , 2010." #: ../src/interface.c:70 msgid "deb-gview" msgstr "deb-gview" #: ../src/interface.c:74 msgid "Gtk/Gnome viewer for the contents of a .deb file" msgstr "Prehliadač obsahu súborov .deb pre Gtk/Gnome" #: ../src/interface.c:89 msgid "Homepage:" msgstr "Domovská stránka:" #: ../src/interface.c:131 ../src/dvarchive.c:753 #: ../desktop/deb-gview.desktop.in.in.h:2 msgid "Debian package file viewer" msgstr "Prehliadač súborov balíkov Debianu" #: ../src/interface.c:158 msgid "_File" msgstr "_Súbor" #: ../src/interface.c:186 msgid "_View" msgstr "_Zobraziť" #: ../src/interface.c:193 ../src/interface.c:411 msgid "E_xternal" msgstr "E_xterné" #: ../src/interface.c:199 ../src/interface.c:206 msgid "_Help" msgstr "_Pomocník" #: ../src/interface.c:230 msgid "Open a .deb package in a new view window." msgstr "Otvoriť balík .deb v novom okne." #: ../src/interface.c:240 msgid "Open a .deb package in this window." msgstr "Otvoriť balík .deb v tomto okne." #: ../src/interface.c:249 msgid "About deb-gview" msgstr "O aplikácii deb-gview" #: ../src/interface.c:259 msgid "Show the deb-gview manpage." msgstr "Zobraziť manuálovú stránku deb-gview." #: ../src/interface.c:269 msgid "Close this view window." msgstr "Zatvoriť toto okno." #: ../src/interface.c:275 msgid "Quit all windows." msgstr "Ukončiť všetky okná." #: ../src/interface.c:294 msgid "Activate to view content, right click to open in an external viewer." msgstr "" "Obsah zobrazíte aktiváciou prvku, kliknutím pravým tlačidlom ho otvoríte v " "externom prehliadači." #: ../src/callbacks.c:52 msgid "Choose the Debian package file to view" msgstr "Vyberte, ktorý súbor balíka Debianu zobraziť" #: ../src/callbacks.c:67 msgid "Debian package files *.deb" msgstr "Súbory balíkov Debianu *.deb" #: ../src/callbacks.c:72 msgid "Debian Installer packages *.udeb" msgstr "Balíky Inštalátora Debianu *.udeb" #: ../src/callbacks.c:77 msgid "Debian translation packages *.tdeb" msgstr "Balíky prekladov Debianu *.tdeb" #: ../src/callbacks.c:82 msgid "Debian package changes *.changes" msgstr "Zmany balíka Debianu *.changes" #: ../src/support.c:84 ../src/support.c:103 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Nepodarilo sa nájsť súbor pixmap: %s" #: ../src/dvarchive.c:275 msgid "Unable to locate package file, the file may be empty." msgstr "Nepodarilo sa nájsť súbor balíka, je možné, že je prázdny." #: ../src/dvarchive.c:281 msgid "Failed to read package file." msgstr "Nepodarilo sa prečítať súbor balíka." #: ../src/dvarchive.c:285 msgid "Unsupported archive version." msgstr "Nepodporovaná verzia archívu." #: ../src/dvarchive.c:289 msgid "Possible corrupted file." msgstr "Je možné, že súbor je pokazený." #: ../src/dvarchive.c:293 msgid "Not a debian binary archive." msgstr "Nie je to binárny archív Debianu." #: ../src/dvarchive.c:297 msgid "Unable to decompress file within package." msgstr "Nepodarilo sa dekomprimovať súbor v balíku." #: ../src/dvarchive.c:306 #, c-format msgid "Error loading file '%s'. %s" msgstr "Chyba pri načítavaní súboru „%s“. %s" #: ../src/dvarchive.c:353 msgid "Out of memory." msgstr "Došla pamäť." #: ../src/dvarchive.c:378 #, c-format msgid "Error reading from file: %m" msgstr "Chyba čítania zo súboru: %m" #: ../src/dvarchive.c:385 msgid "Unexpected end of file." msgstr "Neočakávaný koniec súboru." #: ../src/dvarchive.c:814 msgid "Package" msgstr "Balík" #: ../src/dvarchive.c:819 msgid "Size" msgstr "Veľkosť" #: ../src/dvarchive.c:824 msgid "Location" msgstr "Umiestnenie" #: ../src/dvarchive.c:829 msgid "Debian data" msgstr "Údaje Debianu" #: ../src/dvarchive.c:837 msgid "Upstream data" msgstr "Údaje z upstream" #: ../src/dvarchive.c:930 ../src/dvarchive.c:953 msgid "Empty file." msgstr "Prázdny súbor." #: ../src/dvarchive.c:959 msgid "Error: Failed to convert the contents of the selected file to UTF-8." msgstr "Chyba: Nepodarilo sa previesť obsah vybraného súboru do UTF-8." #. todo: fix this translation marker #: ../src/dvpreview.c:85 #, c-format msgid "Unable to preview '%s'. %s" msgstr "Nepodaril sa náhľad „%s“. %s" #. Translators: This text is much easier to read with #. a space after each newline #: ../src/dvpreview.c:99 msgid "" " deb-gview can use this dot-file in your XDG config directory (default: \n" " ~/.config/deb-gview/preview) to specify which applications should\n" " be used to preview files from the package.\n" " You are free to edit this file, deb-gview will\n" " not modify it, although it will be replaced if it is\n" " deleted.\n" " The first matching pattern will be used, so\n" " put the most general wildcards (like *) at the end of\n" " this file.\n" "\n" " " msgstr "" " deb-gview môže použiť tento skrytý súbor vo vašom priečinku\n" " s konfiguráciou XDG (predvolená hodnota:\n" " ~/.config/deb-gview/preview) na určenie, ktoré aplikácie sa\n" " majú otvoriť na náhľad súborov z balíka.\n" " Tento súbor môžete ľubovoľne upravovať, deb-gview ho\n" " nebude meniť, iba ho nahradí ak by ste ho zmazali.\n" " Použije sa prvý vyhovujúci vzor, takže dajte\n" " najvšeobecnejšie zástupné znaky (ako *) na koniec\n" " tohto súboru.\n" "\n" " " #: ../src/dvpreview.c:108 msgid "" "glob-style pattern to match the location of\n" " the file in the package (not the filesystem).\n" " " msgstr "" "vzor v štýle glob, podľa ktorého sa bude určovať\n" " súbor v balíku (nie v súborovom systéme).\n" " " #: ../src/dvpreview.c:110 msgid "" "the program to call to view the file content\n" " (which must exist in your system PATH).\n" " " msgstr "" "program, ktorý sa má zavolať na náhľad obsahu\n" " súboru (musí existovať v premennej PATH).\n" " " #: ../src/dvpreview.c:112 msgid "" "whether to use a terminal, TRUE or FALSE.\n" " " msgstr "" "či sa má používať terminál, TRUE alebo FALSE.\n" " " #: ../src/dvpreview.c:113 msgid "" "whether the viewer needs a binary file,\n" " TRUE or FALSE.\n" " " msgstr "" "či prehliadač potrebuje binárny súbor,\n" " TRUE alebo FALSE.\n" " " #: ../src/dvpreview.c:115 msgid "" "if the viewer needs a specific suffix, add it here\n" " " msgstr "" "ak prehliadač potrebuje konkrétnu príponu, pridajte\n" " ju sem\n" " " #. package defaults #: ../src/dvpreview.c:120 msgid " Your choice of terminal application.\n" msgstr " Aplikácia terminálu, ktorú ste vybrali.\n" #. man pages #: ../src/dvpreview.c:126 ../src/dvpreview.c:128 ../src/dvpreview.c:129 #: ../src/dvpreview.c:130 ../src/dvpreview.c:131 msgid "manual pages" msgstr "manuálové stránky" #: ../src/dvpreview.c:356 #, c-format msgid "No matching pattern in the key file." msgstr "Nemá zodpovedajúci vzor v súbore kľúčov." #: ../src/dvpreview.c:398 #, c-format msgid "Could not find a suitable viewer in the key file." msgstr "V súbore kľúčov nebol nájdený vhodný prehliadač." #: ../desktop/deb-gview.desktop.in.in.h:1 msgid "Debian Package Viewer" msgstr "Prehliadač balíkov Debianu" deb-gview-0.2.10/po/it.po0000644000000000000000000002066711735677762011763 0ustar # Italian translations for deb-gview package # Traduzioni italiane per il pacchetto deb-gview.. # Copyright (C) 2007 THE deb-gview'S COPYRIGHT HOLDER # This file is distributed under the same license as the deb-gview package. # Stefano Canepa , 2007. # msgid "" msgstr "" "Project-Id-Version: deb-gview 0.0.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-31 23:06+0100\n" "PO-Revision-Date: 2007-08-31 15:45+0200\n" "Last-Translator: Stefano Canepa \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/main.c:119 msgid "file" msgstr "file" #: ../src/main.c:139 msgid "Unable to create preview key file" msgstr "Impossibile creare il file di anteprima della chiave" #: ../src/main.c:159 #, c-format msgid "Error loading file '%s'." msgstr "Errore nel caricamento del file «%s»." #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/interface.c:65 msgid "translator-credits" msgstr "Stefano Canepa " #: ../src/interface.c:70 msgid "deb-gview" msgstr "deb-gview" #: ../src/interface.c:74 msgid "Gtk/Gnome viewer for the contents of a .deb file" msgstr "Visualizzatore dei contenuti di un file .deb per Gtk/Gnome" #: ../src/interface.c:89 msgid "Homepage:" msgstr "Pagina iniziale:" #: ../src/interface.c:131 ../src/dvarchive.c:753 #: ../desktop/deb-gview.desktop.in.in.h:2 msgid "Debian package file viewer" msgstr "Visualizzatore di file di pacchetti Debian" #: ../src/interface.c:158 msgid "_File" msgstr "_File" #: ../src/interface.c:186 msgid "_View" msgstr "_Visualizza" #: ../src/interface.c:193 ../src/interface.c:411 msgid "E_xternal" msgstr "E_sterno" #: ../src/interface.c:199 ../src/interface.c:206 msgid "_Help" msgstr "A_iuto" #: ../src/interface.c:230 msgid "Open a .deb package in a new view window." msgstr "" "Apre un file di pacchetto .deb in una nuova finestra di visualizzazione." #: ../src/interface.c:240 msgid "Open a .deb package in this window." msgstr "Apre un file di pacchetto .deb in questa finestra." #: ../src/interface.c:249 msgid "About deb-gview" msgstr "Informazioni" #: ../src/interface.c:259 msgid "Show the deb-gview manpage." msgstr "Mostra la pagina di manuale di deb-gview." #: ../src/interface.c:269 msgid "Close this view window." msgstr "Chiudere questa finestra di visualizzazione." #: ../src/interface.c:275 msgid "Quit all windows." msgstr "Esci da tutte le finestre." #: ../src/interface.c:294 msgid "Activate to view content, right click to open in an external viewer." msgstr "" "Attivare per visualizzare il contenuto, fare clic con il tasto destro per " "aprire con un visualizzatore esterno." #: ../src/callbacks.c:52 msgid "Choose the Debian package file to view" msgstr "Selezionare il file di pacchetto Debian da visualizzare" #: ../src/callbacks.c:67 msgid "Debian package files *.deb" msgstr "File di pacchetto Debian *.deb" #: ../src/callbacks.c:72 msgid "Debian Installer packages *.udeb" msgstr "Pacchetti di Debian Installer *.udeb" #: ../src/callbacks.c:77 #, fuzzy msgid "Debian translation packages *.tdeb" msgstr "Pacchetti di Debian Installer *.udeb" #: ../src/callbacks.c:82 msgid "Debian package changes *.changes" msgstr "Cambiamenti del pacchetto Debian *.changes" #: ../src/support.c:84 ../src/support.c:103 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Impossibile trovare il file pixmap: %s" #: ../src/dvarchive.c:275 msgid "Unable to locate package file, the file may be empty." msgstr "" "Impossibile trovare il file di pacchetto, il file potrebbe essere vuoto." #: ../src/dvarchive.c:281 msgid "Failed to read package file." msgstr "Lettura del file di pacchetto fallita." #: ../src/dvarchive.c:285 msgid "Unsupported archive version." msgstr "Versione dell'archivio non supportata." #: ../src/dvarchive.c:289 msgid "Possible corrupted file." msgstr "File probabilmente corrotto." #: ../src/dvarchive.c:293 msgid "Not a debian binary archive." msgstr "Non è un archivio binario Debian." #: ../src/dvarchive.c:297 msgid "Unable to decompress file within package." msgstr "Impossibile decomprimere il file nel pacchetto." #: ../src/dvarchive.c:306 #, c-format msgid "Error loading file '%s'. %s" msgstr "Errore nel caricamento del file «%s». %s" #: ../src/dvarchive.c:353 msgid "Out of memory." msgstr "Memoria esaurita." #: ../src/dvarchive.c:378 #, c-format msgid "Error reading from file: %m" msgstr "Errore di lettura dal file: %m" #: ../src/dvarchive.c:385 msgid "Unexpected end of file." msgstr "Fine del file inattesa." #: ../src/dvarchive.c:814 msgid "Package" msgstr "Pacchetto" #: ../src/dvarchive.c:819 msgid "Size" msgstr "Dimensione" #: ../src/dvarchive.c:824 msgid "Location" msgstr "Posizione" #: ../src/dvarchive.c:829 msgid "Debian data" msgstr "Dati Debian" #: ../src/dvarchive.c:837 msgid "Upstream data" msgstr "Dati upstream" #: ../src/dvarchive.c:930 ../src/dvarchive.c:953 msgid "Empty file." msgstr "File vuoto." #: ../src/dvarchive.c:959 msgid "Error: Failed to convert the contents of the selected file to UTF-8." msgstr "" "Errore: fallimento del convertire i contenuti dei file selezionati in UTF-8." #. todo: fix this translation marker #: ../src/dvpreview.c:85 #, c-format msgid "Unable to preview '%s'. %s" msgstr "Impossibile fare l'anteprima di «%s». %s" #. Translators: This text is much easier to read with #. a space after each newline #: ../src/dvpreview.c:99 #, fuzzy msgid "" " deb-gview can use this dot-file in your XDG config directory (default: \n" " ~/.config/deb-gview/preview) to specify which applications should\n" " be used to preview files from the package.\n" " You are free to edit this file, deb-gview will\n" " not modify it, although it will be replaced if it is\n" " deleted.\n" " The first matching pattern will be used, so\n" " put the most general wildcards (like *) at the end of\n" " this file.\n" "\n" " " msgstr "" " deb-gview può usare questo file con il punto nella propria directory \n" " home (~/.deb-gview/preview) per specificare l'applicazione da usare\n" " per l'anteprima dei file dal pacchetto.\n" " Si è liberi di modificare questo file, deb-gview non lo cambierà,\n" " sebbene sarà rimpiazzato a seguito di una cancellazione.\n" " Verrà usato il primo modello corrispondente per cui mettere\n" " i metacaratteri più generali (come *) alla fine di questo file.\n" "\n" " " #: ../src/dvpreview.c:108 msgid "" "glob-style pattern to match the location of\n" " the file in the package (not the filesystem).\n" " " msgstr "" "Modello di stile «glob» per da confrontare con la\n" "posizione del file nel pacchetto (non nel filesystem).\n" " " #: ../src/dvpreview.c:110 msgid "" "the program to call to view the file content\n" " (which must exist in your system PATH).\n" " " msgstr "" "programma da eseguire per visualizzare il contenuto\n" " del file (che deve esistere nel vostro PERCORSO di sistema.\n" " " #: ../src/dvpreview.c:112 msgid "" "whether to use a terminal, TRUE or FALSE.\n" " " msgstr "" "se usare un terminale, TRUE o FALSE.\n" " " #: ../src/dvpreview.c:113 msgid "" "whether the viewer needs a binary file,\n" " TRUE or FALSE.\n" " " msgstr "" "se il visualizzatore ha bisogno di un file binario, TRUE o FALSE.\n" " " #: ../src/dvpreview.c:115 msgid "" "if the viewer needs a specific suffix, add it here\n" " " msgstr "" "se il visualizzatore ha bisogno di un suffisso specifico, \n" "aggiungerlo qui" #. package defaults #: ../src/dvpreview.c:120 msgid " Your choice of terminal application.\n" msgstr "La vostra scelta dell'applicazione terminale.\n" #. man pages #: ../src/dvpreview.c:126 ../src/dvpreview.c:128 ../src/dvpreview.c:129 #: ../src/dvpreview.c:130 ../src/dvpreview.c:131 msgid "manual pages" msgstr "pagine del manuale" #: ../src/dvpreview.c:356 #, c-format msgid "No matching pattern in the key file." msgstr "Nessun pattern coincide nel file chiave." #: ../src/dvpreview.c:398 #, c-format msgid "Could not find a suitable viewer in the key file." msgstr "Impossibile trovare un visualizzatore appropriato nel file chiave." #: ../desktop/deb-gview.desktop.in.in.h:1 msgid "Debian Package Viewer" msgstr "Visualizzatore di pacchetti Debian" #~ msgid "" #~ "Copyright 2006 Neil Williams ,\n" #~ "1994,1995 Ian Jackson " #~ msgstr "" #~ "Copyright 2006 Neil Williams ,\n" #~ "1994,1995 Ian Jackson " deb-gview-0.2.10/po/eu.po0000644000000000000000000002021111735677762011741 0ustar # translation of deb-gview-0.2.6_eu.po to Basque # Piarres Beobide , 2009. # Iñaki Larrañaga Murgoitio , 2010. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. msgid "" msgstr "" "Project-Id-Version: deb-gview-0.2.6_eu\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2012-03-31 23:06+0100\n" "PO-Revision-Date: 2010-03-01 12:28+0100\n" "Last-Translator: Iñaki Larrañaga Murgoitio \n" "Language-Team: Basque \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: KBabel 1.11.4\n" #: ../src/main.c:119 msgid "file" msgstr "fitxategia" #: ../src/main.c:139 msgid "Unable to create preview key file" msgstr "Ezin da aurreikuspen gakoa sortu" #: ../src/main.c:159 #, c-format msgid "Error loading file '%s'." msgstr "Errorea '%s' fitxategia kargatzean." #. TRANSLATORS: Replace this string with your names, one name per line. #: ../src/interface.c:65 msgid "translator-credits" msgstr "" "Piarres Beobide Iñaki Larrañaga Murgoitio " #: ../src/interface.c:70 msgid "deb-gview" msgstr "deb-gview" #: ../src/interface.c:74 msgid "Gtk/Gnome viewer for the contents of a .deb file" msgstr ".deb paketeen edukien Gtk/Gnome-rako ikustailea" #: ../src/interface.c:89 msgid "Homepage:" msgstr "Karpeta nagusia:" #: ../src/interface.c:131 ../src/dvarchive.c:753 #: ../desktop/deb-gview.desktop.in.in.h:2 msgid "Debian package file viewer" msgstr "Debian paketeen ikustailea" #: ../src/interface.c:158 msgid "_File" msgstr "_Fitxategia" #: ../src/interface.c:186 msgid "_View" msgstr "_Ikusi" #: ../src/interface.c:193 ../src/interface.c:411 msgid "E_xternal" msgstr "_Kanpokoa" #: ../src/interface.c:199 ../src/interface.c:206 msgid "_Help" msgstr "_Laguntza" #: ../src/interface.c:230 msgid "Open a .deb package in a new view window." msgstr "Ireki .deb paketea leiho berri batean." #: ../src/interface.c:240 msgid "Open a .deb package in this window." msgstr "Ireki .deb paketea leiho honetan." #: ../src/interface.c:249 msgid "About deb-gview" msgstr "'deb-gview'-ri buruz" #: ../src/interface.c:259 msgid "Show the deb-gview manpage." msgstr "Erakutsi 'deb-gview'-ren eskuliburua." #: ../src/interface.c:269 msgid "Close this view window." msgstr "Itxi ikuspegiaren leiho hau." #: ../src/interface.c:275 msgid "Quit all windows." msgstr "Itxi leiho guztiak." #: ../src/interface.c:294 msgid "Activate to view content, right click to open in an external viewer." msgstr "" "Aktibatu edukia ikusteko, egin klik eskuineko botoiarekin kanpoko ikustaile " "batean irekitzeko." #: ../src/callbacks.c:52 msgid "Choose the Debian package file to view" msgstr "Aukeratu Debian paketea ikusteko" #: ../src/callbacks.c:67 msgid "Debian package files *.deb" msgstr "Debian paketeak *.deb" #: ../src/callbacks.c:72 msgid "Debian Installer packages *.udeb" msgstr "Debian instalatzailearen paketeak *.udeb" #: ../src/callbacks.c:77 msgid "Debian translation packages *.tdeb" msgstr "Debian itzulpeneko paketeak *.tdeb" #: ../src/callbacks.c:82 msgid "Debian package changes *.changes" msgstr "Debian paketeen aldaketak *.changes" #: ../src/support.c:84 ../src/support.c:103 #, c-format msgid "Couldn't find pixmap file: %s" msgstr "Ezin izan da pixmaparen fitxategia aurkitu: %s" #: ../src/dvarchive.c:275 msgid "Unable to locate package file, the file may be empty." msgstr "Ezin da paketea kokatu, fitxategia agian hutsik dago." #: ../src/dvarchive.c:281 msgid "Failed to read package file." msgstr "Huts egin du paketea irakurtzean." #: ../src/dvarchive.c:285 msgid "Unsupported archive version." msgstr "Onartu gabeko artxiboaren bertsioa." #: ../src/dvarchive.c:289 msgid "Possible corrupted file." msgstr "Agian fitxategia hondatuta dago." #: ../src/dvarchive.c:293 msgid "Not a debian binary archive." msgstr "Ez da debian bitar artxiboa." #: ../src/dvarchive.c:297 msgid "Unable to decompress file within package." msgstr "Ezin da paketeko fitxategia deskonprimitu." #: ../src/dvarchive.c:306 #, c-format msgid "Error loading file '%s'. %s" msgstr "Errorea '%s' fitxategia kargatzean. %s" #: ../src/dvarchive.c:353 msgid "Out of memory." msgstr "Memoriaz kanpo." #: ../src/dvarchive.c:378 #, c-format msgid "Error reading from file: %m" msgstr "Errorea fitxategitik irakurtzean: %m" #: ../src/dvarchive.c:385 msgid "Unexpected end of file." msgstr "Ustekabeko fitxategiaren amaiera." #: ../src/dvarchive.c:814 msgid "Package" msgstr "Paketea" #: ../src/dvarchive.c:819 msgid "Size" msgstr "Tamaina" #: ../src/dvarchive.c:824 msgid "Location" msgstr "Kokalekua" #: ../src/dvarchive.c:829 msgid "Debian data" msgstr "Debian datuak" #: ../src/dvarchive.c:837 msgid "Upstream data" msgstr "Jatorri-igoeraren datuak" #: ../src/dvarchive.c:930 ../src/dvarchive.c:953 msgid "Empty file." msgstr "Fitxategi hutsa." #: ../src/dvarchive.c:959 msgid "Error: Failed to convert the contents of the selected file to UTF-8." msgstr "" "Errorea: huts egin du hautatutako fitxategiaren edukia UTF-8 formatura " "bihurtzean." #. todo: fix this translation marker #: ../src/dvpreview.c:85 #, c-format msgid "Unable to preview '%s'. %s" msgstr "Ezin da '%s' aurreikusi. %s" #. Translators: This text is much easier to read with #. a space after each newline #: ../src/dvpreview.c:99 msgid "" " deb-gview can use this dot-file in your XDG config directory (default: \n" " ~/.config/deb-gview/preview) to specify which applications should\n" " be used to preview files from the package.\n" " You are free to edit this file, deb-gview will\n" " not modify it, although it will be replaced if it is\n" " deleted.\n" " The first matching pattern will be used, so\n" " put the most general wildcards (like *) at the end of\n" " this file.\n" "\n" " " msgstr "" " deb-gview aplikazioak zure XDG konfigurazioko direktorioko \n" " puntuz hasitako fitxategi hau (lehenetsia: ~/.config/deb-gview/preview) \n" " erabil dezake paketeko fitxategiak aurreikusteko zein aplikazio erabiliko " "diren zehazteko. \n" " Libre zara fitxategi hau editatzeko, deb-gview-ek ez du\n" " eraldatuko, ordeztu edo ezabatzen ez den bitartean behintzat.\n" " Bat datorren aurreneko eredua erabiliko denez, ipini komodin\n" " orokorrak (* bezalakoak) fitxategi honen amaieran.\n" "\n" " " #: ../src/dvpreview.c:108 msgid "" "glob-style pattern to match the location of\n" " the file in the package (not the filesystem).\n" " " msgstr "" "komodin-moduko ereduak fitxategiaren kokapena\n" " paketean (eta ez fitxategi-sisteman) aurkitzeko.\n" " " #: ../src/dvpreview.c:110 msgid "" "the program to call to view the file content\n" " (which must exist in your system PATH).\n" " " msgstr "" "fitxategiaren edukia ikusteko deitu behar den programa\n" " (zure sistemako PATH aldagian egon behar dena).\n" " " #: ../src/dvpreview.c:112 msgid "" "whether to use a terminal, TRUE or FALSE.\n" " " msgstr "" "terminala erabili behar den ala ez, TRUE (egia) edo FALSE (faltsua).\n" " " #: ../src/dvpreview.c:113 msgid "" "whether the viewer needs a binary file,\n" " TRUE or FALSE.\n" " " msgstr "" "ikustaileak fitxategi bitar bat behar duen ala ez\n" " TRUE (egia) edo FALSE (faltsua).\n" " " #: ../src/dvpreview.c:115 msgid "" "if the viewer needs a specific suffix, add it here\n" " " msgstr "" "ikustaileak aurrizki jakin bat behar badu, gehitu hemen\n" " " #. package defaults #: ../src/dvpreview.c:120 msgid " Your choice of terminal application.\n" msgstr " Terminalaren aplikazioaren zure hautapena.\n" #. man pages #: ../src/dvpreview.c:126 ../src/dvpreview.c:128 ../src/dvpreview.c:129 #: ../src/dvpreview.c:130 ../src/dvpreview.c:131 msgid "manual pages" msgstr "eskuliburua" #: ../src/dvpreview.c:356 #, c-format msgid "No matching pattern in the key file." msgstr "Ez dago bat datorren eredurik gakoen fitxategian." #: ../src/dvpreview.c:398 #, c-format msgid "Could not find a suitable viewer in the key file." msgstr "Ez izan da ikustaile egokirik aurkitu gakoen fitxategian." #: ../desktop/deb-gview.desktop.in.in.h:1 msgid "Debian Package Viewer" msgstr "Debian paketeen ikustailea" deb-gview-0.2.10/src/0000755000000000000000000000000012150372712011120 5ustar deb-gview-0.2.10/src/support.c0000644000000000000000000000703611735677225013025 0ustar /*************************************************************************** * support.c * * Wed May 30 11:26:42 2007 * Copyright 2007 Neil Williams * linux@codehelp.co.uk ****************************************************************************/ /* This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* with move to glade3, the glade2 xml is not necessary - using the generated C from glade2 from now on. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include "support.h" GtkWidget* lookup_widget (GtkWidget *widget, const gchar *widget_name) { GtkWidget *parent, *found_widget; for (;;) { if (GTK_IS_MENU (widget)) { parent = gtk_menu_get_attach_widget (GTK_MENU (widget)); } else { parent = widget->parent; } if (!parent) { parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey"); } if (parent == NULL) { break; } widget = parent; } found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget), widget_name); if (!found_widget) { g_warning ("Widget not found: %s", widget_name); } return found_widget; } /* This is an internally used function to find pixmap files. */ static gchar* find_pixmap_file (const gchar *filename) { gchar *pathname = g_strdup_printf ("/usr/share/pixmaps/%s", filename); if (g_file_test (pathname, G_FILE_TEST_EXISTS)) { return pathname; } g_free (pathname); return NULL; } /* This is an internally used function to create pixmaps. */ GtkWidget* create_pixmap (GtkWidget *widget, const gchar *filename) { gchar *pathname = NULL; GtkWidget *pixmap; if (!filename || !filename[0]) { return gtk_image_new (); } pathname = find_pixmap_file (filename); if (!pathname) { g_warning (_("Couldn't find pixmap file: %s"), filename); return gtk_image_new (); } pixmap = gtk_image_new_from_file (pathname); g_free (pathname); return pixmap; } /* This is an internally used function to create pixmaps. */ GdkPixbuf* create_pixbuf (const gchar *filename) { gchar *pathname = NULL; GdkPixbuf *pixbuf; GError *error = NULL; if (!filename || !filename[0]) { return NULL; } pathname = find_pixmap_file (filename); if (!pathname) { g_warning (_("Couldn't find pixmap file: %s"), filename); return NULL; } pixbuf = gdk_pixbuf_new_from_file (pathname, &error); if (!pixbuf) { fprintf (stderr, "Failed to load pixbuf file: %s: %s\n", pathname, error->message); g_clear_error (&error); } g_free (pathname); return pixbuf; } /* This is used to set ATK action descriptions. */ void glade_set_atk_action_description (AtkAction *action, const gchar *action_name, const gchar *description) { gint n_actions, i; n_actions = atk_action_get_n_actions (action); for (i = 0; i < n_actions; i++) { if (!strcmp (atk_action_get_name (action, i), action_name)) { atk_action_set_description (action, i, description); } } } deb-gview-0.2.10/src/dvpreview.c0000644000000000000000000003202711735676127013322 0ustar /******************************************************************** * dvpreview.c * * Thu Sep 14 21:36:56 2006 * Copyright 2006, 2007 Neil Williams * linux@codehelp.co.uk *******************************************************************/ /* This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include "dvpreview.h" #include "support.h" /* location of key file in xdg_config */ #define DVKEYDIR ".deb-gview" /* name of key file in location. */ #define DVKEYFILE "preview" /* key name for glob pattern */ #define DVKEYGLOB "pattern" /* key name for application to spawn */ #define DVKEYPROG "viewer" /* key name for whether to use a terminal. */ #define DVKEYTERM "use_terminal" /* default terminal application */ #define DVDEFAULT "xterm" /* default execute command */ #define DVEXECUTE "-e" /* key name for execute command */ #define DVXCOMMAND "execute_command" /* default man command */ #define DVMAN "man" /* package terminal command */ #define DVCOMMAND "terminal" /* key name for whether content is binary */ #define DVBINARY "binary_file" /* key name for suffix, if any */ #define DVSUFFIX "file_suffix" #define TMPPREFIX "dvXXXXXX" static const gchar * comment = NULL; static gchar * terminal = NULL; static gchar * execute = NULL; static GList * preview_list = NULL; typedef struct { gboolean use_term; gboolean use_binary; gchar * suffix; gchar * pattern; gchar * viewer; GPatternSpec * spec; const gchar * filename; } DVPreview; static void dv_push_error (DVContents * deb, GError *gerr) { GtkWidget *sbar; guint s_id; gchar * msg; sbar = lookup_widget(GTK_WIDGET(dv_get_parent(deb)), "dvstatusbar"); s_id = gtk_statusbar_get_context_id (GTK_STATUSBAR(sbar), "errors"); gtk_statusbar_pop (GTK_STATUSBAR(sbar), s_id); /* todo: fix this translation marker */ msg = g_strdup_printf (_("Unable to preview '%s'. " "%s"), dv_get_selected_file (deb), gerr->message); gtk_statusbar_push (GTK_STATUSBAR(sbar), s_id, msg); g_clear_error (&gerr); } static gchar** create_groups (GKeyFile * kf, const gchar * keyfile) { gsize len, num; gchar * kfdata; gchar **groups; GError * gerr = NULL; /* Translators: This text is much easier to read with a space after each newline */ comment = g_strconcat (_(" deb-gview can use this " "dot-file in your XDG config directory (default: \n " "~/.config/deb-gview/preview) to specify which applications " "should\n be used to preview files from the package.\n " "You are free to edit this file, deb-gview will\n " "not modify it, although it will be replaced if it is\n " "deleted.\n The first matching pattern will be used, so\n " "put the most general wildcards (like *) at the end of\n " "this file.\n\n "), DVKEYGLOB, " = ", _("glob-style pattern to match the " "location of\n the file in the package (not the filesystem).\n "), DVKEYPROG, " = ", _("the program to call to view the file " "content\n (which must exist in your system PATH).\n "), DVKEYTERM, " = ", _("whether to use a terminal, TRUE or FALSE.\n "), DVBINARY, " = ", _("whether the viewer needs a binary file" ",\n TRUE or FALSE.\n "), DVSUFFIX, " = ", _("if the viewer needs a specific suffix, add " "it here\n "), NULL); g_key_file_set_comment (kf, NULL, NULL, comment, NULL); /* package defaults */ comment = _(" Your choice of terminal application.\n"); g_key_file_set_string (kf, PACKAGE, DVCOMMAND, DVDEFAULT); g_key_file_set_comment (kf, PACKAGE, NULL, comment, NULL); g_key_file_set_string (kf, PACKAGE, DVXCOMMAND, DVEXECUTE); /* man pages */ g_key_file_set_string (kf, _("manual pages"), DVKEYGLOB, "./usr/share/man/man*/*"); g_key_file_set_string (kf, _("manual pages"), DVKEYPROG, DVMAN); g_key_file_set_boolean (kf, _("manual pages"), DVKEYTERM, TRUE); g_key_file_set_boolean (kf, _("manual pages"), DVBINARY, FALSE); g_key_file_set_string (kf, _("manual pages"), DVSUFFIX, ""); /* html */ g_key_file_set_string (kf, "HTML", DVKEYGLOB, "*.html"); g_key_file_set_string (kf, "HTML", DVKEYPROG, "sensible-browser"); g_key_file_set_boolean (kf, "HTML", DVKEYTERM,FALSE); g_key_file_set_boolean (kf, "HTML", DVBINARY, FALSE); g_key_file_set_string (kf, "HTML", DVSUFFIX, "html"); /* png */ g_key_file_set_string (kf, "PNG", DVKEYGLOB, "*.png"); g_key_file_set_string (kf, "PNG", DVKEYPROG, "eog"); g_key_file_set_boolean (kf, "PNG", DVKEYTERM, FALSE); g_key_file_set_boolean (kf, "PNG", DVBINARY, TRUE); g_key_file_set_string (kf, "PNG", DVSUFFIX, "png"); /* text */ g_key_file_set_string (kf, "text", DVKEYGLOB, "*"); g_key_file_set_string (kf, "text", DVKEYPROG, "gedit"); g_key_file_set_boolean (kf, "text", DVKEYTERM, FALSE); g_key_file_set_boolean (kf, "text", DVBINARY, FALSE); g_key_file_set_string (kf, "text", DVSUFFIX, ""); kfdata = g_key_file_to_data(kf, &len, &gerr); if (gerr != NULL) { g_warning ("%s", gerr->message); g_clear_error (&gerr); return NULL; } g_file_set_contents (keyfile, kfdata, len, &gerr); if (gerr != NULL) { g_warning ("%s", gerr->message); g_clear_error (&gerr); return NULL; } groups = g_key_file_get_groups (kf, &num); return groups; } static gboolean parse_groups (GKeyFile * kf, gchar **groups, const gchar * keyfile) { guint num, c; gchar * file_glob, * prog, * path_prog; GError * gerr; gboolean use_term; DVPreview * prev; gerr = NULL; use_term = FALSE; num = g_strv_length(groups); if (num == 0) { groups = create_groups (kf, keyfile); num = g_strv_length(groups); } if (!groups) { return FALSE; } terminal = g_key_file_get_string (kf, PACKAGE, DVCOMMAND, &gerr); if (gerr != NULL) { g_warning ("%s", gerr->message); g_clear_error (&gerr); } execute = g_key_file_get_string (kf, PACKAGE, DVXCOMMAND, &gerr); if (gerr != NULL) { g_warning ("%s", gerr->message); g_clear_error (&gerr); } for (c = 0;c < num; c++) { if (0 == g_ascii_strcasecmp(groups[c], PACKAGE)) continue; file_glob = g_key_file_get_string (kf, groups[c], DVKEYGLOB, &gerr); if (!file_glob) { g_warning ("%s", gerr->message); g_clear_error (&gerr); continue; } use_term = g_key_file_get_boolean (kf, groups[c], DVKEYTERM, &gerr); if (gerr != NULL) { g_warning ("%s", gerr->message); g_clear_error (&gerr); continue; } prog = g_key_file_get_string (kf, groups[c], DVKEYPROG, &gerr); if (!prog) { g_warning ("%s", gerr->message); g_clear_error (&gerr); continue; } prev = g_new0 (DVPreview, 1); if (!use_term) { path_prog = g_find_program_in_path (prog); prev->viewer = path_prog; } else { prev->viewer = prog; } prev->use_binary = g_key_file_get_boolean (kf, groups[c], DVBINARY, &gerr); prev->suffix = g_key_file_get_string (kf, groups[c], DVSUFFIX, &gerr); prev->pattern = file_glob; prev->spec = g_pattern_spec_new (prev->pattern); prev->use_term = use_term; preview_list = g_list_append (preview_list, prev); g_free (file_glob); } return TRUE; } gboolean preview_init (void) { const gchar * home, * xdg; gchar * path, * file, * xdg_file; gchar **groups; GKeyFile * kf; GError * gerr; gboolean success; gerr = NULL; kf = g_key_file_new (); /* xdg is the new default location. */ xdg = g_get_user_config_dir (); path = g_build_filename (xdg, PACKAGE, NULL); if (!g_file_test (path, G_FILE_TEST_IS_DIR)) { g_mkdir_with_parents (path, 0755); } xdg_file = g_build_filename (xdg, PACKAGE, DVKEYFILE, NULL); /* if our file exists in the old home, migrate to xdg. */ home = g_get_home_dir (); file = g_strconcat (home, "/", DVKEYDIR, "/", DVKEYFILE, NULL); if (g_file_test (file, G_FILE_TEST_IS_REGULAR)) { g_rename (file, xdg_file); } g_free (file); file = g_build_filename (xdg, PACKAGE, DVKEYFILE, NULL); success = g_key_file_load_from_file (kf, file, G_KEY_FILE_KEEP_COMMENTS, &gerr); groups = g_key_file_get_groups (kf, NULL); success = parse_groups (kf, groups, file); if (g_strv_length(groups) > 0) { g_strfreev (groups); } g_free (path); g_free (file); return success; } static void clear_list (gpointer value, gpointer user_data) { DVPreview * prev = (DVPreview*)value; if (!prev) { return; } g_pattern_spec_free (prev->spec); if (prev->viewer) { g_free (prev->viewer); } g_free (prev); } void preview_shutdown (void) { if (g_list_length(preview_list) > 0) { g_list_foreach (preview_list, clear_list, NULL); } } static DVPreview * glob_key_pattern (const gchar * file, gssize len, const gchar * rev) { GList * run; DVPreview * prev; gboolean match; match = FALSE; for (run = preview_list; run != NULL; run = g_list_next(run)) { prev = (DVPreview*)run->data; if (!prev) { return NULL; } match = g_pattern_match (prev->spec, len, file, rev); if (match) { return prev; } } return NULL; } static DVPreview * get_preview_data (DVContents * deb) { const gchar * file; DVPreview * globbed; gchar * file_rev; GError * gerr; gssize len; gerr = NULL; /* match the archive filename against the pattern but pass the uncompressed temporary file to the spawned app. */ file = g_filename_to_utf8(dv_get_selected_file (deb), -1, NULL, NULL, &gerr); if (!file) { dv_push_error (deb, gerr); return NULL; } len = g_utf8_strlen (file, 255); if (len == 0) { return NULL; } file_rev = g_utf8_strreverse (file, len); /* look up filename in keyfile list and glob the pattern */ globbed = glob_key_pattern (file, len, file_rev); if (!globbed) { return NULL; } globbed->filename = file; return globbed; } void dv_spawn_external (GtkWidget * widget, DVContents * deb) { gchar *temp_file, * tmp_name, **argv; gpointer content; DVPreview * prev; GError * gerr; gint argc, f; gint64 size; FILE * tmp; gerr = NULL; temp_file = NULL; deb = (DVContents*) lookup_widget (GTK_WIDGET(widget), DVCONTENTS); g_return_if_fail (deb); prev = get_preview_data (deb); if (!prev) { g_set_error (&gerr, 1001, 1002, _("No matching pattern in the key file.")); dv_push_error (deb, gerr); return; } /* glib temp files don't cope well with suffixes. */ f = g_file_open_tmp (TMPPREFIX, &tmp_name, &gerr); if (g_utf8_strlen(prev->suffix, -1) == 0) { temp_file = g_strconcat (tmp_name, ".", prev->suffix, NULL); g_remove (tmp_name); } else { temp_file = g_strdup (tmp_name); } close (f); if (gerr != NULL) { dv_push_error (deb, gerr); } if (prev->use_binary == TRUE) { content = dv_get_raw_content (deb); if (!content) { return; } size = dv_get_content_length (deb); if (size == 0) { return; } tmp = fopen (temp_file, "wb"); fwrite (content, size, 1, tmp); fclose (tmp); } else { content = dv_get_data_content (prev->filename, GTK_WIDGET(widget)); if (!content) { return; } tmp = fopen (temp_file, "w"); fwrite ((gchar*)content, strlen ((gchar*)content), 1, tmp); fclose (tmp); } g_clear_error (&gerr); if (!prev->use_term) { gchar * gui_cmd; if (!prev->viewer) { g_set_error (&gerr, 1001, 1002, _("Could not find a suitable viewer in the key file.")); dv_push_error (deb, gerr); return; } gui_cmd = g_strconcat (prev->viewer, " ", temp_file, NULL); g_shell_parse_argv (gui_cmd, &argc, &argv, &gerr); if (gerr != NULL) { dv_push_error (deb, gerr); } g_free (gui_cmd); } else { gchar * term_cmd = g_strconcat (terminal, " ", execute, " \"", prev->viewer, " ", temp_file, "\"", NULL); g_shell_parse_argv (term_cmd, &argc, &argv, &gerr); if (gerr != NULL) { dv_push_error (deb, gerr); } g_free (term_cmd); } g_free (temp_file); g_spawn_async (NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &gerr); if (gerr != NULL) { dv_push_error (deb, gerr); return; } return; } gboolean dv_show_our_manpage (DVContents * deb) { GError * gerr; gchar **argv; gchar * command, * file, * file_rev, *ourterm; gint argc; DVPreview * globbed; gssize len; gerr = NULL; globbed = NULL; ourterm = (g_utf8_strlen(terminal, -1) != 0) ? terminal : DVDEFAULT; file = "./usr/share/man/man1/deb-gview.1.gz"; len = g_utf8_strlen (file, 255); file_rev = g_utf8_strreverse (file, len); globbed = glob_key_pattern (file, len, file_rev); if (!globbed) { command = g_strconcat (ourterm, " ", execute, " \"", DVMAN, " ", PACKAGE, "\"", NULL); } else { command = g_strconcat (ourterm, " ", execute, " \"", globbed->viewer, " ", PACKAGE, "\"", NULL); } g_shell_parse_argv (command, &argc, &argv, &gerr); g_free (command); g_spawn_async (NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &gerr); if (gerr != NULL) { dv_push_error (deb, gerr); return FALSE; } return TRUE; } deb-gview-0.2.10/src/main.c0000644000000000000000000001336111735677242012232 0ustar /******************************************************************* * main.c * * Sat Jul 29 14:14:52 2006 * Copyright 2006-2008 Neil Williams * linux@codehelp.co.uk *******************************************************************/ /* This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include "dvarchive.h" #include "dvpreview.h" #include "interface.h" #include "support.h" #include "callbacks.h" /** list of other windows derived from this instance. */ static GList * subwindows = NULL; void dv_add_child (GtkWindow * child) { subwindows = g_list_append (subwindows, child); } guint dv_count_kids (void) { return g_list_length (subwindows); } void dv_remove_child (GtkWindow * child) { subwindows = g_list_remove (subwindows, child); } static gboolean convert_vfs_to_gfile (const gchar * path, GtkWindow * window1) { gchar * filename; GVfs * vfs; GError * result; GFile * gfile; GFileInfo * ginfo; DVContents * context; result = NULL; context = dv_create(); dv_set_needs_uri (context, TRUE); g_object_set_data (G_OBJECT(window1), DVCONTENTS, context); set_dv_parent (GTK_WIDGET(window1)); vfs = g_vfs_get_default (); if (g_vfs_is_active(vfs)) { gfile = g_vfs_get_file_for_path (vfs, path); dv_set_needs_uri (context, FALSE); } else { gfile = g_file_new_for_commandline_arg (path); dv_set_needs_uri (context, FALSE); } /* take a look at the target file */ if (!g_file_query_exists (gfile, NULL)) { /* if no file, try to create a GFile for a URI instead */ g_object_unref (gfile); dv_set_needs_uri (context, TRUE); gfile = g_vfs_get_file_for_uri (vfs, path); if (!g_file_query_exists (gfile, NULL)) { /* nothing at all, return error. */ g_object_unref (gfile); return FALSE; } } ginfo = g_file_query_info (gfile, G_FILE_ATTRIBUTE_STANDARD_SIZE, G_FILE_QUERY_INFO_NONE, NULL, &result); if (0 == g_file_info_get_attribute_uint64 (ginfo, G_FILE_ATTRIBUTE_STANDARD_SIZE)) { g_object_unref (gfile); g_object_unref (ginfo); return FALSE; } /* ok, we have a readable GFile with non-zero size, proceed. */ filename = g_file_get_parse_name (gfile); dv_set_working_path (context, filename); if (g_str_has_suffix(filename, ".changes")) { dv_parse_changes(gfile, context); } else { set_deb_file (gfile, context); gtk_widget_show (GTK_WIDGET(window1)); subwindows = g_list_append (subwindows, window1); } g_free (filename); return TRUE; } int main (int argc, char *argv[]) { DVContents * context; gchar **remaining_args; GOptionContext *option_context; gboolean check_vfs; GtkDialog * dialog; GtkWindow * window1; GOptionEntry option_entries[] = { /* option that collects filenames */ {G_OPTION_REMAINING, 0, 0, G_OPTION_ARG_FILENAME_ARRAY, &remaining_args, NULL, _("file")}, {NULL, 0, 0, G_OPTION_ARG_NONE, NULL, NULL, NULL} }; #ifdef ENABLE_NLS bindtextdomain (GETTEXT_PACKAGE, LOCALE_DIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); #endif g_assert ((archive_version_number() / 1000000) == (ARCHIVE_VERSION_NUMBER / 1000000)); remaining_args = NULL; window1 = NULL; option_context = g_option_context_new (""); g_option_context_add_main_entries (option_context, option_entries, GETTEXT_PACKAGE); g_option_context_parse (option_context, &argc, &argv, NULL); gtk_init (&argc, &argv); subwindows = NULL; if (!preview_init ()) { g_warning (_("Unable to create preview key file")); } /* parse remaining command-line arguments that are not options (i.e. filenames)*/ if (remaining_args != NULL) { gint i, num_args; gchar * debfile; num_args = g_strv_length (remaining_args); for (i = 0; i < num_args; ++i) { /* one window for each .deb file specified */ debfile = g_strdup (remaining_args[i]); window1 = GTK_WINDOW(create_deb_gview_window ()); g_return_val_if_fail (window1, EXIT_FAILURE); check_vfs = convert_vfs_to_gfile (debfile, window1); if (!check_vfs) { GdkPixbuf *deb_gview_window_icon_pixbuf; set_dv_parent (GTK_WIDGET(window1)); dialog = GTK_DIALOG (gtk_message_dialog_new (window1, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("Error loading file '%s'."), debfile)); deb_gview_window_icon_pixbuf = create_pixbuf ("deb-gview.xpm"); if (deb_gview_window_icon_pixbuf) { gtk_window_set_icon (GTK_WINDOW (dialog), deb_gview_window_icon_pixbuf); g_object_unref (deb_gview_window_icon_pixbuf); } gtk_dialog_run (dialog); gtk_widget_destroy (GTK_WIDGET (dialog)); gtk_widget_show (GTK_WIDGET(window1)); subwindows = g_list_append (subwindows, window1); g_strfreev (remaining_args); remaining_args = NULL; num_args = i; g_free (debfile); } } } else { context = dv_create(); window1 = GTK_WINDOW(create_deb_gview_window ()); g_return_val_if_fail (window1, EXIT_FAILURE); g_object_set_data (G_OBJECT(window1), DVCONTENTS, context); set_dv_parent (GTK_WIDGET(window1)); gtk_widget_show GTK_WIDGET((window1)); subwindows = g_list_append (subwindows, window1); } gtk_main (); return EXIT_SUCCESS; } deb-gview-0.2.10/src/dvarchive.c0000644000000000000000000006677612150372157013270 0ustar /******************************************************************** * dvarchive.c * * Tue Aug 1 00:50:52 2006 * Copyright 2006-2008 Neil Williams * linux@codehelp.co.uk * Copyright (C) 1994,1995 Ian Jackson *******************************************************************/ /* This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include "dvpreview.h" #include "callbacks.h" #include "support.h" #include "interface.h" #include "dvarchive.h" #define BLOCKSIZE 10240 #define MAXGZ 1024*512*sizeof(gint) typedef enum { DV_AR_FAIL = -1, DV_OK, DV_ERR_NO_FILE, DV_ERR_FILE_READ, DV_ERR_VERSION, DV_ERR_CORRUPT_FILE, DV_ERR_NOT_DPKG, DV_ERR_COMPRESS, } DVError; /* details of the files within the .deb */ typedef struct { gint64 size; gpointer content; gboolean compressed; GtkWidget *parent; }DVFileData; struct DV_s { const gchar *filename; gpointer readbuffer; gchar *copyright; GHashTable *control_files; GHashTable *data_files; struct archive *control_tar; struct archive *data_tar; struct ar_hdr *current; gulong skip; GFile * ghandle; GInputStream * stream; GtkWidget *parent; DVError error; gboolean store_set; GList * subwindows; const gchar * ar_message; /* error string from archive/ar_hdr */ gchar * selected_file; gchar * current_path; /** indicates if the GFile is a URI or a path */ gboolean needs_uri; }; enum compression_type { CAT, GZ, BZ2 }; DVContents* dv_create (void) { DVContents *deb; deb = g_new0 (DVContents, 1); deb->control_files = g_hash_table_new (g_str_hash, g_str_equal); deb->data_files = g_hash_table_new (g_str_hash, g_str_equal); deb->subwindows = NULL; return deb; } void dv_set_needs_uri (DVContents * deb, gboolean val) { g_return_if_fail (deb); deb->needs_uri = val; } gboolean dv_get_needs_uri (DVContents * deb) { /* default value is FALSE and the toolbar callbacks expect FALSE */ return deb->needs_uri; } static void dv_new_window (GFile * deb) { DVContents * context; GtkWindow *window1; gchar * filename; g_return_if_fail (deb); context = dv_create(); window1 = GTK_WINDOW(create_deb_gview_window ()); g_return_if_fail (window1); g_object_set_data (G_OBJECT(window1), DVCONTENTS, context); set_dv_parent (GTK_WIDGET(window1)); context->ghandle = deb; filename = g_file_get_path (deb); /* set the working path for the new window from the .changes file */ dv_set_working_path (context, filename); set_deb_file (deb, context); gtk_widget_show (GTK_WIDGET(window1)); dv_add_child (window1); } void dv_parse_changes (GFile * cfile, DVContents * deb) { gchar **changes_file; gchar * debname, *debline, *contents, *chgpath, * G_GNUC_UNUSED path; guint c; GFile * parent; GError * result; gsize changes_size; gboolean files; g_return_if_fail (cfile); result = NULL; files = FALSE; g_file_load_contents (cfile, NULL, &contents, &changes_size, NULL, &result); if (result) { g_warning ("Unable to parse .changes file: %s", result->message); g_clear_error (&result); return; } path = g_file_get_parse_name (cfile); chgpath = NULL; parent = g_file_get_parent (cfile); chgpath = g_file_get_uri (parent); changes_file = g_strsplit (contents, "\n", -1); for (c = 0; c < g_strv_length(changes_file); c++) { // handle new format .changes files if (g_str_has_prefix (changes_file[c], "Checksums")) { files = FALSE; } if (g_str_has_prefix (changes_file[c], "Files")) { files = TRUE; } if (!files) { continue; } debline = NULL; debname = NULL; debline = g_strrstr (changes_file[c], ".deb"); if (debline) { GFile * debfile; gchar * partial; /* g_str is safe because this line comes from inside the .changes file, not from a path or filename */ if (!g_str_has_suffix (debline, ".deb")) { continue; } debfile = NULL; partial = g_strstrip (g_strrstr (changes_file[c], " ")); debname = g_strconcat(chgpath, "/", partial, NULL); debfile = g_file_new_for_uri (debname); if (g_str_has_suffix (debname, ".deb")) { dv_new_window (debfile); } } } } void dv_archive_clear (DVContents *deb) { g_return_if_fail (deb); if (deb->control_files) { g_hash_table_destroy (deb->control_files); deb->control_files = g_hash_table_new (g_str_hash, g_str_equal); } if (deb->data_files) { g_hash_table_destroy (deb->data_files); deb->data_files = g_hash_table_new (g_str_hash, g_str_equal); } if (deb->copyright) { g_free (deb->copyright); } } void dv_archive_free (DVContents *deb) { if (!deb) { return; } if (deb->control_files) { g_hash_table_destroy (deb->control_files); } if (deb->data_files) { g_hash_table_destroy (deb->data_files); } if (deb->copyright) { g_free (deb->copyright); } if (deb->ghandle) { g_object_unref (deb->ghandle); } g_free (deb); preview_shutdown (); deb = NULL; } GtkWidget * dv_get_parent (DVContents *deb) { g_return_val_if_fail (deb, NULL); return deb->parent; } void set_dv_parent (GtkWidget * widget) { DVContents *deb; g_return_if_fail (widget); deb = (DVContents*) lookup_widget (widget, DVCONTENTS); g_return_if_fail (deb); deb->parent = widget; } const gchar * dv_get_selected_file (DVContents * deb) { return deb->selected_file; } gchar * dv_get_working_path (DVContents * deb) { g_return_val_if_fail (deb, NULL); return deb->current_path; } void dv_set_working_path (DVContents * deb, gchar * path) { g_return_if_fail (deb); if (!path) { return; } g_free (deb->current_path); deb->current_path = g_strdup (path); } static void dv_show_error (DVError dve, GtkWidget * widget) { GtkDialog *dialog; GtkWidget *parent; gboolean fatal; gchar *fmt; DVContents *deb; g_return_if_fail (widget); fatal = FALSE; fmt = NULL; deb = (DVContents*) lookup_widget (widget, DVCONTENTS); parent = (!widget) ? deb->parent : widget; switch (dve) { case DV_OK: return; case DV_ERR_NO_FILE: { fmt = _("Unable to locate package file, " "the file may be empty."); break; } case DV_AR_FAIL : case DV_ERR_FILE_READ: { fmt = _("Failed to read package file."); break; } case DV_ERR_VERSION: { fmt = _("Unsupported archive version."); break; } case DV_ERR_CORRUPT_FILE : { fmt = _("Possible corrupted file."); break; } case DV_ERR_NOT_DPKG : { fmt = _("Not a debian binary archive."); break; } case DV_ERR_COMPRESS : { fmt = _("Unable to decompress file within package."); break; } } if (deb->ar_message) { fmt = g_strconcat (fmt, "\n", deb->ar_message, NULL); } dialog = GTK_DIALOG (gtk_message_dialog_new (GTK_WINDOW(parent), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, _("Error loading file '%s'. %s"), deb->filename, fmt)); deb->ar_message = NULL; gtk_dialog_run (dialog); gtk_widget_destroy (GTK_WIDGET (dialog)); if (fatal) { dv_archive_free (deb); gtk_main_quit (); } } void set_deb_file (GFile * gfile, DVContents *deb) { gchar * filename; g_return_if_fail (deb); if (!gfile) { dv_show_error (DV_ERR_NO_FILE, deb->parent); return; } if (!deb->ghandle) { deb->ghandle = gfile; } filename = g_file_get_uri (deb->ghandle); if ((!g_str_has_suffix(filename, ".deb")) && (!g_str_has_suffix(filename, ".udeb")) && (!g_str_has_suffix(filename, ".tdeb"))) { return; } deb->filename = filename; deb->ghandle = gfile; } static gint dv_archive_open (struct archive *a, gpointer client_data) { DVContents *d = (DVContents*)client_data; gchar *size; g_return_val_if_fail (d, ARCHIVE_FATAL); g_return_val_if_fail (d->readbuffer == NULL, ARCHIVE_FATAL); /* deb->pkg already open */ d->skip = 0; size = g_strndup (d->current->ar_size, 10); d->skip = g_ascii_strtod (size, NULL); g_free (size); if (d->skip == 0) { return ARCHIVE_FATAL; } d->readbuffer = g_strnfill (d->skip, ' '); if( d->readbuffer == NULL ) { archive_set_error(a, ENOMEM, _("Out of memory.")); d->ar_message = archive_error_string (a); return ARCHIVE_FATAL; } return ARCHIVE_OK; } static ssize_t dv_archive_read (struct archive *a, gpointer client_data, gconstpointer *buffer) { gsize bytesread; GError * result; DVContents *d = (DVContents*)client_data; g_return_val_if_fail (d, DV_AR_FAIL); result = NULL; *buffer = d->readbuffer; g_return_val_if_fail (d->readbuffer != NULL, DV_AR_FAIL); if (d->skip == 0) { return ARCHIVE_OK; } if (g_input_stream_is_closed (d->stream)) { return DV_AR_FAIL; } bytesread = g_input_stream_read (d->stream, d->readbuffer, d->skip, NULL, &result); if (result) { archive_set_error (a, errno, _("Error reading from file: %m")); d->ar_message = archive_error_string (a); dv_show_error (DV_ERR_FILE_READ, d->parent); g_clear_error (&result); return DV_AR_FAIL; } if (bytesread == 0) { archive_set_error (a, EIO, _("Unexpected end of file.")); d->ar_message = archive_error_string (a); dv_show_error (DV_ERR_FILE_READ, d->parent); g_clear_error (&result); return DV_AR_FAIL; } d->skip -= bytesread; return bytesread; } /* A .deb is two archives within an archive so do NOT close the FILE at this stage! */ static gint dv_archive_close (struct archive *r __attribute__ ((unused)), gpointer client_data) { DVContents *d = (DVContents*)client_data; g_free(d->readbuffer); d->readbuffer = NULL; return ARCHIVE_OK; } /* from dpkg extract.c */ static gulong parseheaderlength (const gchar *inh, size_t len) { gchar lintbuf[15]; gulong r; gchar *endp; if (memchr (inh, 0, len)) { return 0; } g_assert (sizeof (lintbuf) > len); memcpy (lintbuf, inh, len); lintbuf[len] = ' '; *strchr (lintbuf, ' ') = 0; r = strtoul (lintbuf, &endp, 10); if (*endp) { return 0; } return r; } static gboolean prepare_contents (GFile * gfile, DVContents * deb) { gsize G_GNUC_UNUSED bytesread, header, seek; GError * result; GFileInputStream * filestream; struct ar_hdr debian_binary; struct ar_hdr controlgz; struct ar_hdr datagz; gint memberlen, error_num; gulong bytes_left; gchar * versionbuf, * vers_cmp, *infobuf, * filename; g_return_val_if_fail (deb, FALSE); result = NULL; deb->ghandle = gfile; filestream = g_file_read (deb->ghandle, NULL, &result); if (result) { filename = g_file_get_parse_name (deb->ghandle); g_warning ("Error: %s : %s", filename, result->message); dv_show_error (DV_ERR_FILE_READ, deb->parent); g_free (filename); g_clear_error (&result); return FALSE; } deb->stream = (GInputStream*)filestream; if (g_input_stream_is_closed (deb->stream)) { return FALSE; } versionbuf = g_new0 (gchar, strlen(ARMAG) + 1); bytesread = g_input_stream_read (deb->stream, versionbuf, strlen(ARMAG), NULL, &result); if (result) { g_warning ("%s", result->message); g_clear_error (&result); return FALSE; } vers_cmp = g_strndup (versionbuf, strlen(ARMAG)); g_free (versionbuf); if (strcmp(vers_cmp, ARMAG)) { dv_show_error (DV_ERR_VERSION, deb->parent); g_input_stream_close (deb->stream, NULL, &result); if (result) { g_warning ("%s", result->message); g_clear_error (&result); } return FALSE; } header = sizeof(struct ar_hdr); bytesread = g_input_stream_read (deb->stream, &debian_binary, header, NULL, &result); if (memcmp (debian_binary.ar_name, "debian-binary ", sizeof (debian_binary.ar_name)) && memcmp (debian_binary.ar_name, "debian-binary/ ", sizeof (debian_binary.ar_name))) { dv_show_error (DV_ERR_NOT_DPKG, deb->parent); g_input_stream_close (deb->stream, NULL, &result); if (result) { g_warning ("%s", result->message); g_clear_error (&result); } return FALSE; } if (result) { g_warning ("%s", result->message); g_clear_error (&result); } memberlen = parseheaderlength (debian_binary.ar_size, sizeof (debian_binary.ar_size)); if (!memberlen) { dv_show_error (DV_ERR_CORRUPT_FILE, deb->parent); } header = memberlen + 1; infobuf = g_new0(gchar, header); bytesread = g_input_stream_read (deb->stream, infobuf, memberlen + (memberlen & 1), NULL, &result); if (result) { g_warning ("%s", result->message); g_clear_error (&result); } g_free (infobuf); header = sizeof(struct ar_hdr); bytesread = g_input_stream_read (deb->stream, &controlgz, sizeof (struct ar_hdr), NULL, &result); if (result) { g_warning ("%s", result->message); g_clear_error (&result); } deb->current = &controlgz; deb->control_tar = archive_read_new (); #if ARCHIVE_VERSION_NUMBER < 3000000 archive_read_support_compression_gzip (deb->control_tar); archive_read_support_compression_xz (deb->control_tar); #else archive_read_support_filter_gzip (deb->control_tar); archive_read_support_filter_xz (deb->control_tar); #endif archive_read_support_format_tar (deb->control_tar); error_num = ARCHIVE_OK; error_num = archive_read_open (deb->control_tar, deb, dv_archive_open, dv_archive_read, dv_archive_close); if (error_num != ARCHIVE_OK) { dv_show_error (DV_ERR_CORRUPT_FILE, deb->parent); deb->ar_message = archive_error_string (deb->control_tar); g_input_stream_close (deb->stream, NULL, &result); if (result) { g_warning ("%s", result->message); g_clear_error (&result); } return FALSE; } else { struct archive_entry *entry; gchar *locate; gpointer content; gint64 size; DVFileData *dvfd; while (archive_read_next_header (deb->control_tar, &entry) == ARCHIVE_OK) { size = archive_entry_size (entry); locate = g_strdup (archive_entry_pathname (entry)); content = g_new0(gpointer, size); archive_read_data (deb->control_tar, content, size); dvfd = g_new0 (DVFileData, 1); dvfd->size = size; if(S_ISREG(archive_entry_mode(entry))) dvfd->content = content; dvfd->compressed = FALSE; g_hash_table_insert (deb->control_files, locate, dvfd); if ((0 == strcmp (locate, "./control")) || (0 == strcmp (locate, "control"))) { GtkWidget *display_area; GtkTextBuffer *buffer; /* todo: pattern match Package: Version: for title of window.*/ display_area = lookup_widget (deb->parent, "display"); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(display_area)); gtk_text_buffer_set_text (buffer, (gchar*)content, -1); gtk_text_view_set_buffer (GTK_TEXT_VIEW (display_area), buffer); } archive_read_data_skip (deb->control_tar); } } dv_archive_close (deb->control_tar, deb); bytes_left = strtoul(controlgz.ar_size,NULL,10); /* if the size of control.tar.gz is odd, seek one byte to the start of data.tar.gz */ seek = (bytes_left & 1); if (seek > 0) { g_input_stream_skip (deb->stream, seek, NULL, &result); if (result) { dv_show_error (DV_ERR_CORRUPT_FILE, deb->parent); deb->ar_message = archive_error_string (deb->control_tar); g_input_stream_close (deb->stream, NULL, &result); g_warning ("%s", result->message); g_clear_error (&result); return FALSE; } } header = sizeof(struct ar_hdr); bytesread = g_input_stream_read (deb->stream, &datagz, sizeof(struct ar_hdr), NULL, &result); if (result) { g_warning ("Data tarball read error: %s", result->message); g_clear_error (&result); } deb->current = &datagz; deb->data_tar = archive_read_new (); #if ARCHIVE_VERSION_NUMBER < 3000000 archive_read_support_compression_gzip (deb->data_tar); archive_read_support_compression_xz (deb->data_tar); #else archive_read_support_filter_gzip (deb->data_tar); archive_read_support_filter_xz (deb->data_tar); #endif archive_read_support_format_tar (deb->data_tar); error_num = ARCHIVE_OK; error_num = archive_read_open (deb->data_tar, deb, dv_archive_open, dv_archive_read, dv_archive_close); if (error_num != ARCHIVE_OK) { dv_show_error (DV_ERR_CORRUPT_FILE, deb->parent); deb->ar_message = archive_error_string (deb->data_tar); g_input_stream_close (deb->stream, NULL, &result); if (result) { g_warning ("%s", result->message); g_clear_error (&result); } } else { struct archive_entry *entry; gpointer *datacontent; gint64 size; gchar *locate; DVFileData *dvfd; while (archive_read_next_header (deb->data_tar, &entry) == ARCHIVE_OK) { size = archive_entry_size (entry); datacontent = g_new0 (gpointer, size); archive_read_data (deb->data_tar, datacontent, size); /* locate is the name of the .gz file */ locate = g_strdup (archive_entry_pathname (entry)); dvfd = g_new0 (DVFileData, 1); dvfd->size = size; if (g_str_has_suffix (locate, ".gz")) { gchar *temp_file = NULL; gint err; gzFile t; gpointer h; gint f = g_file_open_tmp ("dvXXXXXX", &temp_file, NULL); g_file_set_contents (temp_file, (gchar*)datacontent, size, NULL); close (f); h = g_new0 (gpointer, MAXGZ); t = gzopen (temp_file, "rb"); err = gzread (t, h, MAXGZ); if (err <= -1) { deb->ar_message = locate; dv_show_error (DV_ERR_COMPRESS, deb->parent); } gzclose (t); dvfd->content = h; g_remove (temp_file); } else { if (g_str_has_suffix (locate, "copyright")) { g_hash_table_insert (deb->control_files, "./copyright", dvfd); deb->copyright = g_strdup ((gchar*)datacontent); } dvfd->content = datacontent; } g_hash_table_insert (deb->data_files, locate, dvfd); archive_read_data_skip (deb->data_tar); } #if ARCHIVE_VERSION_NUMBER < 3000000 archive_read_finish (deb->data_tar); #else archive_read_free (deb->data_tar); #endif } g_input_stream_close (deb->stream, NULL, &result); if (result) { g_warning ("%s", result->message); g_clear_error (&result); } return TRUE; } static void add_control_files (gpointer key, gpointer value, gpointer user_data) { DVIter *dvi = (DVIter *) user_data; gchar *path = (gchar *) key; DVFileData *dvfd = (DVFileData*)value; gchar *size_str; if (g_str_has_suffix(path, "/")) { return; } size_str = g_strdup_printf ("%" G_GINT64_FORMAT, dvfd->size); gtk_tree_store_append (dvi->store, dvi->child_iter, dvi->parent_iter); gtk_tree_store_set (dvi->store, dvi->child_iter, PKG_COLUMN, g_filename_to_utf8 ((gchar*)key, -1, NULL, NULL, NULL), SIZE_COLUMN, size_str, LOCATION_COLUMN, g_filename_to_utf8 ((gchar*)key, -1, NULL, NULL, NULL), -1); } static void add_data_files (gpointer key, gpointer value, gpointer user_data) { DVIter *dvi = (DVIter *) user_data; gchar *path = (gchar *) key; gchar *file = g_path_get_basename (path); DVFileData *dvfd = (DVFileData*)value; gchar *size_str; if (g_str_has_suffix(path, "/")) { return; } size_str = g_strdup_printf ("%" G_GINT64_FORMAT, dvfd->size); gtk_tree_store_append (dvi->store, dvi->child_iter, dvi->parent_iter); gtk_tree_store_set (dvi->store, dvi->child_iter, PKG_COLUMN, g_filename_to_utf8 (file, -1, NULL, NULL, NULL), SIZE_COLUMN, size_str, LOCATION_COLUMN, g_filename_to_utf8 (path, -1, NULL, NULL, NULL), -1); } void dv_archive_get_control (DVIter * dvi, DVContents *deb) { g_return_if_fail (deb); g_hash_table_foreach (deb->control_files, add_control_files, dvi); } void dv_archive_get_data (DVIter * dvi, DVContents *deb) { g_return_if_fail (deb); g_hash_table_foreach (deb->data_files, add_data_files, dvi); } static void columns_reset (gpointer value, gpointer user_data) { guint G_GNUC_UNUSED cols; GtkTreeView *treeview; GtkTreeViewColumn *column; column = (GtkTreeViewColumn*)value; treeview = (GtkTreeView*)user_data; gtk_tree_view_column_clear (column); cols = gtk_tree_view_remove_column (treeview, column); } static gint size_compare (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data) { gint result; gchar *str_a, *str_b; guint64 sz_a, sz_b; result = 0; gtk_tree_model_get(model, a, SIZE_COLUMN, &str_a, -1); gtk_tree_model_get(model, b, SIZE_COLUMN, &str_b, -1); if (!str_a) { return -1; } if (!str_b) { return 1; } sz_a = g_ascii_strtoull (str_a, NULL, 10); sz_b = g_ascii_strtoull (str_b, NULL, 10); if(sz_a != sz_b) { result = (sz_a > sz_b) ? 1 : -1; } g_free(str_a); g_free(str_b); return result; } static void tree_selection_changed_cb (GtkTreeSelection *selection, gpointer data) { GtkTreeIter iter; GtkTreeModel *model; DVContents *deb; deb = (DVContents*) data; g_return_if_fail (deb); if (gtk_tree_selection_get_selected (selection, &model, &iter)) { if (deb->selected_file) { g_free (deb->selected_file); } gtk_tree_model_get (model, &iter, LOCATION_COLUMN, &deb->selected_file, -1); } } static void dv_update_title (const gchar * filename, DVContents * deb) { const gchar * current; gchar * newstr; current = _("Debian package file viewer"); newstr = g_strconcat (filename, " - ", current, NULL); gtk_window_set_title (GTK_WINDOW(deb->parent), newstr); } /* receives new deb from toolbar selection. */ void open_deb (DVContents * deb) { GtkWidget *treeview; GtkTreeStore *store; GtkTreeModel *model; GtkTreeSortable * sort; GtkTreeIter parent_iter, orig_iter; GtkTreeIter deb_iter, tar_iter, file_iter; GtkCellRenderer *renderer; GtkTreeViewColumn *column; GtkTreeSelection *select; DVIter dvi; GFileInfo * ginfo; GError * result; gchar * filename; result = NULL; g_return_if_fail (deb); filename = g_file_get_parse_name (deb->ghandle); if (g_file_query_exists (deb->ghandle, NULL)) { ginfo = g_file_query_info (deb->ghandle, G_FILE_ATTRIBUTE_STANDARD_SIZE, G_FILE_QUERY_INFO_NONE, NULL, &result); if (result) { g_warning ("%s", result->message); g_clear_error (&result); } if (0 == g_file_info_get_attribute_uint64 (ginfo, G_FILE_ATTRIBUTE_STANDARD_SIZE)) { dv_show_error (DV_ERR_NO_FILE, deb->parent); return; } } if (!prepare_contents (deb->ghandle, deb)) { return; } dv_update_title(filename, deb); treeview = lookup_widget (deb->parent, "treeview"); g_return_if_fail (treeview); model = gtk_tree_view_get_model (GTK_TREE_VIEW(treeview)); if (deb->store_set) { GList *columns = NULL; store = GTK_TREE_STORE (model); sort = GTK_TREE_SORTABLE(store); gtk_tree_store_clear (store); columns = gtk_tree_view_get_columns (GTK_TREE_VIEW(treeview)); g_list_foreach (columns, columns_reset, treeview); } else { store = gtk_tree_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); sort = GTK_TREE_SORTABLE(store); gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (sort)); deb->store_set = TRUE; } gtk_tree_store_append (store, &parent_iter, NULL); gtk_tree_store_set (store, &parent_iter, PKG_COLUMN, "name", SIZE_COLUMN, "size", LOCATION_COLUMN, filename, -1); renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes (_("Package"), renderer, "text", PKG_COLUMN, NULL); gtk_tree_sortable_set_sort_column_id (sort, PKG_COLUMN, GTK_SORT_ASCENDING); gtk_tree_view_column_set_sort_column_id (column, PKG_COLUMN); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); column = gtk_tree_view_column_new_with_attributes (_("Size"), renderer, "text", SIZE_COLUMN, NULL); gtk_tree_view_column_set_sort_column_id (column, SIZE_COLUMN); gtk_tree_sortable_set_sort_func (sort, SIZE_COLUMN, size_compare, NULL, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); column = gtk_tree_view_column_new_with_attributes (_("Location"), renderer, "text", LOCATION_COLUMN, NULL); gtk_tree_view_column_set_sort_column_id (column, LOCATION_COLUMN); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); gtk_tree_store_append (store, &deb_iter, &parent_iter); gtk_tree_store_set (store, &deb_iter, PKG_COLUMN, _("Debian data"), SIZE_COLUMN, NULL, LOCATION_COLUMN, NULL, -1); dvi.store = store; dvi.child_iter = &file_iter; dvi.parent_iter = &deb_iter; dv_archive_get_control (&dvi, deb); gtk_tree_store_append (store, &orig_iter, &parent_iter); gtk_tree_store_set (store, &orig_iter, PKG_COLUMN, _("Upstream data"), SIZE_COLUMN, "", LOCATION_COLUMN, "", -1); dvi.store = store; dvi.child_iter = &tar_iter; dvi.parent_iter = &orig_iter; dv_archive_get_data (&dvi, deb); gtk_tree_view_expand_all (GTK_TREE_VIEW(treeview)); select = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); gtk_tree_selection_set_mode (select, GTK_SELECTION_SINGLE); g_signal_connect (G_OBJECT (select), "changed", G_CALLBACK (tree_selection_changed_cb), deb); gtk_widget_show_all (treeview); } void dv_archive_preload (GtkWidget * widget) { DVContents *deb; deb = (DVContents*) lookup_widget (widget, DVCONTENTS); if (deb) { if (!deb->ghandle) { return; } open_deb (deb); } } gchar * dv_get_control_content (const gchar * file, GtkWidget * widget) { DVFileData *dvfd; DVContents *deb; guint s_id; GtkWidget *sbar; deb = (DVContents*) lookup_widget (widget, DVCONTENTS); g_return_val_if_fail (deb, NULL); dvfd = (DVFileData*) g_hash_table_lookup (deb->control_files, file); if (!dvfd) { return NULL; } sbar = lookup_widget(GTK_WIDGET(widget), "dvstatusbar"); s_id = gtk_statusbar_get_context_id (GTK_STATUSBAR(sbar), "errors"); gtk_statusbar_pop (GTK_STATUSBAR(sbar), s_id); return (g_utf8_validate (dvfd->content, -1, NULL)) ? dvfd->content : NULL; } static gchar * dv_make_utf8 (gchar * string) { gchar *value; if (!string) { return NULL; } if (g_utf8_validate (string, -1, NULL)) { return string; } value = g_locale_to_utf8 (string, -1, NULL, NULL, NULL); if (!value) { value = g_convert (string, -1, "UTF-8", "ISO-8859-15", NULL, NULL, NULL); if (!value) { return NULL; } return value; } return value; } gint64 dv_get_content_length (DVContents * deb) { DVFileData *dvfd; const gchar * file; g_return_val_if_fail (deb, 0); file = dv_get_selected_file (deb); dvfd = (DVFileData*) g_hash_table_lookup (deb->data_files, file); if (!dvfd) { return 0; } return dvfd->size; } gpointer dv_get_raw_content (DVContents * deb) { guint s_id; GtkWidget *sbar; DVFileData *dvfd; const gchar * file; g_return_val_if_fail (deb, NULL); file = dv_get_selected_file (deb); dvfd = (DVFileData*) g_hash_table_lookup (deb->data_files, file); if (!dvfd) { return NULL; } sbar = lookup_widget(deb->parent, "dvstatusbar"); s_id = gtk_statusbar_get_context_id (GTK_STATUSBAR(sbar), "errors"); gtk_statusbar_pop (GTK_STATUSBAR(sbar), s_id); if (dvfd->size == 0) { gtk_statusbar_push (GTK_STATUSBAR(sbar), s_id, _("Empty file.")); return NULL; } return (gpointer)dvfd->content; } gchar * dv_get_data_content (const gchar * file, GtkWidget * widget) { guint s_id; GtkWidget *sbar; gchar *check; DVFileData *dvfd; DVContents *deb; deb = (DVContents*) lookup_widget (widget, DVCONTENTS); g_return_val_if_fail (deb, NULL); dvfd = (DVFileData*) g_hash_table_lookup (deb->data_files, file); if (!dvfd) { return NULL; } sbar = lookup_widget(GTK_WIDGET(widget), "dvstatusbar"); s_id = gtk_statusbar_get_context_id (GTK_STATUSBAR(sbar), "errors"); gtk_statusbar_pop (GTK_STATUSBAR(sbar), s_id); if (dvfd->size == 0) { gtk_statusbar_push (GTK_STATUSBAR(sbar), s_id, _("Empty file.")); return NULL; } check = dv_make_utf8((gchar*)dvfd->content); if (check == NULL) { gtk_statusbar_push (GTK_STATUSBAR(sbar), s_id, _("Error: Failed to convert the contents of " "the selected file to UTF-8.")); } return check; } gboolean quit_last_window (gpointer data) { gtk_widget_destroy (gtk_widget_get_toplevel(GTK_WIDGET(data))); return FALSE; } deb-gview-0.2.10/src/interface.h0000644000000000000000000000221010664102075013225 0ustar /*************************************************************************** * interface.h * * Wed May 30 11:26:08 2007 * Copyright 2007 Neil Williams * linux@codehelp.co.uk ****************************************************************************/ /* This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* with move to glade3, the glade2 xml is not necessary - using the generated C from glade2 from now on. */ GtkWidget* create_aboutdialog (void); GtkWidget* create_deb_gview_window (void); GtkWidget* create_dvpopmenu (void); deb-gview-0.2.10/src/support.h0000644000000000000000000000402511735677213013022 0ustar /*************************************************************************** * support.h * * Wed May 30 11:27:53 2007 * Copyright 2007 Neil Williams * linux@codehelp.co.uk ****************************************************************************/ /* This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* with move to glade3, the glade2 xml is not necessary - using the generated C from glade2 from now on. */ #ifdef HAVE_CONFIG_H # include #endif #include #include /* * Public Functions. */ /* * This function returns a widget in a component created by Glade. * Call it with the toplevel widget in the component (i.e. a window/dialog), * or alternatively any widget in the component, and the name of the widget * you want returned. */ GtkWidget* lookup_widget (GtkWidget *widget, const gchar *widget_name); /* * Private Functions. */ /* This is used to create the pixmaps used in the interface. */ GtkWidget* create_pixmap (GtkWidget *widget, const gchar *filename); /* This is used to create the pixbufs used in the interface. */ GdkPixbuf* create_pixbuf (const gchar *filename); /* This is used to set ATK action descriptions. */ void glade_set_atk_action_description (AtkAction *action, const gchar *action_name, const gchar *description); deb-gview-0.2.10/src/callbacks.h0000644000000000000000000000740011243200005013174 0ustar /*************************************************************************** * callbacks.h * * Sat Jul 29 14:15:17 2006 * Copyright 2006 Neil Williams * linux@codehelp.co.uk ****************************************************************************/ /* This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _CALLBACKS_H #define _CALLBACKS_H //#include enum { PKG_COLUMN, SIZE_COLUMN, LOCATION_COLUMN, N_COLUMNS }; void on_open_deb (GtkMenuItem *menuitem, gpointer user_data); void on_quit_activate (GtkMenuItem *menuitem, gpointer user_data); void on_ok_clicked (GtkButton *button, gpointer user_data); void on_about_activate (GtkMenuItem *menuitem, gpointer user_data); void on_treeview_row_activated (GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data); void on_dpkg_view_window_activate_default (GtkWidget *widget, gpointer user_data); gboolean on_dpkg_view_window_destroy_event (GtkWidget *widget, GdkEvent *event, gpointer user_data); void on_dpkg_view_window_destroy (GtkObject *object, gpointer user_data); #endif /* _CALLBACKS_H */ void on_dvtoolabout_clicked (GtkToolButton *toolbutton, gpointer user_data); void on_dvtoolopen_clicked (GtkToolButton *toolbutton, gpointer user_data); void on_dvtoolclose_clicked (GtkToolButton *toolbutton, gpointer user_data); void on_dvtoolnew_clicked (GtkToolButton *toolbutton, gpointer user_data); void on_dvnew_activate (GtkMenuItem *menuitem, gpointer user_data); void on_dvtoolquit_clicked (GtkToolButton *toolbutton, gpointer user_data); void on_close_activate (GtkMenuItem * menuitem, gpointer user_data); void on_dvexternal_activate (GtkMenuItem *menuitem, gpointer user_data); gboolean on_treeview_button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data); void on_dvopen_activate (GtkMenuItem *menuitem, gpointer user_data); void on_dvhelp_activate (GtkMenuItem *menuitem, gpointer user_data); void on_dvhelptoolbar_clicked (GtkToolButton *toolbutton, gpointer user_data); deb-gview-0.2.10/src/dvpreview.h0000644000000000000000000000310710664102075013306 0ustar /******************************************************************** * dvpreview.h * * Thu Sep 14 21:37:23 2006 * Copyright 2006 Neil Williams * linux@codehelp.co.uk *******************************************************************/ /* This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _DVPREVIEW_H #define _DVPREVIEW_H #include #include "dvarchive.h" /* Pass the uncompressed content to another application. param tmp_file The name of a temporary file containing the uncompressed content. param filename The original filename from the archive within the package - precisely as the file is inside the package. */ gboolean dv_file_spawn (const gchar * tmp_file, DVContents * deb); /* initialise the key file */ gboolean preview_init (void); /* shutdown the preview data table */ void preview_shutdown (void); void dv_spawn_external (GtkWidget * widget, DVContents * deb); gboolean dv_show_our_manpage (DVContents * deb); #endif /* _DVPREVIEW_H */ deb-gview-0.2.10/src/dvarchive.h0000644000000000000000000000453510771303310013246 0ustar /******************************************************************** * dvarchive.h * * Tue Aug 1 00:51:23 2006 * Copyright 2006, 2007 Neil Williams * linux@codehelp.co.uk ********************************************************************/ /* This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifndef _ARCHIVE_H #define _ARCHIVE_H #define DVCONTENTS "context" #include #include #include void set_dv_parent (GtkWidget *parent); void dv_archive_preload (GtkWidget *widget); typedef struct { GtkTreeStore *store; GtkTreeIter *parent_iter; GtkTreeIter *child_iter; } DVIter; typedef struct DV_s DVContents; DVContents * dv_create (void); void open_deb (DVContents * deb); GtkWidget * dv_get_parent (DVContents *deb); void dv_parse_changes (GFile * cfile, DVContents * deb); void set_deb_file (GFile * gfile, DVContents *deb); void dv_add_child (GtkWindow * child); guint dv_count_kids (void); void dv_remove_child (GtkWindow * child); void dv_archive_get_control (DVIter *dvi, DVContents *deb); void dv_archive_get_data (DVIter *dvi, DVContents *deb); void dv_archive_free (DVContents *deb); void dv_archive_clear (DVContents *deb); gchar * dv_get_control_content (const gchar * file, GtkWidget * widget); gchar * dv_get_data_content (const gchar * file, GtkWidget * widget); gboolean quit_last_window (gpointer data); const gchar * dv_get_selected_file (DVContents * deb); gchar * dv_get_working_path (DVContents * deb); void dv_set_working_path (DVContents * deb, gchar * path); gpointer dv_get_raw_content (DVContents * deb); gint64 dv_get_content_length (DVContents * deb); void dv_set_needs_uri (DVContents * deb, gboolean val); gboolean dv_get_needs_uri (DVContents * deb); #endif /* _ARCHIVE_H */ deb-gview-0.2.10/src/callbacks.c0000644000000000000000000002356311735672674013236 0ustar /******************************************************************** * callbacks.c * * Sat Jul 29 14:14:25 2006 * Copyright 2006, 2007 Neil Williams * linux@codehelp.co.uk ********************************************************************/ /* This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #ifdef HAVE_CONFIG_H # include #endif //#include #include "dvarchive.h" #include "callbacks.h" #include "interface.h" #include "support.h" #include "dvpreview.h" static void dv_close_window (GtkWidget *button) { dv_remove_child (GTK_WINDOW(gtk_widget_get_toplevel(button))); gtk_widget_destroy (gtk_widget_get_toplevel(button)); } void on_ok_clicked (GtkButton * button, gpointer data) { dv_close_window (GTK_WIDGET(button)); } static gchar * get_deb (DVContents *deb) { GtkWidget *chooser; GtkFileFilter *filter; gchar *filename; gchar * current_path; filename = NULL; g_return_val_if_fail (deb, NULL); chooser = gtk_file_chooser_dialog_new (_("Choose the Debian package file to view"), NULL, GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); current_path = dv_get_working_path (deb); if (current_path) { gchar * tmp; tmp = g_path_get_dirname(current_path); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (chooser), tmp); g_free (tmp); } else { gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (chooser), "/var/cache/apt/archives"); } filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Debian package files *.deb")); gtk_file_filter_add_pattern (filter, "*.deb"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(chooser), filter); filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Debian Installer packages *.udeb")); gtk_file_filter_add_pattern (filter, "*.udeb"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(chooser), filter); filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Debian translation packages *.tdeb")); gtk_file_filter_add_pattern (filter, "*.tdeb"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(chooser), filter); filter = gtk_file_filter_new (); gtk_file_filter_set_name (filter, _("Debian package changes *.changes")); gtk_file_filter_add_pattern (filter, "*.changes"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER(chooser), filter); if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_ACCEPT) { filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser)); } gtk_widget_destroy (chooser); dv_set_working_path (deb, filename); return filename; } void on_open_deb (GtkMenuItem * menuitem, gpointer user_data) { GFile * gfile; gchar *filename; DVContents *deb; deb = (DVContents*)lookup_widget (GTK_WIDGET(menuitem), "context"); g_return_if_fail(deb); filename = get_deb (deb); if (filename) { gfile = g_file_new_for_path (filename); set_deb_file (gfile, deb); open_deb (deb); g_free (filename); } } void on_close_activate (GtkMenuItem * menuitem, gpointer user_data) { DVContents *deb; deb = (DVContents*) lookup_widget (GTK_WIDGET(menuitem), DVCONTENTS); gtk_widget_destroy (dv_get_parent(deb)); } void on_quit_activate (GtkMenuItem * menuitem, gpointer user_data) { DVContents *deb; deb = (DVContents*) lookup_widget (GTK_WIDGET(menuitem), "context"); dv_archive_free (deb); gtk_main_quit (); } void on_about_activate (GtkMenuItem * menuitem, gpointer user_data) { GtkWidget *ab; ab = create_aboutdialog (); gtk_dialog_run (GTK_DIALOG(ab)); gtk_widget_destroy (ab); } void on_treeview_row_activated (GtkTreeView * treeview, GtkTreePath * path, GtkTreeViewColumn * column, gpointer user_data) { const gchar *file; gchar * text; GValue *value; GtkTreeIter iter; GtkTreeModel *model; value = g_new0 (GValue, 1); model = gtk_tree_view_get_model (treeview); gtk_tree_model_get_iter (model, &iter, path); gtk_tree_model_get_value (model, &iter, LOCATION_COLUMN, value); file = g_value_get_string (value); if (!file) { return; } text = dv_get_data_content (file, GTK_WIDGET(treeview)); if (text) { GtkWidget *display_area; GtkTextBuffer *buffer; display_area = lookup_widget (GTK_WIDGET(treeview), "display"); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (display_area)); gtk_text_buffer_set_text (buffer, text, -1); gtk_text_view_set_buffer (GTK_TEXT_VIEW(display_area), buffer); } else { text = dv_get_control_content (file, GTK_WIDGET(treeview)); if (text) { GtkWidget *display_area; GtkTextBuffer *buffer; display_area = lookup_widget (GTK_WIDGET(treeview), "display"); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (display_area)); gtk_text_buffer_set_text (buffer, text, -1); gtk_text_view_set_buffer (GTK_TEXT_VIEW(display_area), buffer); } } g_free (value); } void on_dpkg_view_window_activate_default (GtkWidget * widget, gpointer user_data) { dv_archive_preload (widget); } gboolean on_dpkg_view_window_destroy_event (GtkWidget * widget, GdkEvent * event, gpointer user_data) { DVContents *deb; deb = (DVContents*) lookup_widget (widget, "context"); dv_archive_free (deb); gtk_main_quit (); return FALSE; } void on_dpkg_view_window_destroy (GtkObject * object, gpointer user_data) { DVContents *deb; guint kids; deb = (DVContents*) lookup_widget (GTK_WIDGET(object), "context"); dv_remove_child (GTK_WINDOW(gtk_widget_get_toplevel (GTK_WIDGET(object)))); kids = dv_count_kids (); if (kids == 0) { dv_archive_free (deb); gtk_main_quit (); } } void on_dvtoolabout_clicked (GtkToolButton *toolbutton, gpointer user_data) { on_about_activate (NULL, NULL); } void on_dvtoolopen_clicked (GtkToolButton *toolbutton, gpointer user_data) { GtkWidget * parent; gchar *filename; DVContents *deb; GFile * gfile; deb = (DVContents*)lookup_widget (GTK_WIDGET(toolbutton), "context"); g_return_if_fail(deb); filename = dv_get_working_path (deb); filename = get_deb (deb); if (!filename) { return; } gfile = g_file_new_for_path (filename); if (!g_file_query_exists (gfile, NULL)) { return; } if (g_str_has_suffix(filename, ".changes")) { dv_parse_changes(gfile, deb); } else { parent = dv_get_parent(deb); dv_archive_clear (deb); g_object_set_data (G_OBJECT(parent), "context", deb); set_dv_parent (parent); set_deb_file (gfile, deb); open_deb (deb); g_free (filename); } } void on_dvtoolclose_clicked (GtkToolButton *toolbutton, gpointer user_data) { dv_close_window (GTK_WIDGET(toolbutton)); } static void new_window_init (GtkWidget *widget) { GtkWidget * window1; gchar * filename; DVContents * original, *deb; GFile * gfile; original = (DVContents*) lookup_widget (widget, DVCONTENTS); /* get the working path from the current context */ filename = dv_get_working_path (original); deb = dv_create (); /* insert it into the new context */ dv_set_working_path (deb, filename); filename = get_deb(deb); if (!filename) { return; } gfile = g_file_new_for_path (filename); if (!g_file_query_exists (gfile, NULL)) { return; } if (g_str_has_suffix(filename, ".changes")) { dv_parse_changes(gfile, deb); } else { window1 = create_deb_gview_window (); g_return_if_fail (window1); g_object_set_data (G_OBJECT(window1), "context", deb); set_dv_parent (GTK_WIDGET(window1)); gtk_widget_show (window1); dv_add_child (GTK_WINDOW(window1)); set_deb_file (gfile, deb); open_deb (deb); g_free(filename); } } void on_dvtoolnew_clicked (GtkToolButton *toolbutton, gpointer user_data) { new_window_init (GTK_WIDGET(toolbutton)); } void on_dvnew_activate (GtkMenuItem *menuitem, gpointer user_data) { new_window_init (GTK_WIDGET(menuitem)); } void on_dvtoolquit_clicked (GtkToolButton *toolbutton, gpointer user_data) { DVContents *deb; deb = (DVContents*) lookup_widget (GTK_WIDGET(toolbutton), DVCONTENTS); dv_archive_free (deb); gtk_main_quit(); } void on_dvexternal_activate (GtkMenuItem *menuitem, gpointer user_data) { DVContents * deb; deb = (DVContents*) lookup_widget (GTK_WIDGET(menuitem), DVCONTENTS); g_return_if_fail (deb); if (!dv_get_selected_file (deb)) { return; } dv_spawn_external (GTK_WIDGET(menuitem), deb); } gboolean on_treeview_button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer user_data) { DVContents *deb; deb = (DVContents*) lookup_widget (widget, DVCONTENTS); g_return_val_if_fail (deb, FALSE); if (!dv_get_selected_file (deb)) { return FALSE; } switch (event->button) { case 3 : { GtkWidget * pop; pop = create_dvpopmenu (); gtk_menu_attach_to_widget (GTK_MENU (pop), widget, NULL); gtk_menu_popup (GTK_MENU (pop), NULL, NULL, NULL, NULL, event->button, gtk_get_current_event_time ()); break; } } return FALSE; } void on_dvopen_activate (GtkMenuItem *menuitem, gpointer user_data) { DVContents * deb; deb = (DVContents*) lookup_widget (GTK_WIDGET(menuitem), DVCONTENTS); g_return_if_fail (deb); dv_spawn_external (GTK_WIDGET(menuitem), deb); } void on_dvhelp_activate (GtkMenuItem *menuitem, gpointer user_data) { DVContents * deb; deb = (DVContents*) lookup_widget (GTK_WIDGET(menuitem), DVCONTENTS); g_return_if_fail (deb); dv_show_our_manpage (deb); } void on_dvhelptoolbar_clicked (GtkToolButton *toolbutton, gpointer user_data) { DVContents * deb; deb = (DVContents*) lookup_widget (GTK_WIDGET(toolbutton), DVCONTENTS); g_return_if_fail (deb); dv_show_our_manpage (deb); } deb-gview-0.2.10/src/Makefile.am0000644000000000000000000000070111274141414013151 0ustar INCLUDES = $(PACKAGE_CFLAGS) AM_CFLAGS =\ -DLOCALE_DIR=\""$(datadir)/locale"\" \ ${warnFLAGS} \ -g bin_PROGRAMS = deb-gview deb_gview_SOURCES = \ dvarchive.c \ dvpreview.c \ support.c \ main.c \ interface.c \ callbacks.c EXTRA_DIST = \ dvarchive.h \ dvpreview.h \ support.h \ interface.h \ callbacks.h deb_gview_LDADD = $(PACKAGE_LIBS) deb_gview_LDFLAGS = \ -Wl,--export-dynamic -Wl,-z,defs -Wl,--as-needed deb-gview-0.2.10/src/interface.c0000644000000000000000000004377011735677713013260 0ustar /*************************************************************************** * interface.c * * Wed May 30 11:25:22 2007 * Copyright 2007 Neil Williams * linux@codehelp.co.uk ****************************************************************************/ /* This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* with move to glade3, the glade2 xml is not necessary - using the generated C from glade2 from now on. */ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #include #include "callbacks.h" #include "interface.h" #include "support.h" #define GLADE_HOOKUP_OBJECT(component,widget,name) \ g_object_set_data_full (G_OBJECT (component), name, \ gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ g_object_set_data (G_OBJECT (component), name, widget) GtkWidget* create_aboutdialog (void) { GtkWidget *aboutdialog; const gchar *authors[] = { "Upstream author:", "Neil Williams ", "Contributors:", "dpkg header code by ", "Ian Jackson ", NULL }; const gchar *documenters[] = { "Neil Williams", NULL }; /* TRANSLATORS: Replace this string with your names, one name per line. */ gchar *translators = _("translator-credits"); GdkPixbuf *aboutdialog_logo_pixbuf; aboutdialog = gtk_about_dialog_new (); gtk_about_dialog_set_version (GTK_ABOUT_DIALOG (aboutdialog), VERSION); gtk_about_dialog_set_program_name (GTK_ABOUT_DIALOG (aboutdialog), _("deb-gview")); gtk_about_dialog_set_copyright (GTK_ABOUT_DIALOG (aboutdialog), "Copyright 2006-2008 Neil Williams ,\n1994,1995 Ian Jackson "); gtk_about_dialog_set_comments (GTK_ABOUT_DIALOG (aboutdialog), _("Gtk/Gnome viewer for the contents of a .deb file")); gtk_about_dialog_set_license (GTK_ABOUT_DIALOG (aboutdialog), " This package is free software; you can redistribute it and/or modify\n" " it under the terms of the GNU General Public License as published by\n" " the Free Software Foundation; either version 3 of the License, or\n" " (at your option) any later version.\n" "\n" " This program is distributed in the hope that it will be useful,\n" " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" " GNU General Public License for more details.\n" "\n" " You should have received a copy of the GNU General Public License\n" " along with this program. If not, see .\n"); gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (aboutdialog), "http://dpkg-view.alioth.debian.org/"); gtk_about_dialog_set_website_label (GTK_ABOUT_DIALOG (aboutdialog), _("Homepage:")); gtk_about_dialog_set_authors (GTK_ABOUT_DIALOG (aboutdialog), authors); gtk_about_dialog_set_documenters (GTK_ABOUT_DIALOG (aboutdialog), documenters); gtk_about_dialog_set_translator_credits (GTK_ABOUT_DIALOG (aboutdialog), translators); aboutdialog_logo_pixbuf = create_pixbuf ("deb-gview.xpm"); gtk_about_dialog_set_logo (GTK_ABOUT_DIALOG (aboutdialog), aboutdialog_logo_pixbuf); gtk_window_set_icon (GTK_WINDOW (aboutdialog), aboutdialog_logo_pixbuf); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (aboutdialog, aboutdialog, "aboutdialog"); return aboutdialog; } GtkWidget* create_deb_gview_window (void) { GtkWidget *deb_gview_window; GdkPixbuf *deb_gview_window_icon_pixbuf; GtkWidget *vbox1, *vbox2, *hbox6, *vbox4; GtkWidget *menubar1, *dvmenufile, *dvmenufile_menu; GtkWidget *dvnew, *open, *dvseparatorf; GtkWidget *quit, *close; GtkWidget *dfview, *dfview_menu, *dvexternal, *dvhelp, *dvhelp_menu; GtkWidget *dvhelpmenu, *image1, *about, *dvtoolbar; GtkWidget *dvtoolnew, *separatortoolitem1, *dvtoolopen, *separatortoolitem3; GtkWidget *dvtoolabout, *separatortoolitem2, *dvhelptoolbar, *separatortoolitem4; GtkWidget *dvtoolclose, *dvtoolquit, *hbox4; GtkWidget *dvhpane; GtkWidget *scrolledwindow1; GtkWidget *treeview; GtkWidget *scrolledwindow2; GtkWidget *display; GtkWidget *vbox3; GtkWidget *dvstatusbar; GtkAccelGroup *accel_group; GtkTooltips *tooltips; tooltips = gtk_tooltips_new (); accel_group = gtk_accel_group_new (); deb_gview_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_size_request (deb_gview_window, 600, 400); gtk_window_set_title (GTK_WINDOW (deb_gview_window), _("Debian package file viewer")); deb_gview_window_icon_pixbuf = create_pixbuf ("deb-gview.xpm"); if (deb_gview_window_icon_pixbuf) { gtk_window_set_icon (GTK_WINDOW (deb_gview_window), deb_gview_window_icon_pixbuf); g_object_unref (deb_gview_window_icon_pixbuf); } vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (deb_gview_window), vbox1); vbox2 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox2); gtk_box_pack_start (GTK_BOX (vbox1), vbox2, TRUE, TRUE, 0); hbox6 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox6); gtk_box_pack_start (GTK_BOX (vbox2), hbox6, FALSE, FALSE, 0); vbox4 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox4); gtk_box_pack_start (GTK_BOX (hbox6), vbox4, TRUE, TRUE, 0); menubar1 = gtk_menu_bar_new (); gtk_widget_show (menubar1); gtk_box_pack_start (GTK_BOX (vbox4), menubar1, FALSE, FALSE, 0); dvmenufile = gtk_menu_item_new_with_mnemonic (_("_File")); gtk_widget_show (dvmenufile); gtk_container_add (GTK_CONTAINER (menubar1), dvmenufile); dvmenufile_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (dvmenufile), dvmenufile_menu); dvnew = gtk_image_menu_item_new_from_stock ("gtk-new", accel_group); gtk_widget_show (dvnew); gtk_container_add (GTK_CONTAINER (dvmenufile_menu), dvnew); open = gtk_image_menu_item_new_from_stock ("gtk-open", accel_group); gtk_widget_show (open); gtk_container_add (GTK_CONTAINER (dvmenufile_menu), open); dvseparatorf = gtk_separator_menu_item_new (); gtk_widget_show (dvseparatorf); gtk_container_add (GTK_CONTAINER (dvmenufile_menu), dvseparatorf); gtk_widget_set_sensitive (dvseparatorf, FALSE); close = gtk_image_menu_item_new_from_stock ("gtk-close", accel_group); gtk_widget_show (close); gtk_container_add (GTK_CONTAINER (dvmenufile_menu), close); quit = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group); gtk_widget_show (quit); gtk_container_add (GTK_CONTAINER (dvmenufile_menu), quit); dfview = gtk_menu_item_new_with_mnemonic (_("_View")); gtk_widget_show (dfview); gtk_container_add (GTK_CONTAINER (menubar1), dfview); dfview_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (dfview), dfview_menu); dvexternal = gtk_menu_item_new_with_mnemonic (_("E_xternal")); gtk_widget_show (dvexternal); gtk_container_add (GTK_CONTAINER (dfview_menu), dvexternal); gtk_widget_add_accelerator (dvexternal, "activate", accel_group, GDK_V, (GdkModifierType) GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); dvhelp = gtk_menu_item_new_with_mnemonic (_("_Help")); gtk_widget_show (dvhelp); gtk_container_add (GTK_CONTAINER (menubar1), dvhelp); dvhelp_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (dvhelp), dvhelp_menu); dvhelpmenu = gtk_image_menu_item_new_with_mnemonic (_("_Help")); gtk_widget_show (dvhelpmenu); gtk_container_add (GTK_CONTAINER (dvhelp_menu), dvhelpmenu); gtk_widget_add_accelerator (dvhelpmenu, "activate", accel_group, GDK_F1, (GdkModifierType) 0, GTK_ACCEL_VISIBLE); image1 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU); gtk_widget_show (image1); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (dvhelpmenu), image1); about = gtk_image_menu_item_new_from_stock ("gtk-about", accel_group); gtk_widget_show (about); gtk_container_add (GTK_CONTAINER (dvhelp_menu), about); dvtoolbar = gtk_toolbar_new (); gtk_widget_show (dvtoolbar); gtk_box_pack_start (GTK_BOX (vbox4), dvtoolbar, FALSE, FALSE, 0); gtk_toolbar_set_style (GTK_TOOLBAR (dvtoolbar), GTK_TOOLBAR_BOTH); gtk_toolbar_get_icon_size (GTK_TOOLBAR (dvtoolbar)); dvtoolnew = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-new"); gtk_widget_show (dvtoolnew); gtk_container_add (GTK_CONTAINER (dvtoolbar), dvtoolnew); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (dvtoolnew), tooltips, _("Open a .deb package in a new view window."), NULL); separatortoolitem1 = (GtkWidget*) gtk_separator_tool_item_new (); gtk_widget_show (separatortoolitem1); gtk_container_add (GTK_CONTAINER (dvtoolbar), separatortoolitem1); dvtoolopen = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-open"); gtk_widget_show (dvtoolopen); gtk_container_add (GTK_CONTAINER (dvtoolbar), dvtoolopen); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (dvtoolopen), tooltips, _("Open a .deb package in this window."), NULL); separatortoolitem3 = (GtkWidget*) gtk_separator_tool_item_new (); gtk_widget_show (separatortoolitem3); gtk_container_add (GTK_CONTAINER (dvtoolbar), separatortoolitem3); dvtoolabout = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-about"); gtk_widget_show (dvtoolabout); gtk_container_add (GTK_CONTAINER (dvtoolbar), dvtoolabout); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (dvtoolabout), tooltips, _("About deb-gview"), NULL); separatortoolitem2 = (GtkWidget*) gtk_separator_tool_item_new (); gtk_widget_show (separatortoolitem2); gtk_container_add (GTK_CONTAINER (dvtoolbar), separatortoolitem2); dvhelptoolbar = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-help"); gtk_widget_show (dvhelptoolbar); gtk_container_add (GTK_CONTAINER (dvtoolbar), dvhelptoolbar); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (dvhelptoolbar), tooltips, _("Show the deb-gview manpage."), NULL); separatortoolitem4 = (GtkWidget*) gtk_separator_tool_item_new (); gtk_widget_show (separatortoolitem4); gtk_container_add (GTK_CONTAINER (dvtoolbar), separatortoolitem4); dvtoolclose = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-close"); gtk_widget_show (dvtoolclose); gtk_container_add (GTK_CONTAINER (dvtoolbar), dvtoolclose); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (dvtoolclose), tooltips, _("Close this view window."), NULL); dvtoolquit = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-quit"); gtk_widget_show (dvtoolquit); gtk_container_add (GTK_CONTAINER (dvtoolbar), dvtoolquit); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (dvtoolquit), tooltips, _("Quit all windows."), NULL); hbox4 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox4); gtk_box_pack_start (GTK_BOX (vbox2), hbox4, TRUE, TRUE, 0); dvhpane = gtk_hpaned_new (); gtk_widget_show (dvhpane); gtk_box_pack_start (GTK_BOX (hbox4), dvhpane, TRUE, TRUE, 0); gtk_paned_set_position (GTK_PANED (dvhpane), 300); scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow1); gtk_paned_pack1 (GTK_PANED (dvhpane), scrolledwindow1, FALSE, TRUE); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_SHADOW_IN); treeview = gtk_tree_view_new (); gtk_widget_show (treeview); gtk_container_add (GTK_CONTAINER (scrolledwindow1), treeview); gtk_tooltips_set_tip (tooltips, treeview, _("Activate to view content, right click to open in an external viewer."), NULL); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (treeview), TRUE); gtk_tree_view_set_reorderable (GTK_TREE_VIEW (treeview), TRUE); scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow2); gtk_paned_pack2 (GTK_PANED (dvhpane), scrolledwindow2, TRUE, TRUE); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_SHADOW_IN); display = gtk_text_view_new (); gtk_widget_show (display); gtk_container_add (GTK_CONTAINER (scrolledwindow2), display); gtk_text_view_set_editable (GTK_TEXT_VIEW (display), FALSE); gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (display), GTK_WRAP_WORD); gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (display), FALSE); vbox3 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox3); gtk_box_pack_start (GTK_BOX (vbox2), vbox3, FALSE, FALSE, 0); dvstatusbar = gtk_statusbar_new (); gtk_widget_show (dvstatusbar); gtk_box_pack_end (GTK_BOX (vbox3), dvstatusbar, FALSE, FALSE, 0); g_signal_connect ((gpointer) deb_gview_window, "show", G_CALLBACK (on_dpkg_view_window_activate_default), NULL); g_signal_connect ((gpointer) deb_gview_window, "destroy_event", G_CALLBACK (on_dpkg_view_window_destroy_event), NULL); g_signal_connect ((gpointer) deb_gview_window, "destroy", G_CALLBACK (on_dpkg_view_window_destroy), NULL); g_signal_connect ((gpointer) dvnew, "activate", G_CALLBACK (on_dvnew_activate), NULL); g_signal_connect ((gpointer) open, "activate", G_CALLBACK (on_open_deb), NULL); g_signal_connect ((gpointer) close, "activate", G_CALLBACK (on_close_activate), NULL); g_signal_connect ((gpointer) quit, "activate", G_CALLBACK (on_quit_activate), NULL); g_signal_connect ((gpointer) dvexternal, "activate", G_CALLBACK (on_dvexternal_activate), NULL); g_signal_connect ((gpointer) dvhelpmenu, "activate", G_CALLBACK (on_dvhelp_activate), NULL); g_signal_connect ((gpointer) about, "activate", G_CALLBACK (on_about_activate), NULL); g_signal_connect ((gpointer) dvtoolnew, "clicked", G_CALLBACK (on_dvtoolnew_clicked), NULL); g_signal_connect ((gpointer) dvtoolopen, "clicked", G_CALLBACK (on_dvtoolopen_clicked), NULL); g_signal_connect ((gpointer) dvtoolabout, "clicked", G_CALLBACK (on_dvtoolabout_clicked), NULL); g_signal_connect ((gpointer) dvhelptoolbar, "clicked", G_CALLBACK (on_dvhelptoolbar_clicked), NULL); g_signal_connect ((gpointer) dvtoolclose, "clicked", G_CALLBACK (on_dvtoolclose_clicked), NULL); g_signal_connect ((gpointer) dvtoolquit, "clicked", G_CALLBACK (on_dvtoolquit_clicked), NULL); g_signal_connect ((gpointer) treeview, "row_activated", G_CALLBACK (on_treeview_row_activated), NULL); g_signal_connect ((gpointer) treeview, "button_press_event", G_CALLBACK (on_treeview_button_press_event), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (deb_gview_window, deb_gview_window, "deb_gview_window"); GLADE_HOOKUP_OBJECT (deb_gview_window, vbox1, "vbox1"); GLADE_HOOKUP_OBJECT (deb_gview_window, vbox2, "vbox2"); GLADE_HOOKUP_OBJECT (deb_gview_window, hbox6, "hbox6"); GLADE_HOOKUP_OBJECT (deb_gview_window, vbox4, "vbox4"); GLADE_HOOKUP_OBJECT (deb_gview_window, menubar1, "menubar1"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvmenufile, "dvmenufile"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvmenufile_menu, "dvmenufile_menu"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvnew, "dvnew"); GLADE_HOOKUP_OBJECT (deb_gview_window, open, "open"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvseparatorf, "dvseparatorf"); GLADE_HOOKUP_OBJECT (deb_gview_window, quit, "quit"); GLADE_HOOKUP_OBJECT (deb_gview_window, dfview, "dfview"); GLADE_HOOKUP_OBJECT (deb_gview_window, dfview_menu, "dfview_menu"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvexternal, "dvexternal"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvhelp, "dvhelp"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvhelp_menu, "dvhelp_menu"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvhelpmenu, "dvhelpmenu"); GLADE_HOOKUP_OBJECT (deb_gview_window, image1, "image1"); GLADE_HOOKUP_OBJECT (deb_gview_window, about, "about"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvtoolbar, "dvtoolbar"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvtoolnew, "dvtoolnew"); GLADE_HOOKUP_OBJECT (deb_gview_window, separatortoolitem1, "separatortoolitem1"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvtoolopen, "dvtoolopen"); GLADE_HOOKUP_OBJECT (deb_gview_window, separatortoolitem3, "separatortoolitem3"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvtoolabout, "dvtoolabout"); GLADE_HOOKUP_OBJECT (deb_gview_window, separatortoolitem2, "separatortoolitem2"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvhelptoolbar, "dvhelptoolbar"); GLADE_HOOKUP_OBJECT (deb_gview_window, separatortoolitem4, "separatortoolitem4"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvtoolclose, "dvtoolclose"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvtoolquit, "dvtoolquit"); GLADE_HOOKUP_OBJECT (deb_gview_window, hbox4, "hbox4"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvhpane, "dvhpane"); GLADE_HOOKUP_OBJECT (deb_gview_window, scrolledwindow1, "scrolledwindow1"); GLADE_HOOKUP_OBJECT (deb_gview_window, treeview, "treeview"); GLADE_HOOKUP_OBJECT (deb_gview_window, scrolledwindow2, "scrolledwindow2"); GLADE_HOOKUP_OBJECT (deb_gview_window, display, "display"); GLADE_HOOKUP_OBJECT (deb_gview_window, vbox3, "vbox3"); GLADE_HOOKUP_OBJECT (deb_gview_window, dvstatusbar, "dvstatusbar"); GLADE_HOOKUP_OBJECT_NO_REF (deb_gview_window, tooltips, "tooltips"); gtk_window_add_accel_group (GTK_WINDOW (deb_gview_window), accel_group); return deb_gview_window; } GtkWidget* create_dvpopmenu (void) { GtkWidget *dvpopmenu; GtkWidget *dvopen; GtkAccelGroup *accel_group; accel_group = gtk_accel_group_new (); dvpopmenu = gtk_menu_new (); dvopen = gtk_menu_item_new_with_mnemonic (_("E_xternal")); gtk_widget_show (dvopen); gtk_container_add (GTK_CONTAINER (dvpopmenu), dvopen); gtk_widget_add_accelerator (dvopen, "activate", accel_group, GDK_V, (GdkModifierType) GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); g_signal_connect ((gpointer) dvopen, "activate", G_CALLBACK (on_dvopen_activate), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (dvpopmenu, dvpopmenu, "dvpopmenu"); GLADE_HOOKUP_OBJECT (dvpopmenu, dvopen, "dvopen"); gtk_menu_set_accel_group (GTK_MENU (dvpopmenu), accel_group); return dvpopmenu; } deb-gview-0.2.10/desktop/0000755000000000000000000000000012150372712012002 5ustar deb-gview-0.2.10/desktop/deb-gview.xpm0000644000000000000000000002543410475545173014424 0ustar /* XPM */ static char * gnome_mime_application_x_deb_xpm[] = { "32 32 549 2", " c None", ". c #AEA594", "+ c #675834", "@ c #C6C2B8", "# c #B5AA8A", "$ c #9D9377", "% c #ACA697", "& c #B1A68A", "* c #A69874", "= c #907F50", "- c #3C321B", "; c #CECAC0", "> c #D4CDB7", ", c #CAC1A1", "' c #B9AE89", ") c #A89D7E", "! c #9F9A8A", "~ c #B6B0A2", "{ c #BCB299", "] c #ACA07E", "^ c #A3946D", "/ c #9E8C5B", "( c #998752", "_ c #8E7D3E", ": c #38331B", "< c #D4CDB9", "[ c #CDC4A5", "} c #C1B58F", "| c #B0A788", "1 c #8F8770", "2 c #B3AD9F", "3 c #BEB5A0", "4 c #B4A887", "5 c #AB9D79", "6 c #A5976D", "7 c #A0905D", "8 c #9A8953", "9 c #95844E", "0 c #918046", "a c #7F6F32", "b c #373014", "c c #B9B6AF", "d c #D1CCC0", "e c #D5CDB6", "f c #CABF9F", "g c #C0B592", "h c #ABA181", "i c #9D9785", "j c #ADA898", "k c #C5BBA3", "l c #B2A582", "m c #AFA17B", "n c #AC9D75", "o c #A6966C", "p c #A49466", "q c #9F8E59", "r c #998650", "s c #8F7E44", "t c #8C7A3D", "u c #8C793A", "v c #84702C", "w c #372C0E", "x c #C0BDB6", "y c #D4CFC2", "z c #D2C9B2", "A c #CDC2A4", "B c #C7BB98", "C c #C3B894", "D c #A7A08B", "E c #AFAA9C", "F c #C9C2B0", "G c #B9AD8D", "H c #AC9E77", "I c #AB9C74", "J c #AA9B72", "K c #A5966B", "L c #A39364", "M c #9E8C57", "N c #97834C", "O c #907E41", "P c #8C793C", "Q c #8A7734", "R c #8B783E", "S c #7F692E", "T c #4C350E", "U c #DEDAD0", "V c #D5CFBD", "W c #C8BEA2", "X c #C6BB9B", "Y c #C4B895", "Z c #C1B693", "` c #A19775", " . c #B5AFA0", ".. c #C9C1AD", "+. c #AC9D76", "@. c #AB9D75", "#. c #A99B72", "$. c #A89971", "%. c #A59569", "&. c #A29160", "*. c #9D8A53", "=. c #96834C", "-. c #917E45", ";. c #8E7C40", ">. c #8B7738", ",. c #85702C", "'. c #755916", "). c #533613", "!. c #E7E3DA", "~. c #A8A498", "{. c #C7C1AF", "]. c #D8D2C2", "^. c #CEC6AE", "/. c #C2B89C", "(. c #A09779", "_. c #CCC4B1", ":. c #B3A684", "<. c #AB9C75", "[. c #AA9B73", "}. c #A6996F", "|. c #A6986F", "1. c #A39366", "2. c #A1905E", "3. c #9B8852", "4. c #98844D", "5. c #948249", "6. c #8F7C40", "7. c #7E6820", "8. c #6B4D13", "9. c #5B1E11", "0. c #2D1414", "a. c #D3CDB3", "b. c #DAD3BB", "c. c #D6D1C0", "d. c #A5A298", "e. c #9D988D", "f. c #B2AA98", "g. c #ABA28D", "h. c #998B6D", "i. c #AD9D8F", "j. c #CDC5B2", "k. c #B4A785", "l. c #AA9C76", "m. c #A89972", "n. c #A6986E", "o. c #A49569", "p. c #A39262", "q. c #A1905C", "r. c #9D8B56", "s. c #97844C", "t. c #87732F", "u. c #776016", "v. c #633812", "w. c #5C1E11", "x. c #733B16", "y. c #372716", "z. c #CDC5A6", "A. c #C1B687", "B. c #C7BD94", "C. c #D1CAAB", "D. c #CDCABF", "E. c #9D988A", "F. c #77715D", "G. c #7D6128", "H. c #6B3E25", "I. c #86837D", "J. c #AEA17D", "K. c #A79870", "L. c #A49567", "M. c #A29060", "N. c #A08F5B", "O. c #968346", "P. c #857126", "Q. c #715815", "R. c #663213", "S. c #6A2A13", "T. c #6D2F14", "U. c #733C16", "V. c #372816", "W. c #CDC4A3", "X. c #C1B686", "Y. c #C0B484", "Z. c #BEB280", "`. c #BDB17E", " + c #D2CAAB", ".+ c #DFDAC6", "++ c #A8A49C", "@+ c #8D8160", "#+ c #654A33", "$+ c #86736A", "%+ c #B3A787", "&+ c #A6966D", "*+ c #A39467", "=+ c #9D8C57", "-+ c #8F7B3F", ";+ c #7A6117", ">+ c #673F13", ",+ c #691E13", "'+ c #6F1E14", ")+ c #733115", "!+ c #763916", "~+ c #7A4817", "{+ c #3A2A17", "]+ c #CFC7A5", "^+ c #C2B789", "/+ c #C0B485", "(+ c #BDAD80", "_+ c #BBA67B", ":+ c #BBA677", "<+ c #C0B084", "[+ c #CEC4A2", "}+ c #D4D0C0", "|+ c #C2BBAD", "1+ c #8A7768", "2+ c #AB9C7C", "3+ c #C3BAA2", "4+ c #AA9E79", "5+ c #998957", "6+ c #8A7631", "7+ c #765A1C", "8+ c #662513", "9+ c #6D1C14", "0+ c #742316", "a+ c #773316", "b+ c #7D4717", "c+ c #804A18", "d+ c #835618", "e+ c #3C2D17", "f+ c #D1C9A7", "g+ c #C4B38A", "h+ c #B46D5A", "i+ c #A0070A", "j+ c #9F191C", "k+ c #9D131B", "l+ c #A73028", "m+ c #B8896E", "n+ c #B9A976", "o+ c #D3CCB3", "p+ c #BBB8AD", "q+ c #DBD8D1", "r+ c #A29778", "s+ c #836F35", "t+ c #6A3814", "u+ c #671713", "v+ c #741615", "w+ c #761E16", "x+ c #7C3717", "y+ c #804618", "z+ c #875219", "A+ c #8B581A", "B+ c #8B601A", "C+ c #3E3017", "D+ c #D2CAA9", "E+ c #C18C77", "F+ c #A80F18", "G+ c #B7735E", "H+ c #BA9074", "I+ c #B78871", "J+ c #AC6553", "K+ c #AA173F", "L+ c #AF7A57", "M+ c #B9AB76", "N+ c #B8A974", "O+ c #C7BD9C", "P+ c #DCD7CB", "Q+ c #C2BAA7", "R+ c #774225", "S+ c #6E1414", "T+ c #741515", "U+ c #771A16", "V+ c #7C2F17", "W+ c #824318", "X+ c #885019", "Y+ c #8E5B1A", "Z+ c #8F5F1A", "`+ c #90641A", " @ c #403318", ".@ c #D3CCAD", "+@ c #C27E77", "@@ c #B02950", "#@ c #C4B88D", "$@ c #C2B78A", "%@ c #BFB082", "&@ c #B9A77C", "*@ c #B9A078", "=@ c #A24136", "-@ c #B07556", ";@ c #B8A675", ">@ c #B8AA77", ",@ c #D4CEB4", "'@ c #C1A093", ")@ c #7B1A17", "!@ c #7A1717", "~@ c #7A1916", "{@ c #7C2417", "]@ c #813A18", "^@ c #894E1A", "/@ c #905C1B", "(@ c #96631C", "_@ c #95681C", ":@ c #936C1D", "<@ c #41341A", "[@ c #D5CDAF", "}@ c #C47F7C", "|@ c #B44C5B", "1@ c #C4BA8E", "2@ c #B38E73", "3@ c #AC876D", "4@ c #BAA57B", "5@ c #B79B75", "6@ c #A70F2B", "7@ c #AE7856", "8@ c #B8AA75", "9@ c #CDC5A4", "0@ c #C7A89D", "a@ c #7C2117", "b@ c #7B1717", "c@ c #7C1F17", "d@ c #803518", "e@ c #864619", "f@ c #8F581A", "g@ c #95631C", "h@ c #9B6C1D", "i@ c #9A6D1C", "j@ c #977023", "k@ c #42361F", "l@ c #D6CEB1", "m@ c #C8B292", "n@ c #B1455A", "o@ c #C5B98F", "p@ c #C4B98E", "q@ c #B38A73", "r@ c #BDAC84", "s@ c #BEB083", "t@ c #BCAE7F", "u@ c #AF6957", "v@ c #A22E31", "w@ c #B8A776", "x@ c #CEC5A3", "y@ c #C9ABA0", "z@ c #812A18", "A@ c #7E2217", "B@ c #812C18", "C@ c #87431A", "D@ c #8E4F1A", "E@ c #945F1C", "F@ c #9B691D", "G@ c #9F721E", "H@ c #9E7320", "I@ c #9D7830", "J@ c #433824", "K@ c #D7CFB3", "L@ c #CABB96", "M@ c #B13937", "N@ c #C0A084", "O@ c #C5BC91", "P@ c #B07B6D", "Q@ c #BBA180", "R@ c #C2B689", "S@ c #B99174", "T@ c #A51A37", "U@ c #B9A677", "V@ c #CDC3A1", "W@ c #CBAEA1", "X@ c #843219", "Y@ c #832F19", "Z@ c #853719", "`@ c #8D4A1A", " # c #91551B", ".# c #98641C", "+# c #9E6D1E", "@# c #A1741E", "## c #9F7625", "$# c #9E7A34", "%# c #443825", "&# c #D8D0B4", "*# c #CDC29E", "=# c #C39584", "-# c #BA5D6B", ";# c #C5BB93", "># c #C2A587", ",# c #BA7676", "'# c #BDA983", ")# c #BBA880", "!# c #BA9D79", "~# c #A42621", "{# c #BBA87A", "]# c #CBC19E", "^# c #CDB1A1", "/# c #893B1A", "(# c #893B19", "_# c #8B431A", ":# c #91501B", "<# c #955B1C", "[# c #9A671D", "}# c #9F6F1E", "|# c #A27620", "1# c #A17A2B", "2# c #A07E40", "3# c #443927", "4# c #D8D2B7", "5# c #CEC4A0", "6# c #CBBE9C", "7# c #B6666C", "8# c #C4AE8F", "9# c #C6BD94", "0# c #BF9082", "a# c #BB8D78", "b# c #B68D75", "c# c #A45A52", "d# c #9F3031", "e# c #BDAC7E", "f# c #CBC19D", "g# c #CFB4A2", "h# c #B58A77", "i# c #C8ADA5", "j# c #C9B0A5", "k# c #CAB4A6", "l# c #CCB8A6", "m# c #CDBCA6", "n# c #CFBEA7", "o# c #CFC0A9", "p# c #CFC2AC", "q# c #CFC3B2", "r# c #B0ACAA", "s# c #C7C6CB", "t# c #D9D8DE", "u# c #E2E1E7", "v# c #E5E4EA", "w# c #C2C0C4", "x# c #DBD3BA", "y# c #CFC7A4", "z# c #CDC4A0", "A# c #C3948A", "B# c #B95F72", "C# c #C9BF98", "D# c #C6BD93", "E# c #C2B08A", "F# c #B99A7D", "G# c #B59278", "H# c #BBA580", "I# c #CDC3A0", "J# c #CFB5A2", "K# c #736D8F", "L# c #9692AB", "M# c #9590AA", "N# c #8D88A4", "O# c #6D6689", "P# c #625B81", "Q# c #938FA9", "R# c #7E7998", "S# c #46415C", "T# c #08070B", "U# c #B2A885", "V# c #CFC6A3", "W# c #CCC09E", "X# c #BF8882", "Y# c #BC9081", "Z# c #C9BD97", "`# c #C3B98E", " $ c #C2B78B", ".$ c #C2B788", "+$ c #D0B6A2", "@$ c #CAB2A6", "#$ c #FFFFFF", "$$ c #9994AD", "%$ c #C6C3D1", "&$ c #BEBBCB", "*$ c #6E678A", "=$ c #B9B6C7", "-$ c #C3C1CF", ";$ c #E3E2E9", ">$ c #544623", ",$ c #9E926A", "'$ c #C8BE98", ")$ c #CEC3A0", "!$ c #BF9A86", "~$ c #C19F88", "{$ c #C8BD94", "]$ c #C6BB90", "^$ c #C5BA8F", "/$ c #C4B88B", "($ c #D1B6A2", "_$ c #CBB2A6", ":$ c #F9F8FA", "<$ c #908BA6", "[$ c #C7C5D2", "}$ c #D7D6DF", "|$ c #736947", "1$ c #B4A77A", "2$ c #CDBE9D", "3$ c #C7AD90", "4$ c #CBC19B", "5$ c #C7BD93", "6$ c #C5BA8E", "7$ c #CFC6A5", "8$ c #CBB3A6", "9$ c #6D678A", "0$ c #F8F8F9", "a$ c #8F8AA5", "b$ c #C5C2D0", "c$ c #E2E1E8", "d$ c #857648", "e$ c #B0A277", "f$ c #CAC098", "g$ c #CCC29B", "h$ c #C8BE94", "i$ c #CFC6A4", "j$ c #D1B7A1", "k$ c #CCB3A6", "l$ c #9995AD", "m$ c #BCB9C9", "n$ c #D8D6E0", "o$ c #40361D", "p$ c #958451", "q$ c #C1B589", "r$ c #CBC19A", "s$ c #C7BD92", "t$ c #CEC5A1", "u$ c #9591AA", "v$ c #6C6589", "w$ c #928DA7", "x$ c #777192", "y$ c #50451F", "z$ c #948758", "A$ c #BDB082", "B$ c #C8BE96", "C$ c #D2CAAA", "D$ c #D0B7A1", "E$ c #8A6244", "F$ c #251612", "G$ c #110B0F", "H$ c #0A0A0E", "I$ c #0B0A0F", "J$ c #0B0B10", "K$ c #0C0B10", "L$ c #060608", "M$ c #211D10", "N$ c #634F2A", "O$ c #AA9C64", "P$ c #CCC3A2", "Q$ c #964F1C", "R$ c #38140B", "S$ c #0D0505", "T$ c #201807", "U$ c #7A6F4D", "V$ c #AE9B88", "W$ c #342113", "X$ c #42403D", " . + ", " @ # $ % & * = - ", " ; > , ' ) ! ~ { ] ^ / ( _ : ", " ; < [ } | 1 2 3 4 5 6 7 8 9 0 a b ", " c d e f g h i j k l m n o p q r s t u v w ", " x y z A B C D E F G H H I J K L M N O P Q R S T ", " U V W X Y Z ` ...I +.@.I #.$.%.&.*.=.-.;.>.,.'.). ", " !.~.{.].^./.(.j _.:.<.I [.}.|.1.2.3.4.5.6.7.8.9.0. ", " a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y. ", " z.A.B.C.D.E.F.G.H.I.j.J.K.6 L.M.N.O.P.Q.R.S.T.U.V. ", " W.X.Y.Z.`. +.+++@+#+$+_.%+&+*+=+-+;+>+,+'+)+!+~+{+ ", " ]+^+/+(+_+:+<+[+}+|+1+2+3+4+5+6+7+8+9+0+a+b+c+d+e+ ", " f+g+h+i+j+k+l+m+n+B.o+p+q+r+s+t+u+v+w+x+y+z+A+B+C+ ", " D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+`+ @ ", " .@+@@@#@$@%@&@*@=@-@;@>@,@'@)@!@~@{@]@^@/@(@_@:@<@ ", " [@}@|@1@#@2@3@4@5@6@7@8@9@0@a@b@c@d@e@f@g@h@i@j@k@ ", " l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@A@B@C@D@E@F@G@H@I@J@ ", " K@L@M@N@O@P@Q@R@s@S@T@U@V@W@X@Y@Z@`@ #.#+#@###$#%# ", " &#*#=#-#;#>#,#'#)#!#~#{#]#^#/#(#_#:#<#[#}#|#1#2#3# ", " 4#5#6#7#8#9#0#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w# ", " x#y#z#A#B#C#D#E#F#G#H#/+I#J#j#K#L#M#N#O#P#L#L#L#K#L#L#Q#R#S#T#", " U#V#y#W#X#Y#Z#D#O@`# $.$z#+$@$L##$$$%$&$*$#$=$L#K##$=$-$;$S#T#", " >$,$'$)$!$~$'${$]$^$/$x@($_$L##$P#*$:$<$#$=$L#K##$=$[$}$S#T#", " |$1$2$3$4$C#5$]$6$7$+$8$L##$P#9$0$a$#$=$L#K##$=$b$c$S#T#", " d$e$f$g$C#h$]$i$j$k$L##$l$b$m$9$#$=$L#K##$=$-$n$S#T#", " o$p$q$r$C#s$t$j$k$K#L#u$N#v$P#L#L#L#K#L#L#w$x$S#T#", " y$z$A$B$C$D$E$F$G$H$I$I$J$K$K$K$K$K$K$K$K$K$L$", " M$N$O$P$D$Q$R$S$ ", " T$U$V$W$ ", " X$ ", " ", " "}; deb-gview-0.2.10/desktop/nautilus-action.xml0000644000000000000000000000666411342444313015656 0ustar version 1.1 label View changes file tooltip View .deb packages listed in .changes file icon /usr/share/pixmaps/deb-gview.xpm enabled true items profile-zero type Action target-selection true target-background false target-toolbar true toolbar-same-label true toolbar-label View changes file profile-zero/desc-name New profile profile-zero/path /usr/bin/deb-gview profile-zero/parameters %u profile-zero/basenames *.changes profile-zero/matchcase true profile-zero/mimetypes */* profile-zero/isfile true profile-zero/isdir false profile-zero/accept-multiple-files false profile-zero/schemes file sftp ftp profile-zero/folders * deb-gview-0.2.10/desktop/Makefile.am0000644000000000000000000000066110475545173014054 0ustar gnomemenudir = $(prefix)/share/applications gnomemenu_DATA = deb-gview.desktop desktopdir = $(datadir)/applications desktop_in_files = deb-gview.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@ pixmaps_DATA = deb-gview.xpm pixmapsdir = $(prefix)/share/pixmaps BUILT_SOURCES = deb-gview.desktop EXTRA_DIST = \ $(pixmaps_DATA) \ ${desktop_DATA} clean-local: rm -f deb-gview.desktop deb-gview-0.2.10/desktop/deb-gview.desktop.in.in0000644000000000000000000000034411243202572016257 0ustar [Desktop Entry] _Name=Debian Package Viewer _Comment=Debian package file viewer Exec=deb-gview Icon=deb-gview.xpm Terminal=false Categories=Development;Building;GNOME; Type=Application StartupNotify=false X-SingleInstance=false deb-gview-0.2.10/m4/0000755000000000000000000000000012150372712010651 5ustar deb-gview-0.2.10/AUTHORS0000644000000000000000000000023510465353247011412 0ustar Neil Williams parseheaderlength function in dvarchive.c, modified from extract.c in dpkg by Ian Jackson deb-gview-0.2.10/deb-gview.1.xml0000644000000000000000000002137011273400635013067 0ustar DEB-GVIEW 1 22 April 2008 DEB-GVIEW 1 deb-gview manual 0.2.4 deb-gview GNOME viewer for .deb package files and contents DESCRIPTION deb-gview displays Debian control information, devscript details and details of the files that would be installed (names, sizes and locations). Files within the package can be viewed within the package or externally. deb-gview accepts package files on the command line to support the 'open' command in various file managers, one window for each package. Individual views can be closed independently or simultaneously using 'Quit'. Packages do not need to be installed to be viewed. Packages do not need to be suitable for installation, e.g. a foreign architecture. Package files and .changes files can be viewed from local and remote filesystems. When loading .changes files, deb-gview will load each referenced package in a new window. When opening a .changes file from the deb-gview toolbar, the original window is not changed. When opening Debian packages files from the deb-gview toolbar, the package data will replace the current window data. Usage: deb-gview [OPTIONS] [file...] COMMAND: file One or more Debian package files (.deb) to preload or a .changes file referencing various package files. Individual package files or a set of packages referenced in a .changes file can be viewed from local and remote filesystems. GUI Options: See also gtk-options (7). =DISPLAY X display to use Help Options: -?, Show help options FILE PREVIEWS deb-gview has migrated to the XDG specification for config files and uses a dot-file in your XDG config directory (default: ~/.config/deb-gview/preview) to specify which applications should be used to preview files from the package. You are free to edit this file, deb-gview will not modify it, although the defaults will be replaced if the file is deleted. Any previous config in ~/.deb-gview/preview will be moved into the new file but the ~/.deb-gview directory will be preserved - feel free to delete it once any other files are moved to the new location. The first matching pattern will be used, so put the most general wildcards (like *) at the end of this file. GROUPS The first group contains two deb-gview default settings. 'terminal' determines which application to use for viewers that need a terminal. You may want to change this to gnome-terminal or konsole from the rather limited xterm default. 'execute_command' specifies the command to pass to the terminal application to load an external command within the terminal. Most terminal emulators support '-e' for this command. Subsequent group names need to be unique but have no other meaning to deb-gview. KEYS pattern: glob-style pattern to match the location of the file in the package (not the filesystem). viewer: the program to call to view the file content (which must exist in your system PATH). use_terminal: whether to start the viewer in a terminal, TRUE or FALSE. binary_file: whether the viewer requires the content as a binary file, TRUE or FALSE. Typically, image previews require a binary file. file_suffix: if the viewer needs a specific suffix, specify it here. Note that deb-gview does not insist that the suffix of the temporary file matches the suffix of the file within the package, it is up to you to ensure that the suffix is suitable for the viewer you want to use. Leave blank for no suffix. DEFAULT VALUES The defaults for file previews are: # Your choice of terminal application. # [deb-gview] terminal=xterm [manual pages] pattern=./usr/share/man/man*/* viewer=man use_terminal=true binary_file=false file_suffix= [HTML] pattern=*.html viewer=sensible-browser use_terminal=false binary_file=false file_suffix=html [PNG] pattern=*.png viewer=qiv use_terminal=false binary_file=true file_suffix=png [text] pattern=* viewer=gedit use_terminal=false binary_file=false file_suffix= AUTHOR deb-gview was written by Neil Williams <linux@codehelp.co.uk>. This manual page was written by Neil Williams <linux@codehelp.co.uk> REPORTING BUGS deb-gview is a native Debian package and bugs should be reported using the reportbug tool. Reports can be found on the Debian bug tracking system for deb-gview. http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=deb-gview COPYRIGHT This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. deb-gview-0.2.10/autogen.sh0000755000000000000000000000113011243200005012310 0ustar #!/bin/sh -x set -e for macro in codeset.m4 gettext.m4 glibc21.m4 iconv.m4 lcmessage.m4 progtest.m4; do if [ ! -L m4/$macro ] && [ -f m4/$macro ]; then rm m4/$macro fi if [ ! -L m4/$macro ] && [ -f /usr/share/aclocal/$macro ]; then (cd m4/; ln -s /usr/share/aclocal/$macro .) fi done glib-gettextize -f intltoolize --automake -f for file in intltool-merge.in intltool-extract.in intltool-update.in; do if [ -L $file ] || [ -f $file ]; then rm -f $file fi done autoreconf -ifs echo "Now you can run ./configure --enable-error-on-warning --enable-compile-werror --enable-compile-warnings" deb-gview-0.2.10/TODO0000644000000000000000000000203210610751006011012 0ustar Implement GConf for window size and divider position, possibly a location to replace /var/cache/apt/archives too. Or add to keyfile? amend tooltip to New - New Window man page generation is a combination of doclifter and xsltproc -''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl deb-gview.1.xml This could be automated, but doclifter always breaks the URL to the bug pages by dropping the query string (manpage and HTML), it adds spurious "references" links at the end of the output (also containing broken links) and is not idempotent - converting a manpage to XML and back to a manpage not only creates a different manpage to the original but complains about missing data in the generated XML file. To generate the HTML version of the manpage. cd website/ xsltproc -''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/html/docbook.xsl ../deb-gview.1.xml > manpage.html xmllint --html --htmlout --format --output manpage.html manpage.html (and correct the link manually). There is a better way, coming soon . . . deb-gview-0.2.10/configure.in0000644000000000000000000001022212150367351012642 0ustar # This is free software, licensed under the GNU Public License V2. # See the file COPYING for details. dnl ****************************** dnl Initialise dnl ****************************** AC_INIT([deb-gview],[0.2.10],[linux@codehelp.co.uk]) AC_PREFIX_DEFAULT(/usr) AC_PREREQ(2.68) AC_CONFIG_HEADERS([config.h]) AC_GNU_SOURCE AC_CONFIG_MACRO_DIR([m4]) VERSION=AC_PACKAGE_VERSION PACKAGE=AC_PACKAGE_NAME REPORT_BUG="linux@codehelp.co.uk" AC_SUBST(VERSION) AC_SUBST(PACKAGE) AM_PROG_LIBTOOL AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) AM_INIT_AUTOMAKE([dist-bzip2]) AC_ISC_POSIX AC_PROG_CC AC_PROG_CXX AC_PROG_AWK AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET AC_TYPE_SIZE_T AC_TYPE_SSIZE_T AC_HEADER_STDC AC_C_CONST IT_PROG_INTLTOOL INTLTOOLIZE=${INTLTOOLIZE:-intltoolize} AC_CHECK_FUNCS([ memchr strchr strtoul ]) AC_CHECK_HEADERS([ fcntl.h libintl.h archive.h libintl.h \ stdlib.h unistd.h ar.h archive_entry.h string.h ]) AC_CHECK_LIB([archive], [archive_read_open],, [AC_MSG_ERROR([ libarchive is required to build deb-gview. Please install the libarchive-dev package. ])]) AC_CHECK_LIB([z], [gzopen],, [AC_MSG_ERROR([ zlib or zlib1g is required to build deb-gview. Please install the zlib1-dev or zlib1g-dev package. ])]) AC_FUNC_MALLOC AC_FUNC_MEMCMP AC_TYPE_OFF_T AC_TYPE_SIZE_T AC_TYPE_SSIZE_T GETTEXT_PACKAGE="deb-gview" AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [deb-gview]) dnl Languages which your application supports AM_GLIB_GNU_GETTEXT PKG_CHECK_MODULES(PACKAGE, [gtk+-2.0 glib-2.0 >= 2.16.1 gio-2.0 gdk-pixbuf-2.0]) AC_SUBST(PACKAGE_CFLAGS) AC_SUBST(PACKAGE_LIBS) dnl ************************************* dnl Extra warnings dnl ************************************* AC_MSG_CHECKING(what extra warning flags to pass to the C compiler) if test ${GCC}x = yesx; then warnFLAGS= CFLAGS="${CFLAGS} -g2 -Wall" AC_ARG_ENABLE(error-on-warning, [ --disable-error-on-warning disable treating compile warnings as errors], [case "${enableval}" in yes) warnFLAGS="${warnFLAGS} -Werror" ;; no) ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-error-on-warning) ;; esac], [ warnFLAGS="${warnFLAGS}" ]) GCC_VERSION=`${CC} -dumpversion` if test `echo ${GCC_VERSION} | cut -d. -f1` -ge 3; then # This is gcc >= 3.x.x if test `echo ${GCC_VERSION} | cut -d. -f2` -ge 4; then # This is gcc >= 3.4.x warnFLAGS="${warnFLAGS} -Wdeclaration-after-statement" else if test `echo ${GCC_VERSION} | cut -d. -f1` -ge 4; then # This is gcc == 4.x.x warnFLAGS="${warnFLAGS} -Wdeclaration-after-statement -Wno-pointer-sign" fi fi fi CFLAGS="${CFLAGS} ${warnFLAGS}" else warnFLAGS= fi AC_MSG_RESULT($warnFLAGS) AC_SUBST(warnFLAGS) set_compile_warnings=no AC_ARG_ENABLE(compile-warnings, [ --enable-compile-warnings Enable verbose compiler warnings], set_compile_warnings=yes) if test "$GCC" = "yes" -a "$set_compile_warnings" != "no"; then warnFLAGS="$warnFLAGS -Wcast-align -Wsign-compare \ -Wmissing-prototypes -Wmissing-declarations -Werror \ -Wmissing-include-dirs -Winline -Wnested-externs \ -Wpointer-arith -Wmissing-field-initializers" LDFLAGS="$LDFLAGS -Wl,--no-add-needed" fi case "$host" in *bsd*) AC_DEFINE(TTYPrompt, "/dev/cua[<0..n>]", [Define verbose tty device]) ;; *) AC_DEFINE(TTYPrompt, "/dev/tty[<0..n>]", [Define verbose tty device]) ;; esac dnl ************************************* dnl Promote warnings to errors dnl ************************************* dnl (already done) enable_werror=no AC_ARG_ENABLE(compile-werror, [ --enable-compile-werror Causes all warnings to be treated as errors in GCC], enable_werror=yes) if test "x$GCC" = "xyes" -a "x$enable_wall" = "xyes"; then CFLAGS="$CFLAGS -Wall -Werror -Wmissing-prototypes" CXXFLAGS="$CXXFLAGS -Wall -Werror" fi AC_CONFIG_FILES([ Makefile po/Makefile.in src/Makefile desktop/deb-gview.desktop.in desktop/Makefile ]) AC_OUTPUT deb-gview-0.2.10/README0000644000000000000000000000246311735670260011225 0ustar Gtk viewer for Debian package files. ======================================= Old name: dpkg-view. Changed to avoid a conflict with the dpkg- namespace. deb-gview is designed for Debian developers, Debian applicants / sponsorees and the simply curious. By default, File|Open displays the list of packages in the apt cache: /var/cache/apt/archives/ deb-gview also loads .deb files directly from the command line. This can be used with file managers like Nautilus to open .deb files from a file viewer window. This is not enabled automatically, yet. e.g. to enable this in Nautilus, right click a .deb file, select Open and select "Debian Package Viewer" from the list. Nautilus will now use deb-gview to open .deb files in future. deb-gview (>= 0.1.0) can also load the .deb files listed in a .changes file, each in a new window. deb-gview (>= 0.1.0) can load a .deb or a .udeb from a local filesystem or a remote repository. deb-gview will remain a .deb viewer rather than being extended to cope with any .tar.gz Updating the man page =================== editor deb-gview.1.xml xsltproc -''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl \ deb-gview.1.xml Building ======== deb-gview (>= 0.2.8) is now maintained in subversion and can be built using svn-buildpackage and uploaded as normal. deb-gview-0.2.10/Makefile.am0000644000000000000000000000165111702326151012366 0ustar SUBDIRS = src . po desktop $(PACKAGE).1: $(PACKAGE).1.xml $(XP) $(DB2MAN) $< man_MANS=$(PACKAGE).1 DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0" deb_gviewdocdir = ${prefix}/share/doc/deb-gview deb_gviewdoc_DATA = \ ChangeLog \ README \ NEWS \ TODO deb-gview.pot: Makefile ${RM} -f po/deb-gview.pot ${MAKE} -C po deb-gview.pot all-local: deb-gview.pot Makefile clean-local: find . -type f -name '*~' -delete $(RM) $(PACKAGE).1 ACLOCAL_AMFLAGS = -I m4 EXTRA_DIST = \ $(PACKAGE).1.xml \ po/deb-gview.pot \ $(deb_gviewdoc_DATA) \ debian/changelog \ debian/compat \ debian/control \ debian/copyright \ debian/deb-gview.mime \ debian/menu \ debian/rules DISTCLEANFILES = \ intltool-extract intltool-update intltool-merge \ intltool-extract.in intltool-update.in intltool-merge.in \ po/.intltool-merge-cache deb-gview-0.2.10/NEWS0000644000000000000000000000133311243200005011013 0ustar Aug 2009: Dropped dependencies on libgnome and libgnomeui Feb 2008: Migrated from GnomeVFS (deprecated in GNOME 2.22) to GIO (glib-2.0 >= 2.16.1). April 2007: Added support for opening local .changes files. Added support for opening packages via GnomeVFS from local or remote filesystems. September 2006: Added sortable columns and a movable horizontal plane to vary the relative size of the tree vs display area. Added dot-file handling for user-configurable external viewers, including manpages, HTML and PNG images by default. August 2006 : Changed package name to avoid the dpkg- namespace. Extended the debian description after feedback from #381221. Added toolbar, status bar and file filter.