summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Woodward2005-02-05 23:19:17 +0000
committerJason Woodward2005-02-05 23:19:17 +0000
commit88637751e89040c271ffd2d618e878facf300706 (patch)
treeee23c91b5c2a394b47d7d95a0b1557459436664b
parentf76d58a7042444e4ef27e92c0b99b267ab9ca891 (diff)
downloadgslapt-88637751e89040c271ffd2d618e878facf300706.tar.gz
initial import
-rw-r--r--AUTHORS0
-rw-r--r--ChangeLog0
-rw-r--r--Makefile.am30
-rw-r--r--NEWS0
-rw-r--r--README0
-rwxr-xr-xautogen.sh159
-rw-r--r--configure.in31
-rw-r--r--gslapt.glade2425
-rw-r--r--gslapt.gladep9
-rw-r--r--po/ChangeLog0
-rw-r--r--po/POTFILES.in6
-rw-r--r--src/Makefile.am17
-rw-r--r--src/Makefile.jaos20
-rw-r--r--src/callbacks.c964
-rw-r--r--src/callbacks.h47
-rw-r--r--src/interface.c1437
-rw-r--r--src/interface.h8
-rw-r--r--src/main.c80
-rw-r--r--src/support.c144
-rw-r--r--src/support.h69
-rw-r--r--stamp-h.in1
21 files changed, 5447 insertions, 0 deletions
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/AUTHORS
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ChangeLog
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..4d09fab
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,30 @@
+## Process this file with automake to produce Makefile.in
+
+SUBDIRS = src po
+
+EXTRA_DIST = \
+ autogen.sh \
+ gslapt.glade \
+ gslapt.gladep
+
+install-data-local:
+ @$(NORMAL_INSTALL)
+ if test -d $(srcdir)/pixmaps; then \
+ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/pixmaps; \
+ for pixmap in $(srcdir)/pixmaps/*; do \
+ if test -f $$pixmap; then \
+ $(INSTALL_DATA) $$pixmap $(DESTDIR)$(pkgdatadir)/pixmaps; \
+ fi \
+ done \
+ fi
+
+dist-hook:
+ if test -d pixmaps; then \
+ mkdir $(distdir)/pixmaps; \
+ for pixmap in pixmaps/*; do \
+ if test -f $$pixmap; then \
+ cp -p $$pixmap $(distdir)/pixmaps; \
+ fi \
+ done \
+ fi
+
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/NEWS
diff --git a/README b/README
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/README
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..8fe1de8
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,159 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+DIE=0
+
+if [ -n "$GNOME2_DIR" ]; then
+ ACLOCAL_FLAGS="-I $GNOME2_DIR/share/aclocal $ACLOCAL_FLAGS"
+ LD_LIBRARY_PATH="$GNOME2_DIR/lib:$LD_LIBRARY_PATH"
+ PATH="$GNOME2_DIR/bin:$PATH"
+ export PATH
+ export LD_LIBRARY_PATH
+fi
+
+(test -f $srcdir/configure.in) || {
+ echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
+ echo " top-level package directory"
+ exit 1
+}
+
+(autoconf --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: You must have \`autoconf' installed."
+ echo "Download the appropriate package for your distribution,"
+ echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
+ DIE=1
+}
+
+(grep "^AC_PROG_INTLTOOL" $srcdir/configure.in >/dev/null) && {
+ (intltoolize --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: You must have \`intltool' installed."
+ echo "You can get it from:"
+ echo " ftp://ftp.gnome.org/pub/GNOME/"
+ DIE=1
+ }
+}
+
+(grep "^AM_PROG_XML_I18N_TOOLS" $srcdir/configure.in >/dev/null) && {
+ (xml-i18n-toolize --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: You must have \`xml-i18n-toolize' installed."
+ echo "You can get it from:"
+ echo " ftp://ftp.gnome.org/pub/GNOME/"
+ DIE=1
+ }
+}
+
+(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && {
+ (libtool --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: You must have \`libtool' installed."
+ echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
+ DIE=1
+ }
+}
+
+(grep "^AM_GLIB_GNU_GETTEXT" $srcdir/configure.in >/dev/null) && {
+ (grep "sed.*POTFILES" $srcdir/configure.in) > /dev/null || \
+ (glib-gettextize --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: You must have \`glib' installed."
+ echo "You can get it from: ftp://ftp.gtk.org/pub/gtk"
+ DIE=1
+ }
+}
+
+(automake --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: You must have \`automake' installed."
+ echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
+ DIE=1
+ NO_AUTOMAKE=yes
+}
+
+
+# if no automake, don't bother testing for aclocal
+test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: Missing \`aclocal'. The version of \`automake'"
+ echo "installed doesn't appear recent enough."
+ echo "You can get automake from ftp://ftp.gnu.org/pub/gnu/"
+ DIE=1
+}
+
+if test "$DIE" -eq 1; then
+ exit 1
+fi
+
+if test -z "$*"; then
+ echo "**Warning**: I am going to run \`configure' with no arguments."
+ echo "If you wish to pass any to it, please specify them on the"
+ echo \`$0\'" command line."
+ echo
+fi
+
+case $CC in
+xlc )
+ am_opt=--include-deps;;
+esac
+
+for coin in `find $srcdir -path $srcdir/CVS -prune -o -name configure.in -print`
+do
+ dr=`dirname $coin`
+ if test -f $dr/NO-AUTO-GEN; then
+ echo skipping $dr -- flagged as no auto-gen
+ else
+ echo processing $dr
+ ( cd $dr
+
+ aclocalinclude="$ACLOCAL_FLAGS"
+
+ if grep "^AM_GLIB_GNU_GETTEXT" configure.in >/dev/null; then
+ echo "Creating $dr/aclocal.m4 ..."
+ test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
+ echo "Running glib-gettextize... Ignore non-fatal messages."
+ echo "no" | glib-gettextize --force --copy
+ echo "Making $dr/aclocal.m4 writable ..."
+ test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
+ fi
+ if grep "^AC_PROG_INTLTOOL" configure.in >/dev/null; then
+ echo "Running intltoolize..."
+ intltoolize --copy --force --automake
+ fi
+ if grep "^AM_PROG_XML_I18N_TOOLS" configure.in >/dev/null; then
+ echo "Running xml-i18n-toolize..."
+ xml-i18n-toolize --copy --force --automake
+ fi
+ if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
+ if test -z "$NO_LIBTOOLIZE" ; then
+ echo "Running libtoolize..."
+ libtoolize --force --copy
+ fi
+ fi
+ echo "Running aclocal $aclocalinclude ..."
+ aclocal $aclocalinclude
+ if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
+ echo "Running autoheader..."
+ autoheader
+ fi
+ echo "Running automake --gnu $am_opt ..."
+ automake --add-missing --gnu $am_opt
+ echo "Running autoconf ..."
+ autoconf
+ )
+ fi
+done
+
+conf_flags="--enable-maintainer-mode"
+
+if test x$NOCONFIGURE = x; then
+ echo Running $srcdir/configure $conf_flags "$@" ...
+ $srcdir/configure $conf_flags "$@" \
+ && echo Now type \`make\' to compile. || exit 1
+else
+ echo Skipping configure process.
+fi
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..dace029
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,31 @@
+dnl Process this file with autoconf to produce a configure script.
+
+AC_INIT(configure.in)
+AM_INIT_AUTOMAKE(gslapt, 0.1)
+AM_CONFIG_HEADER(config.h)
+AM_MAINTAINER_MODE
+
+AC_ISC_POSIX
+AC_PROG_CC
+AM_PROG_CC_STDC
+AC_HEADER_STDC
+
+pkg_modules="gtk+-2.0 >= 2.0.0"
+PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
+AC_SUBST(PACKAGE_CFLAGS)
+AC_SUBST(PACKAGE_LIBS)
+
+GETTEXT_PACKAGE=gslapt
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Gettext package.])
+
+dnl Add the languages which your application supports here.
+ALL_LINGUAS=""
+AM_GLIB_GNU_GETTEXT
+
+AC_OUTPUT([
+Makefile
+src/Makefile
+po/Makefile.in
+])
+
diff --git a/gslapt.glade b/gslapt.glade
new file mode 100644
index 0000000..d6f2022
--- /dev/null
+++ b/gslapt.glade
@@ -0,0 +1,2425 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+<glade-interface>
+
+<widget class="GtkWindow" id="window_preferences">
+ <property name="title" translatable="yes">Preferences</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_CENTER</property>
+ <property name="modal">True</property>
+ <property name="resizable">True</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <signal name="destroy_event" handler="gtk_widget_destroy" last_modification_time="Sat, 05 Feb 2005 19:57:33 GMT"/>
+
+ <child>
+ <widget class="GtkVBox" id="preferences_vbox">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkNotebook" id="preferences_notebook">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="show_tabs">True</property>
+ <property name="show_border">True</property>
+ <property name="tab_pos">GTK_POS_TOP</property>
+ <property name="scrollable">False</property>
+ <property name="enable_popup">False</property>
+
+ <child>
+ <widget class="GtkVBox" id="preferences_working_dir_vbox">
+ <property name="border_width">12</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">18</property>
+
+ <child>
+ <widget class="GtkVBox" id="preferences_working_dir_vbox_vbox">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkLabel" id="preferences_working_dir_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">&lt;b&gt;Package and data storage&lt;/b&gt;</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox3">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="label72">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"> </property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="vbox12">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkEntry" id="preferences_working_dir_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label50">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Working Directory</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="preferences_sources_vbox">
+ <property name="border_width">12</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">18</property>
+
+ <child>
+ <widget class="GtkVBox" id="vbox38">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkLabel" id="preferences_sources_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">&lt;b&gt;Package Sources&lt;/b&gt;</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox75">
+ <property name="height_request">174</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="preferences_sources_empty_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"> </property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="preferences_sources_hbox">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView" id="treeview_columns">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">False</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">True</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="vbox39">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkButton" id="preferences_add_source_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-add</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="preferences_sources_add" last_modification_time="Mon, 15 Nov 2004 04:01:52 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="preferences_remove_source_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-remove</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="preferences_sources_remove" last_modification_time="Mon, 15 Nov 2004 04:02:03 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label118">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Sources</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="preferences_excludes_vbox">
+ <property name="border_width">12</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">18</property>
+
+ <child>
+ <widget class="GtkVBox" id="preferences_excludes_vbox_vbox">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkLabel" id="preferences_excludes_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">&lt;b&gt;Exclude List&lt;/b&gt;</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="preferences_excludes_hbox">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="label110">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"> </property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="preferences_exclude_list_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label51">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Excludes</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHButtonBox" id="preferences_hbuttonbox">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkButton" id="preferences_apply_button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-apply</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="preferences_on_apply_clicked" object="window_preferences" last_modification_time="Mon, 15 Nov 2004 04:01:19 GMT"/>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="preferences_close_button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="gtk_widget_destroy" object="window_preferences" last_modification_time="Sat, 05 Feb 2005 19:57:54 GMT"/>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="preferences_ok_button">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-ok</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="preferences_on_ok_clicked" object="window_preferences" last_modification_time="Mon, 15 Nov 2004 04:01:32 GMT"/>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
+<widget class="GtkDialog" id="transaction_window">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">Transaction Report</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="resizable">True</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="has_separator">True</property>
+ <signal name="close" handler="gtk_widget_destroy" last_modification_time="Sat, 05 Feb 2005 20:51:26 GMT"/>
+ <signal name="destroy_event" handler="gtk_widget_destroy" last_modification_time="Sat, 05 Feb 2005 20:51:37 GMT"/>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="transaction_vbox">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="transaction_hbuttonbox">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="transaction_cancelbutton">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
+ <signal name="clicked" handler="gtk_widget_destroy" object="transaction_window" last_modification_time="Sat, 05 Feb 2005 18:18:03 GMT"/>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="transaction_okbutton1">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-ok</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ <signal name="clicked" handler="on_transaction_okbutton1_clicked" object="transaction_window" last_modification_time="Mon, 15 Nov 2004 04:23:54 GMT"/>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="transaction_vbox_vbox">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">12</property>
+
+ <child>
+ <widget class="GtkVBox" id="vbox23">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkLabel" id="transaction_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">True</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkProgressBar" id="transaction_progressbar">
+ <property name="visible">True</property>
+ <property name="orientation">GTK_PROGRESS_LEFT_TO_RIGHT</property>
+ <property name="fraction">0</property>
+ <property name="pulse_step">0.10000000149</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkExpander" id="transaction_exclude_expander">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="expanded">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkVBox" id="vbox27">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow11">
+ <property name="height_request">200</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView" id="transaction_exclude_treeview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">False</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">False</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label9">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Packages Excluded</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkExpander" id="transaction_install_expander">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="expanded">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkVBox" id="vbox24">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="transaction_install">
+ <property name="height_request">200</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView" id="transaction_install_treeview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">False</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">False</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label6">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Packages to Install</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkExpander" id="transaction_upgrade_expander">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="expanded">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkVBox" id="vbox25">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow9">
+ <property name="height_request">200</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView" id="transaction_upgrade_treeview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">False</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">False</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label7">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Packages to Upgrade</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkExpander" id="transaction_remove_expander">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="expanded">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkVBox" id="vbox26">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow10">
+ <property name="height_request">200</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView" id="transaction_remove_treeview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">False</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">False</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label8">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Packages to Remove</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
+<widget class="GtkWindow" id="gslapt">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">Gslapt</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="default_width">600</property>
+ <property name="default_height">400</property>
+ <property name="resizable">True</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+ <property name="gravity">GDK_GRAVITY_CENTER</property>
+ <signal name="destroy" handler="on_gslapt_destroy" last_modification_time="Sat, 05 Feb 2005 06:56:30 GMT"/>
+
+ <child>
+ <widget class="GtkVBox" id="gslapt_vbox">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkMenuBar" id="top_menubar">
+ <property name="visible">True</property>
+
+ <child>
+ <widget class="GtkMenuItem" id="actions2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Actions</property>
+ <property name="use_underline">True</property>
+
+ <child>
+ <widget class="GtkMenu" id="actions2_menu">
+
+ <child>
+ <widget class="GtkImageMenuItem" id="update2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Update</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="update_callback" last_modification_time="Sat, 05 Feb 2005 06:54:59 GMT"/>
+ <accelerator key="u" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+ <child internal-child="image">
+ <widget class="GtkImage" id="image831">
+ <property name="visible">True</property>
+ <property name="stock">gtk-refresh</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkImageMenuItem" id="upgrade2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Up_grade</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="upgrade_callback" last_modification_time="Sat, 05 Feb 2005 06:54:59 GMT"/>
+ <accelerator key="g" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+ <child internal-child="image">
+ <widget class="GtkImage" id="image832">
+ <property name="visible">True</property>
+ <property name="stock">gtk-goto-top</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkImageMenuItem" id="dist-upgrade2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Dist-Upgrade</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="distupgrade_callback" last_modification_time="Sat, 05 Feb 2005 06:54:59 GMT"/>
+ <accelerator key="d" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+ <child internal-child="image">
+ <widget class="GtkImage" id="image833">
+ <property name="visible">True</property>
+ <property name="stock">gtk-go-up</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkImageMenuItem" id="execute2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Execute</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="execute_callback" last_modification_time="Sat, 05 Feb 2005 06:59:02 GMT"/>
+ <accelerator key="e" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+ <child internal-child="image">
+ <widget class="GtkImage" id="image834">
+ <property name="visible">True</property>
+ <property name="stock">gtk-yes</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkSeparatorMenuItem" id="separator5">
+ <property name="visible">True</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkImageMenuItem" id="quit">
+ <property name="visible">True</property>
+ <property name="label">gtk-quit</property>
+ <property name="use_stock">True</property>
+ <signal name="activate" handler="quit_callback" last_modification_time="Sat, 05 Feb 2005 19:30:52 GMT"/>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkMenuItem" id="settings1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Settings</property>
+ <property name="use_underline">True</property>
+
+ <child>
+ <widget class="GtkMenu" id="settings1_menu">
+
+ <child>
+ <widget class="GtkImageMenuItem" id="preferences2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Preferences</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="open_preferences" last_modification_time="Sat, 05 Feb 2005 21:02:58 GMT"/>
+ <accelerator key="p" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+ <child internal-child="image">
+ <widget class="GtkImage" id="image835">
+ <property name="visible">True</property>
+ <property name="stock">gtk-preferences</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkMenuItem" id="help3">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Help</property>
+ <property name="use_underline">True</property>
+
+ <child>
+ <widget class="GtkMenu" id="help3_menu">
+
+ <child>
+ <widget class="GtkImageMenuItem" id="about3">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">About</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="open_about" last_modification_time="Sat, 05 Feb 2005 20:48:31 GMT"/>
+
+ <child internal-child="image">
+ <widget class="GtkImage" id="image836">
+ <property name="visible">True</property>
+ <property name="stock">gtk-dialog-info</property>
+ <property name="icon_size">1</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolbar" id="action_toolbar">
+ <property name="visible">True</property>
+ <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
+ <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
+ <property name="tooltips">True</property>
+ <property name="show_arrow">True</property>
+
+ <child>
+ <widget class="GtkToolButton" id="action_bar_update_button">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Update local package cache</property>
+ <property name="label" translatable="yes">Update</property>
+ <property name="use_underline">True</property>
+ <property name="stock_id">gtk-refresh</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+ <signal name="clicked" handler="update_callback" last_modification_time="Fri, 14 Nov 2003 19:05:38 GMT"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolButton" id="action_bar_upgrade_button">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Upgrade installed packages</property>
+ <property name="label" translatable="yes">Upgrade All</property>
+ <property name="use_underline">True</property>
+ <property name="stock_id">gtk-goto-top</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+ <signal name="clicked" handler="upgrade_callback" last_modification_time="Fri, 14 Nov 2003 19:05:58 GMT"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolButton" id="action_bar_dist_upgrade_button">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Upgrade to newer release</property>
+ <property name="label" translatable="yes">Dist-Upgrade</property>
+ <property name="use_underline">True</property>
+ <property name="stock_id">gtk-go-up</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+ <signal name="clicked" handler="distupgrade_callback" last_modification_time="Fri, 14 Nov 2003 19:06:29 GMT"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolButton" id="action_bar_execute_button">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Execute all scheduled actions in current transaction</property>
+ <property name="label" translatable="yes">Execute</property>
+ <property name="use_underline">True</property>
+ <property name="stock_id">gtk-yes</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+ <signal name="clicked" handler="execute_callback" last_modification_time="Fri, 14 Nov 2003 19:06:49 GMT"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkToolButton" id="action_bar_quit_button">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Quit</property>
+ <property name="stock_id">gtk-quit</property>
+ <property name="visible_horizontal">True</property>
+ <property name="visible_vertical">True</property>
+ <property name="is_important">False</property>
+ <signal name="clicked" handler="quit_callback" last_modification_time="Fri, 14 Nov 2003 19:04:54 GMT"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="homogeneous">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="pkg_notebook_info_actionbox">
+ <property name="visible">True</property>
+ <property name="homogeneous">True</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkNotebook" id="pkg_notebook">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="show_tabs">True</property>
+ <property name="show_border">True</property>
+ <property name="tab_pos">GTK_POS_TOP</property>
+ <property name="scrollable">True</property>
+ <property name="enable_popup">False</property>
+
+ <child>
+ <widget class="GtkViewport" id="available_tab_viewport">
+ <property name="visible">True</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="available_tab_scroll">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView" id="available_pkg_listing_treeview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">False</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">True</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="available_tab">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Available Packages</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="install_tab_scrolled">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView" id="inst_pkg_listing_treeview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">False</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">True</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="installed_tab">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Installed Packages</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="search_tab_vbox">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkAlignment" id="search_tab_search_align">
+ <property name="border_width">1</property>
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">1</property>
+ <property name="yscale">1</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkHBox" id="search_tab_search_hbox">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkEntry" id="search_tab_search_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="search_tab_search_button">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Search for expression</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Search</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_search_tab_search_button_clicked" last_modification_time="Fri, 14 Nov 2003 19:07:14 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="search_tab_search_results_scrolled">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView" id="search_pkg_listing_treeview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">False</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">True</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="search_tab">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Search Packages</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="pkg_info_action_hbox">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkFrame" id="pkg_info_frame">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+
+ <child>
+ <widget class="GtkTable" id="pkg_info_action_table">
+ <property name="border_width">1</property>
+ <property name="visible">True</property>
+ <property name="n_rows">10</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">2</property>
+ <property name="column_spacing">2</property>
+
+ <child>
+ <widget class="GtkLabel" id="pkg_info_action_name_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Name</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pkg_info_action_conflicts_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">False</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">7</property>
+ <property name="bottom_attach">8</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="pkg_info_action_mirror_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Mirror</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="pkg_info_action_location_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Location</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="pkg_info_action_version_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Version</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="pkg_info_action_size_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Size</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="pkg_info_action_isize_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Installed Size</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pkg_info_action_name_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">False</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pkg_info_action_mirror_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">False</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pkg_info_action_location_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">False</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pkg_info_action_version_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">False</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pkg_info_action_size_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">False</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pkg_info_action_isize_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">False</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pkg_info_action_required_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">False</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">6</property>
+ <property name="bottom_attach">7</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pkg_info_action_description_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">False</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">9</property>
+ <property name="bottom_attach">10</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="pkg_info_action_suggests_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">False</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">8</property>
+ <property name="bottom_attach">9</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="pkg_info_action_description_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Description</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">9</property>
+ <property name="bottom_attach">10</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="pkg_info_action_conflicts_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Conflicts</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">7</property>
+ <property name="bottom_attach">8</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="pkg_info_action_suggests_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Suggests</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">8</property>
+ <property name="bottom_attach">9</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="pkg_info_action_required_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Required</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">6</property>
+ <property name="bottom_attach">7</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="pkg_info_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Package Information</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkFrame" id="pkg_action_frame">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_ETCHED_IN</property>
+
+ <child>
+ <widget class="GtkVBox" id="pkg_action_vbox">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkButton" id="pkg_info_action_install_upgrade_button">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Install/Upgrade package</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="add_pkg_for_install" last_modification_time="Fri, 14 Nov 2003 19:26:00 GMT"/>
+
+ <child>
+ <widget class="GtkAlignment" id="alignment27">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox78">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+
+ <child>
+ <widget class="GtkImage" id="image746">
+ <property name="visible">True</property>
+ <property name="stock">gtk-add</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label131">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">I_nstall/Upgrade</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="pkg_info_action_remove_button">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Remove package</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="add_pkg_for_removal" last_modification_time="Fri, 14 Nov 2003 19:26:12 GMT"/>
+
+ <child>
+ <widget class="GtkAlignment" id="alignment28">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox79">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+
+ <child>
+ <widget class="GtkImage" id="image747">
+ <property name="visible">True</property>
+ <property name="stock">gtk-stop</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label132">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Remove</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="pkg_info_action_exclude_button">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Exclude package</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="add_pkg_for_exclude" last_modification_time="Fri, 14 Nov 2003 19:26:31 GMT"/>
+
+ <child>
+ <widget class="GtkAlignment" id="alignment29">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkHBox" id="hbox80">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
+
+ <child>
+ <widget class="GtkImage" id="image748">
+ <property name="visible">True</property>
+ <property name="stock">gtk-no</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label133">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">E_xclude</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="pkg_action_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Package Action</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkStatusbar" id="bottom_statusbar">
+ <property name="visible">True</property>
+ <property name="has_resize_grip">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
+<widget class="GtkDialog" id="about">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">About Gslapt</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="resizable">True</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="has_separator">True</property>
+ <signal name="close" handler="gtk_widget_destroy" object="about" last_modification_time="Sat, 05 Feb 2005 19:54:38 GMT"/>
+ <signal name="destroy_event" handler="gtk_widget_destroy" object="about" last_modification_time="Sat, 05 Feb 2005 19:55:05 GMT"/>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox1">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area1">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="closebutton1">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-close</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-7</property>
+ <signal name="clicked" handler="gtk_widget_destroy" object="about" last_modification_time="Sat, 05 Feb 2005 19:56:26 GMT"/>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkImage" id="image797">
+ <property name="visible">True</property>
+ <property name="stock">gtk-dialog-info</property>
+ <property name="icon_size">6</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label138">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label137">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"> Gslapt
+
+ GTK+ slapt-get
+
+Copyright Jason Woodward</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
+</glade-interface>
diff --git a/gslapt.gladep b/gslapt.gladep
new file mode 100644
index 0000000..b72fdee
--- /dev/null
+++ b/gslapt.gladep
@@ -0,0 +1,9 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-project SYSTEM "http://glade.gnome.org/glade-project-2.0.dtd">
+
+<glade-project>
+ <name>gslapt</name>
+ <program_name>gslapt</program_name>
+ <gnome_support>FALSE</gnome_support>
+ <use_widget_names>TRUE</use_widget_names>
+</glade-project>
diff --git a/po/ChangeLog b/po/ChangeLog
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/po/ChangeLog
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 0000000..ab2d29e
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,6 @@
+# List of source files containing translatable strings.
+
+src/main.c
+src/interface.c
+src/callbacks.c
+src/support.c
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..3c4267b
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,17 @@
+## Process this file with automake to produce Makefile.in
+
+INCLUDES = \
+ -DPACKAGE_DATA_DIR=\""$(datadir)"\" \
+ -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
+ @PACKAGE_CFLAGS@
+
+bin_PROGRAMS = gslapt
+
+gslapt_SOURCES = \
+ main.c \
+ support.c support.h \
+ interface.c interface.h \
+ callbacks.c callbacks.h
+
+gslapt_LDADD = @PACKAGE_LIBS@ $(INTLLIBS)
+
diff --git a/src/Makefile.jaos b/src/Makefile.jaos
new file mode 100644
index 0000000..85a904e
--- /dev/null
+++ b/src/Makefile.jaos
@@ -0,0 +1,20 @@
+PROGRAM=gslapt
+VERSION=0.1
+PACKAGE_DATA_DIR="/usr/share/$(PROGRAM)-$(VERSION)"
+
+#CFLAGS = -W -Wall -Werror -ansi -pedantic -pthread -DXTHREADS -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DVERSION="\"$(VERSION)\"" -DPACKAGE="\"$(PROGRAM)\"" -DPACKAGE_DATA_DIR=\""$(PACKAGE_DATA_DIR)"\" -DPACKAGE_LOCALE_DIR=\""$(PACKAGE_DATA_DIR)/locale"\" -g -O2
+CFLAGS = -pthread -DXTHREADS -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DVERSION="\"$(VERSION)\"" -DPACKAGE="\"$(PROGRAM)\"" -DPACKAGE_DATA_DIR=\""$(PACKAGE_DATA_DIR)"\" -DPACKAGE_LOCALE_DIR=\""$(PACKAGE_DATA_DIR)/locale"\" -g -O2
+
+LIBS = -lgtk-x11-2.0 -lglib-2.0 -lgthread-2.0 -lslapt `curl-config --libs`
+
+SOURCES = main.c support.c support.h interface.c interface.h callbacks.c callbacks.h
+LINK = $(CC) $(INCLUDES) $(CFLAGS) -o $@
+OBJECTS = main.o support.o interface.o callbacks.o
+
+$(PROGRAM): $(OBJECTS)
+ @rm -f $(PROGRAM)
+ $(LINK) $(OBJECTS) $(LIBS)
+
+clean:
+ test -z $(PROGRAM) || rm -f $(PROGRAM)
+ rm -f *.o core *.core
diff --git a/src/callbacks.c b/src/callbacks.c
new file mode 100644
index 0000000..6e71704
--- /dev/null
+++ b/src/callbacks.c
@@ -0,0 +1,964 @@
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#define _GNU_SOURCE
+
+#include <gtk/gtk.h>
+
+#include "callbacks.h"
+#include "interface.h"
+#include "support.h"
+
+
+void on_gslapt_destroy (GtkObject *object, gpointer user_data) {
+ (void)object;
+ (void)user_data;
+ gtk_main_quit ();
+}
+
+void update_callback (GtkObject *object, gpointer user_data) {
+ GThread *gpd;
+
+ (void)object;
+ (void)user_data;
+
+ gpd = g_thread_create((GThreadFunc)get_package_data,NULL,FALSE,NULL);
+
+ return;
+}
+
+void upgrade_callback (GtkObject *object, gpointer user_data) {
+ (void)object;
+ (void)user_data;
+ printf("upgrade callback\n");
+}
+
+void distupgrade_callback (GtkObject *object, gpointer user_data) {
+ extern rc_config *global_config;
+ (void)object;
+ (void)user_data;
+ printf("distupgrade callback\n");
+ global_config->dist_upgrade = 1;
+}
+
+void execute_callback (GtkObject *object, gpointer user_data) {
+ GtkWidget *trans_window;
+ extern transaction_t *trans;
+ (void)object;
+ (void)user_data;
+ (void)trans;
+
+ trans_window = (GtkWidget *)create_transaction_window();
+
+ gtk_widget_show(trans_window);
+}
+
+void quit_callback(GtkMenuItem *menuitem, gpointer user_data){
+ (void)menuitem;
+ (void)user_data;
+ gtk_main_quit ();
+}
+
+void open_preferences (GtkMenuItem *menuitem, gpointer user_data) {
+ GtkWidget *preferences;
+ extern rc_config *global_config;
+
+ (void)menuitem;
+ (void)user_data;
+ (void)global_config;
+
+ preferences = (GtkWidget *)create_window_preferences();
+
+ gtk_widget_show(preferences);
+}
+
+void on_search_tab_search_button_clicked (GtkButton *button, gpointer user_data) {
+ extern GtkWidget *gslapt;
+ GtkTreeView *treeview;
+ gchar *pattern;
+
+ (void)button;
+ (void)user_data;
+
+ /* search_tab_search_entry */
+ pattern = (gchar *)gtk_entry_get_text(GTK_ENTRY(lookup_widget(gslapt,"search_tab_search_entry")));
+
+ treeview = GTK_TREE_VIEW(lookup_widget(gslapt,"search_pkg_listing_treeview"));
+ clear_treeview(treeview);
+ build_searched_treeviewlist(GTK_WIDGET(treeview),pattern);
+}
+
+void add_pkg_for_install (GtkButton *button, gpointer user_data) {
+ extern GtkWidget *gslapt;
+ extern transaction_t *trans;
+ extern struct pkg_list *installed;
+ extern struct pkg_list *all;
+ extern rc_config *global_config;
+ pkg_info_t *pkg;
+ pkg_info_t *installed_pkg;
+ GtkEntry *entry;
+ const gchar *pkg_name;
+ const gchar *pkg_version;
+
+ (void)button;
+ (void)user_data;
+
+ /* lookup pkg from form */
+ entry = GTK_ENTRY( lookup_widget(gslapt,"pkg_info_action_name_entry") );
+ pkg_name = gtk_entry_get_text(GTK_ENTRY(entry));
+ entry = GTK_ENTRY( lookup_widget(gslapt,"pkg_info_action_version_entry") );
+ pkg_version = gtk_entry_get_text(GTK_ENTRY(entry));
+
+ if( pkg_name == NULL ) return;
+
+ pkg = get_newest_pkg(all,pkg_name);
+ installed_pkg = get_newest_pkg(installed,pkg_name);
+ /* find out if this is a new install or an upgrade */
+ if( installed_pkg == NULL ){
+ guint c; gint dep_return = -1;
+ struct pkg_list *deps = init_pkg_list();
+
+ /* int get_pkg_dependencies(const rc_config *global_config,struct pkg_list *avail_pkgs,struct pkg_list *installed_pkgs,pkg_info_t *pkg,struct pkg_list *deps); */
+ dep_return = get_pkg_dependencies(global_config,all,installed,pkg,deps);
+
+ if( dep_return == -1 ){
+ add_exclude_to_transaction(trans,pkg);
+ }else{
+ for(c = 0; c < deps->pkg_count;c++){
+ /* only check if it's not already present in trans */
+ if( search_transaction(trans,deps->pkgs[c]->name) == 0 ){
+ pkg_info_t *dep_installed;
+
+ if( (dep_installed = get_newest_pkg(installed,deps->pkgs[c]->name)) == NULL ){
+ add_install_to_transaction(trans,deps->pkgs[c]);
+ }else{
+ /* add only if its a valid upgrade */
+ if(cmp_pkg_versions(dep_installed->version,deps->pkgs[c]->version) < 0 )
+ add_upgrade_to_transaction(trans,dep_installed,deps->pkgs[c]);
+ }
+ }
+ }
+ if( search_transaction(trans,pkg->name) == 0 )
+ add_install_to_transaction(trans,pkg);
+
+ free(deps->pkgs);
+ free(deps);
+ }
+
+ }else{
+ if( cmp_pkg_versions(installed_pkg->version,pkg->version) < 0){
+ guint c; gint dep_return = -1;
+ struct pkg_list *deps = init_pkg_list();
+
+ dep_return = get_pkg_dependencies(global_config,all,installed,pkg,deps);
+ if( dep_return == -1 ){
+ add_exclude_to_transaction(trans,pkg);
+ }else{
+ for(c = 0; c < deps->pkg_count;c++){
+ /* only check if it's not already present in trans */
+ if( search_transaction(trans,deps->pkgs[c]->name) == 0 ){
+ pkg_info_t *dep_installed;
+ if( (dep_installed = get_newest_pkg(installed,deps->pkgs[c]->name)) == NULL ){
+ add_install_to_transaction(trans,deps->pkgs[c]);
+ }else{
+ /* add only if its a valid upgrade */
+ if(cmp_pkg_versions(dep_installed->version,deps->pkgs[c]->version) < 0 )
+ add_upgrade_to_transaction(trans,installed_pkg,deps->pkgs[c]);
+ }
+ }
+ }/* end for loop */
+ if( search_transaction(trans,pkg->name) == 0 )
+ add_upgrade_to_transaction(trans,installed_pkg,pkg);
+ }
+ free(deps->pkgs);
+ free(deps);
+ }
+ }
+
+}
+
+void add_pkg_for_removal (GtkButton *button, gpointer user_data) {
+ extern GtkWidget *gslapt;
+ extern transaction_t *trans;
+ extern struct pkg_list *installed;
+ extern struct pkg_list *all;
+ extern rc_config *global_config;
+ pkg_info_t *pkg;
+ GtkEntry *entry;
+ const gchar *pkg_name;
+ const gchar *pkg_version;
+
+ (void)button;
+ (void)user_data;
+
+ /* lookup pkg from form */
+ entry = GTK_ENTRY( lookup_widget(gslapt,"pkg_info_action_name_entry") );
+ pkg_name = gtk_entry_get_text(GTK_ENTRY(entry));
+ entry = GTK_ENTRY( lookup_widget(gslapt,"pkg_info_action_version_entry") );
+ pkg_version = gtk_entry_get_text(GTK_ENTRY(entry));
+
+ if( (pkg = get_newest_pkg(installed,pkg_name)) != NULL ){
+ guint c;
+ struct pkg_list *deps;
+
+ deps = is_required_by(global_config,all,pkg);
+
+ for(c = 0; c < deps->pkg_count;c++){
+ /* if not already in the transaction, add if installed */
+ if( search_transaction(trans,deps->pkgs[c]->name) == 0 ){
+ if( get_newest_pkg(installed,deps->pkgs[c]->name) != NULL ){
+ add_remove_to_transaction(trans,deps->pkgs[c]);
+ }
+ }
+ }
+
+ free(deps->pkgs);
+ free(deps);
+
+ if( search_transaction(trans,pkg->name) == 0 )
+ add_remove_to_transaction(trans,pkg);
+
+ }
+
+}
+
+void add_pkg_for_exclude (GtkButton *button, gpointer user_data) {
+ extern GtkWidget *gslapt;
+ extern transaction_t *trans;
+ extern struct pkg_list *installed;
+ extern struct pkg_list *all;
+ GtkEntry *entry;
+ const gchar *pkg_name;
+ const gchar *pkg_version;
+ guint i;
+
+ (void)button;
+ (void)user_data;
+
+ /* lookup pkg from form */
+ entry = GTK_ENTRY( lookup_widget(gslapt,"pkg_info_action_name_entry") );
+ pkg_name = gtk_entry_get_text(entry);
+ entry = GTK_ENTRY( lookup_widget(gslapt,"pkg_info_action_version_entry") );
+ pkg_version = gtk_entry_get_text(GTK_ENTRY(entry));
+
+ /* exclude pkgs from available and installed */
+ for(i = 0; i < installed->pkg_count;i++){
+ if( strcmp(installed->pkgs[i]->name,pkg_name) == 0
+ && strcmp(installed->pkgs[i]->version,pkg_version) == 0
+ ){
+ if( search_transaction(trans,installed->pkgs[i]->name) == 0)
+ add_exclude_to_transaction(trans,installed->pkgs[i]);
+ }
+ }
+ for(i = 0; i < all->pkg_count;i++){
+ if( strcmp(all->pkgs[i]->name,pkg_name) == 0
+ && strcmp(all->pkgs[i]->version,pkg_version) == 0
+ ){
+ if( search_transaction(trans,all->pkgs[i]->name) == 0)
+ add_exclude_to_transaction(trans,all->pkgs[i]);
+ }
+ }
+
+ return;
+}
+
+void build_installed_treeviewlist(GtkWidget *treeview){
+ GtkListStore *store;
+ GtkTreeIter iter;
+ GtkCellRenderer *renderer;
+ GtkTreeViewColumn *column;
+ GtkTreeSelection *select;
+ extern struct pkg_list *installed;
+ guint i = 0;
+
+ store = gtk_list_store_new (
+ 3, /* name, version */
+ G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING
+ );
+
+ for(i = 0; i < installed->pkg_count; i++ ){
+ gtk_list_store_append (store, &iter);
+ gtk_list_store_set ( store, &iter,
+ 0,installed->pkgs[i]->name, 1,installed->pkgs[i]->version, 2,installed->pkgs[i]->location,-1
+ );
+ }
+
+ /* column for name */
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes ("Name", renderer,
+ "text", 0, NULL);
+ gtk_tree_view_column_set_sort_column_id (column, 0);
+ gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column);
+
+ /* column for version */
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes ("Version", renderer,
+ "text", 1, NULL);
+ gtk_tree_view_column_set_sort_column_id (column, 1);
+ gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column);
+
+ gtk_tree_view_set_model (GTK_TREE_VIEW(treeview),GTK_TREE_MODEL(store));
+
+ 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 (show_pkg_details), NULL);
+
+}
+
+
+void build_available_treeviewlist(GtkWidget *treeview){
+ GtkListStore *store;
+ GtkTreeIter iter;
+ GtkCellRenderer *renderer;
+ GtkTreeViewColumn *column;
+ GtkTreeSelection *select;
+ guint i = 0;
+ extern struct pkg_list *all;
+ extern struct pkg_list *installed;
+
+ store = gtk_list_store_new (
+ 3, /* name, version, location */
+ G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING
+ );
+
+ for(i = 0; i < all->pkg_count; i++ ){
+ if( get_pkg_by_details(
+ installed,
+ all->pkgs[i]->name,
+ all->pkgs[i]->version,
+ all->pkgs[i]->location
+ ) == NULL
+ ){
+ gtk_list_store_append (store, &iter);
+ gtk_list_store_set ( store, &iter,
+ 0,all->pkgs[i]->name, 1,all->pkgs[i]->version, 2,all->pkgs[i]->location, -1
+ );
+ }
+ }
+
+ /* column for name */
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes ("Name", renderer,
+ "text", 0, NULL);
+ gtk_tree_view_column_set_sort_column_id (column, 0);
+ gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column);
+
+ /* column for version */
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes ("Version", renderer,
+ "text", 1, NULL);
+ gtk_tree_view_column_set_sort_column_id (column, 1);
+ gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column);
+
+ /* column for location */
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes ("Location", renderer,
+ "text", 2, NULL);
+ gtk_tree_view_column_set_sort_column_id (column, 2);
+ gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column);
+
+ gtk_tree_view_set_model (GTK_TREE_VIEW(treeview),GTK_TREE_MODEL(store));
+
+ 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 (show_pkg_details), all);
+
+}
+
+
+void build_searched_treeviewlist(GtkWidget *treeview, gchar *pattern){
+ GtkListStore *store;
+ GtkTreeIter iter;
+ GtkCellRenderer *renderer;
+ GtkTreeViewColumn *column;
+ GtkTreeSelection *select;
+ guint i = 0;
+ extern struct pkg_list *all;
+ extern struct pkg_list *installed;
+
+ store = gtk_list_store_new (
+ 4, /* name, version, location, installed */
+ G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING
+ );
+
+ if( pattern != NULL ){
+ struct pkg_list *a_matches,*i_matches;
+
+ a_matches = search_pkg_list(all,pattern);
+ for(i = 0; i < a_matches->pkg_count; i++ ){
+ gchar installed_notification[4];
+ if(
+ get_pkg_by_details(
+ installed,
+ a_matches->pkgs[i]->name,
+ a_matches->pkgs[i]->version,
+ NULL
+ ) != NULL
+ ){
+ strcpy(installed_notification,"Yes\0");
+ }else{
+ strcpy(installed_notification,"No\0");
+ }
+ gtk_list_store_append (store, &iter);
+ gtk_list_store_set ( store, &iter,
+ 0,a_matches->pkgs[i]->name,
+ 1,a_matches->pkgs[i]->version,
+ 2,a_matches->pkgs[i]->location,
+ 3,installed_notification,-1
+ );
+ }
+ free(a_matches->pkgs);
+ free(a_matches);
+
+ i_matches = search_pkg_list(installed,pattern);
+ for(i = 0; i < i_matches->pkg_count; i++ ){
+ gchar installed_notification[4];
+ if(
+ get_pkg_by_details(
+ installed,
+ i_matches->pkgs[i]->name,
+ i_matches->pkgs[i]->version,
+ NULL
+ ) != NULL
+ ){
+ strcpy(installed_notification,"Yes\0");
+ }else{
+ strcpy(installed_notification,"No\0");
+ }
+ gtk_list_store_append (store, &iter);
+ gtk_list_store_set ( store, &iter,
+ 0,i_matches->pkgs[i]->name,
+ 1,i_matches->pkgs[i]->version,
+ 2,i_matches->pkgs[i]->location,
+ 3,installed_notification,-1
+ );
+ }
+ free(i_matches->pkgs);
+ free(i_matches);
+
+ }
+
+ /* column for name */
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes ("Name", renderer,
+ "text", 0, NULL);
+ gtk_tree_view_column_set_sort_column_id (column, 0);
+ gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column);
+
+ /* column for version */
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes ("Version", renderer,
+ "text", 1, NULL);
+ gtk_tree_view_column_set_sort_column_id (column, 1);
+ gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column);
+
+ /* column for location */
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes ("Location", renderer,
+ "text", 2, NULL);
+ gtk_tree_view_column_set_sort_column_id (column, 2);
+ gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column);
+
+ /* column for install */
+ renderer = gtk_cell_renderer_text_new ();
+ column = gtk_tree_view_column_new_with_attributes ("Installed?", renderer,
+ "text", 3, NULL);
+ gtk_tree_view_column_set_sort_column_id (column, 3);
+ gtk_tree_view_append_column (GTK_TREE_VIEW(treeview), column);
+
+
+ gtk_tree_view_set_model (GTK_TREE_VIEW(treeview),GTK_TREE_MODEL(store));
+
+ 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 (show_pkg_details), all);
+
+}
+
+
+void open_about (GtkObject *object, gpointer user_data) {
+ GtkWidget *about;
+ (void)object;
+ (void)user_data;
+ about = (GtkWidget *)create_about();
+ gtk_widget_show (about);
+}
+
+void show_pkg_details (GtkTreeSelection *selection, gpointer data) {
+ GtkTreeIter iter;
+ GtkTreeModel *model;
+ extern struct pkg_list *installed;
+ extern struct pkg_list *all;
+
+ (void)data;
+
+ if (gtk_tree_selection_get_selected (selection, &model, &iter)){
+ gchar *p_name,*p_version,*p_location;
+ pkg_info_t *pkg;
+
+ gtk_tree_model_get (model, &iter, 0, &p_name, -1);
+ gtk_tree_model_get (model, &iter, 1, &p_version, -1);
+ gtk_tree_model_get (model, &iter, 2, &p_location, -1);
+
+ pkg = get_pkg_by_details(all,p_name,p_version,p_location);
+ if( pkg != NULL ){
+ fillin_pkg_details(pkg);
+ }else{
+ pkg = get_pkg_by_details(installed,p_name,p_version,p_location);
+ if( pkg != NULL )
+ fillin_pkg_details(pkg);
+ }
+
+ g_free (p_name);
+ g_free (p_version);
+ g_free (p_location);
+ }
+
+}
+
+void fillin_pkg_details(pkg_info_t *pkg){
+ extern GtkWidget *gslapt;
+ extern struct pkg_list *installed;
+ extern struct pkg_list *all;
+ gchar size_c[20],size_u[20],*short_desc;
+ GtkButton *install_upgrade;
+ GtkButton *remove;
+ GtkButton *exclude;
+ pkg_info_t *installed_pkg;
+ pkg_info_t *upgrade_pkg;
+
+ /* lookup buttons */
+ install_upgrade = GTK_BUTTON( lookup_widget(gslapt,"pkg_info_action_install_upgrade_button") );
+ remove = GTK_BUTTON( lookup_widget(gslapt,"pkg_info_action_remove_button") );
+ exclude = GTK_BUTTON( lookup_widget(gslapt,"pkg_info_action_exclude_button") );
+
+ /* set default state */
+ gtk_widget_set_sensitive( GTK_WIDGET(install_upgrade),TRUE);
+ gtk_widget_set_sensitive( GTK_WIDGET(remove),TRUE);
+ gtk_widget_set_sensitive( GTK_WIDGET(exclude),TRUE);
+
+ gtk_entry_set_text(GTK_ENTRY(lookup_widget(gslapt,"pkg_info_action_name_entry")),pkg->name);
+ gtk_entry_set_text(GTK_ENTRY(lookup_widget(gslapt,"pkg_info_action_version_entry")),pkg->version);
+
+ installed_pkg = get_newest_pkg(installed,pkg->name);
+ upgrade_pkg = get_newest_pkg(all,pkg->name);
+
+ if( strcmp(pkg->location,"") != 0 && strcmp(pkg->description,"") != 0 ){
+ gtk_widget_set_sensitive( GTK_WIDGET(remove),FALSE);
+ gtk_entry_set_text(GTK_ENTRY(lookup_widget(gslapt,"pkg_info_action_location_entry")),pkg->location);
+ gtk_entry_set_text(GTK_ENTRY(lookup_widget(gslapt,"pkg_info_action_mirror_entry")),pkg->mirror);
+ sprintf(size_c,"%d K",pkg->size_c);
+ sprintf(size_u,"%d K",pkg->size_u);
+ gtk_entry_set_text(GTK_ENTRY(lookup_widget(gslapt,"pkg_info_action_size_entry")),size_c);
+ gtk_entry_set_text(GTK_ENTRY(lookup_widget(gslapt,"pkg_info_action_isize_entry")),size_u);
+ gtk_entry_set_text(GTK_ENTRY(lookup_widget(gslapt,"pkg_info_action_required_entry")),pkg->required);
+ short_desc = gen_short_pkg_description(pkg);
+ gtk_entry_set_text(GTK_ENTRY(lookup_widget(gslapt,"pkg_info_action_description_entry")),short_desc);
+ free(short_desc);
+ }else{
+ /* if there is no possible upgrade available */
+ if(
+ upgrade_pkg != NULL
+ && installed_pkg != NULL
+ && cmp_pkg_versions(installed_pkg->version,upgrade_pkg->version) >= 0
+ ){
+ gtk_widget_set_sensitive( GTK_WIDGET(install_upgrade),FALSE);
+ }
+ gtk_entry_set_text(GTK_ENTRY(lookup_widget(gslapt,"pkg_info_action_location_entry")),"");
+ gtk_entry_set_text(GTK_ENTRY(lookup_widget(gslapt,"pkg_info_action_mirror_entry")),"");
+ gtk_entry_set_text(GTK_ENTRY(lookup_widget(gslapt,"pkg_info_action_size_entry")),"");
+ gtk_entry_set_text(GTK_ENTRY(lookup_widget(gslapt,"pkg_info_action_isize_entry")),"");
+ gtk_entry_set_text(GTK_ENTRY(lookup_widget(gslapt,"pkg_info_action_required_entry")),"");
+ gtk_entry_set_text(GTK_ENTRY(lookup_widget(gslapt,"pkg_info_action_description_entry")),"");
+ }
+
+}
+
+void clear_treeview(GtkTreeView *treeview){
+ GtkListStore *store;
+ GList *columns;
+ guint i;
+
+ store = GTK_LIST_STORE(gtk_tree_view_get_model(treeview));
+ gtk_list_store_clear(store);
+ columns = gtk_tree_view_get_columns(treeview);
+ for(i = 0; i < g_list_length(columns); i++ ){
+ GtkTreeViewColumn *column = GTK_TREE_VIEW_COLUMN(g_list_nth_data(columns,i));
+ if( column != NULL )
+ gtk_tree_view_remove_column(treeview,column);
+ }
+ g_list_free(columns);
+}
+
+int lget_mirror_data_from_source(FILE *fh,const char *base_url,const char *filename){
+ gint return_code = 0;
+ gchar *url = NULL;
+ guint context_id;
+
+ url = calloc(
+ strlen(base_url) + strlen(filename) + 1, sizeof *url
+ );
+ if( url == NULL ){
+ /* fprintf(stderr,_("Failed to calloc url\n")); */
+ exit(1);
+ }
+
+ strncpy(url,base_url,strlen(base_url) );
+ url[ strlen(base_url) ] = '\0';
+ strncat(url,filename,strlen(filename) );
+ fprintf(stderr,"fetching %s\n",url);
+ context_id = gslapt_set_status(url);
+ return_code = ldownload_data(fh,url);
+ gslapt_clear_status(context_id);
+
+ free(url);
+ /* make sure we are back at the front of the file */
+ /* DISABLED */
+ /* rewind(fh); */
+ return return_code;
+}
+
+int ldownload_data(FILE *fh,const char *url ){
+ CURL *ch = NULL;
+ CURLcode response;
+ gchar curl_err_buff[1024];
+ gint return_code = 0;
+
+ ch = curl_easy_init();
+ curl_easy_setopt(ch, CURLOPT_URL, url);
+ curl_easy_setopt(ch, CURLOPT_WRITEDATA, fh);
+ curl_easy_setopt(ch, CURLOPT_NOPROGRESS, 0);
+ curl_easy_setopt(ch, CURLOPT_USERAGENT, "gslapt" );
+ curl_easy_setopt(ch, CURLOPT_USERPWD, "anonymous:slapt-get-user@software.jaos.org");
+ curl_easy_setopt(ch, CURLOPT_ERRORBUFFER, curl_err_buff );
+ curl_easy_setopt(ch, CURLOPT_PROGRESSFUNCTION, gtk_progress_callback );
+
+ if( (response = curl_easy_perform(ch)) != 0 ){
+ /* fprintf(stderr,_("Failed to download: %s\n"),curl_err_buff); */
+ return_code = -1;
+ }
+ /*
+ * need to use curl_easy_cleanup() so that we don't
+ * have tons of open connections, getting rejected
+ * by ftp servers for being naughty.
+ */
+ curl_easy_cleanup(ch);
+ /* can't do a curl_free() after curl_easy_cleanup() */
+ /* curl_free(ch); */
+
+ return return_code;
+}
+
+void get_package_data(void){
+ extern rc_config *global_config;
+ guint i;
+ gint source_dl_failed = 0;
+ FILE *pkg_list_fh_tmp = NULL;
+ extern GtkWidget *gslapt;
+
+ gdk_threads_enter();
+ lock_toolbar_buttons();
+ gdk_threads_leave();
+
+ /* open tmp pkg list file */
+ pkg_list_fh_tmp = tmpfile();
+ if( pkg_list_fh_tmp == NULL ){
+ if( errno ) perror("tmpfile");
+ exit(1);
+ }
+
+ /* go through each package source and download the meta data */
+ for(i = 0; i < global_config->sources.count; i++){
+ FILE *tmp_pkg_f,*tmp_patch_f,*tmp_checksum_f;
+ struct pkg_list *available_pkgs = NULL;
+ struct pkg_list *patch_pkgs = NULL;
+ gchar *pkg_filename,*patch_filename,*checksum_filename;
+ gchar *pkg_head,*pkg_local_head;
+ gchar *patch_head,*patch_local_head;
+ gchar *checksum_head,*checksum_local_head;
+
+ /* download our PKG_LIST */
+ pkg_filename = gen_filename_from_url(global_config->sources.url[i],PKG_LIST);
+ pkg_head = head_mirror_data(global_config->sources.url[i],PKG_LIST);
+ pkg_local_head = read_head_cache(pkg_filename);
+
+ /* open for reading if cached, otherwise write it from the downloaded data */
+ if( pkg_head != NULL && pkg_local_head != NULL && strcmp(pkg_head,pkg_local_head) == 0){
+ if( (tmp_pkg_f = open_file(pkg_filename,"r")) == NULL ) exit(1);
+ available_pkgs = parse_packages_txt(tmp_pkg_f);
+ }else{
+ if( (tmp_pkg_f = open_file(pkg_filename,"w+b")) == NULL ) exit(1);
+ if( lget_mirror_data_from_source(tmp_pkg_f,global_config->sources.url[i],PKG_LIST) == 0 ){
+ rewind(tmp_pkg_f); /* make sure we are back at the front of the file */
+ available_pkgs = parse_packages_txt(tmp_pkg_f);
+ }else{
+ source_dl_failed = 1;
+ clear_head_cache(pkg_filename);
+ }
+ }
+ if( available_pkgs == NULL || available_pkgs->pkg_count < 1 ){
+ source_dl_failed = 1;
+ clear_head_cache(pkg_filename);
+ }
+ /* if all is good, write it */
+ if( source_dl_failed != 1 && pkg_head != NULL ) write_head_cache(pkg_head,pkg_filename);
+ free(pkg_head);
+ free(pkg_local_head);
+ free(pkg_filename);
+ fclose(tmp_pkg_f);
+
+
+ /* download PATCHES_LIST */
+ patch_filename = gen_filename_from_url(global_config->sources.url[i],PATCHES_LIST);
+ patch_head = head_mirror_data(global_config->sources.url[i],PATCHES_LIST);
+ patch_local_head = read_head_cache(patch_filename);
+
+ /* open for reading if cached, otherwise write it from the downloaded data */
+ if( patch_head != NULL && patch_local_head != NULL && strcmp(patch_head,patch_local_head) == 0){
+ if( (tmp_patch_f = open_file(patch_filename,"r")) == NULL ) exit(1);
+ patch_pkgs = parse_packages_txt(tmp_patch_f);
+ }else{
+ if( (tmp_patch_f = open_file(patch_filename,"w+b")) == NULL ) exit (1);
+ if( lget_mirror_data_from_source(tmp_patch_f,global_config->sources.url[i],PATCHES_LIST) == 0 ){
+ rewind(tmp_patch_f); /* make sure we are back at the front of the file */
+ patch_pkgs = parse_packages_txt(tmp_patch_f);
+ }else{
+ /* we don't care if the patch fails, for example current doesn't have patches */
+ /* source_dl_failed = 1; */
+ clear_head_cache(patch_filename);
+ }
+ }
+ /* if all is good, write it */
+ if( source_dl_failed != 1 && patch_head != NULL ) write_head_cache(patch_head,patch_filename);
+ free(patch_head);
+ free(patch_local_head);
+ free(patch_filename);
+ fclose(tmp_patch_f);
+
+
+ /* download checksum file */
+ checksum_filename = gen_filename_from_url(global_config->sources.url[i],CHECKSUM_FILE);
+ checksum_head = head_mirror_data(global_config->sources.url[i],CHECKSUM_FILE);
+ checksum_local_head = read_head_cache(checksum_filename);
+
+ /* open for reading if cached, otherwise write it from the downloaded data */
+ if( checksum_head != NULL && checksum_local_head != NULL && strcmp(checksum_head,checksum_local_head) == 0){
+ if( (tmp_checksum_f = open_file(checksum_filename,"r")) == NULL ) exit(1);
+ }else{
+ if( (tmp_checksum_f = open_file(checksum_filename,"w+b")) == NULL ) exit(1);
+ if( lget_mirror_data_from_source(
+ tmp_checksum_f,global_config->sources.url[i],CHECKSUM_FILE
+ ) != 0
+ ){
+ source_dl_failed = 1;
+ clear_head_cache(checksum_filename);
+ }else{
+ }
+ rewind(tmp_checksum_f); /* make sure we are back at the front of the file */
+ }
+ /* if all is good, write it */
+ if( source_dl_failed != 1 && checksum_head != NULL ) write_head_cache(checksum_head,checksum_filename);
+ free(checksum_head);
+ free(checksum_local_head);
+
+ /*
+ only do this double check if we know it didn't fail
+ */
+ if( source_dl_failed != 1 ){
+ if( available_pkgs->pkg_count == 0 ) source_dl_failed = 1;
+ }
+
+ /* if the download failed don't do this, do it if cached or d/l was good */
+ if( source_dl_failed != 1 ){
+ guint a;
+
+ /* now map md5 checksums to packages */
+ for(a = 0;a < available_pkgs->pkg_count;a++){
+ get_md5sum(available_pkgs->pkgs[a],tmp_checksum_f);
+ }
+ for(a = 0;a < patch_pkgs->pkg_count;a++){
+ get_md5sum(patch_pkgs->pkgs[a],tmp_checksum_f);
+ }
+
+ /* write package listings to disk */
+ write_pkg_data(global_config->sources.url[i],pkg_list_fh_tmp,available_pkgs);
+ write_pkg_data(global_config->sources.url[i],pkg_list_fh_tmp,patch_pkgs);
+
+ }
+ if ( available_pkgs ) free_pkg_list(available_pkgs);
+ if ( patch_pkgs ) free_pkg_list(patch_pkgs);
+ free(checksum_filename);
+ fclose(tmp_checksum_f);
+
+ }/* end for loop */
+
+ /* if all our downloads where a success, write to PKG_LIST_L */
+ if( source_dl_failed != 1 ){
+ ssize_t bytes_read;
+ size_t getline_len = 0;
+ gchar *getline_buffer = NULL;
+ FILE *pkg_list_fh;
+
+ if( (pkg_list_fh = open_file(PKG_LIST_L,"w+")) == NULL ) exit(1);
+ if( pkg_list_fh == NULL ) exit(1);
+ rewind(pkg_list_fh_tmp);
+ while( (bytes_read = getline(&getline_buffer,&getline_len,pkg_list_fh_tmp) ) != EOF ){
+ fprintf(pkg_list_fh,"%s",getline_buffer);
+ }
+ if( getline_buffer ) free(getline_buffer);
+ fclose(pkg_list_fh);
+
+ }
+
+ /* close the tmp pkg list file */
+ fclose(pkg_list_fh_tmp);
+
+ gdk_threads_enter();
+ unlock_toolbar_buttons();
+ rebuild_treeviews();
+ gdk_threads_leave();
+
+}
+
+int gtk_progress_callback(void *data, double dltotal, double dlnow, double ultotal, double ulnow){
+ extern GtkWidget *gslapt;
+
+ (void)gslapt;
+ (void)data;
+ (void)ultotal;
+ (void)ulnow;
+
+ gdk_threads_enter();
+ gdk_threads_leave();
+
+ return 0;
+}
+
+void rebuild_treeviews(void){
+ extern GtkWidget *gslapt;
+ GtkWidget *treeview;
+ extern struct pkg_list *installed;
+ extern struct pkg_list *all;
+ struct pkg_list *all_ptr,*installed_ptr;
+
+ treeview = (GtkWidget *)lookup_widget(gslapt,"inst_pkg_listing_treeview");
+ clear_treeview( GTK_TREE_VIEW(treeview) );
+ installed_ptr = installed;
+ installed = get_installed_pkgs();
+ build_installed_treeviewlist(treeview);
+ free_pkg_list(installed_ptr);
+
+ treeview = (GtkWidget *)lookup_widget(gslapt,"available_pkg_listing_treeview");
+ clear_treeview( GTK_TREE_VIEW(treeview) );
+ all_ptr = all;
+ all = get_available_pkgs();
+ build_available_treeviewlist(treeview);
+ free_pkg_list(all_ptr);
+
+}
+
+guint gslapt_set_status(const gchar *msg){
+ extern GtkWidget *gslapt;
+ guint context_id;
+ GtkStatusbar *bar = GTK_STATUSBAR(lookup_widget(gslapt,"bottom_statusbar"));
+ context_id = gtk_statusbar_get_context_id(bar,msg);
+
+ fprintf(stderr,"setting status\n");
+ gtk_statusbar_push(bar,context_id,msg);
+
+ return context_id;
+}
+
+void gslapt_clear_status(guint context_id){
+ extern GtkWidget *gslapt;
+ GtkStatusbar *bar = GTK_STATUSBAR(lookup_widget(gslapt,"bottom_statusbar"));
+
+ gtk_statusbar_pop(bar,context_id);
+ fprintf(stderr,"cleared status\n");
+}
+
+void on_preferences_buttons_cancel_clicked (GtkButton *button, gpointer user_data) {
+ GtkWidget *preferences = (GtkWidget *)user_data;
+ (void)button;
+ gtk_widget_destroy(preferences);
+}
+
+void on_preferences_buttons_ok_clicked (GtkButton *button, gpointer user_data) {
+ GtkWidget *preferences = (GtkWidget *)user_data;
+ (void)button;
+ gtk_widget_destroy(preferences);
+}
+
+void on_preferences_buttons_apply_clicked (GtkButton *button, gpointer user_data) {
+ GtkWidget *preferences = (GtkWidget *)user_data;
+ (void)button;
+ gtk_widget_destroy(preferences);
+}
+
+void on_transaction_report_cancel_button_clicked (GtkButton *button, gpointer user_data) {
+ (void)button;
+ (void)user_data;
+}
+
+void on_transaction_report_ok_button_clicked (GtkButton *button, gpointer user_data) {
+ (void)button;
+ (void)user_data;
+}
+
+void lock_toolbar_buttons(void){
+ extern GtkWidget *gslapt;
+ GtkToolButton *action_bar_update_button = GTK_TOOL_BUTTON( lookup_widget(gslapt,"action_bar_update_button") );
+ GtkToolButton *action_bar_upgrade_button = GTK_TOOL_BUTTON( lookup_widget(gslapt,"action_bar_upgrade_button") );
+ GtkToolButton *action_bar_dist_upgrade_button = GTK_TOOL_BUTTON( lookup_widget(gslapt,"action_bar_dist_upgrade_button") );
+ GtkToolButton *action_bar_execute_button = GTK_TOOL_BUTTON( lookup_widget(gslapt,"action_bar_execute_button") );
+
+ gtk_widget_set_sensitive((GtkWidget *)action_bar_update_button,FALSE);
+ gtk_widget_set_sensitive((GtkWidget *)action_bar_upgrade_button,FALSE);
+ gtk_widget_set_sensitive((GtkWidget *)action_bar_dist_upgrade_button,FALSE);
+ gtk_widget_set_sensitive((GtkWidget *)action_bar_execute_button,FALSE);
+}
+
+void unlock_toolbar_buttons(void){
+ extern GtkWidget *gslapt;
+ GtkToolButton *action_bar_update_button = GTK_TOOL_BUTTON( lookup_widget(gslapt,"action_bar_update_button") );
+ GtkToolButton *action_bar_upgrade_button = GTK_TOOL_BUTTON( lookup_widget(gslapt,"action_bar_upgrade_button") );
+ GtkToolButton *action_bar_dist_upgrade_button = GTK_TOOL_BUTTON( lookup_widget(gslapt,"action_bar_dist_upgrade_button") );
+ GtkToolButton *action_bar_execute_button = GTK_TOOL_BUTTON( lookup_widget(gslapt,"action_bar_execute_button") );
+
+ gtk_widget_set_sensitive((GtkWidget *)action_bar_update_button,TRUE);
+ gtk_widget_set_sensitive((GtkWidget *)action_bar_upgrade_button,TRUE);
+ gtk_widget_set_sensitive((GtkWidget *)action_bar_dist_upgrade_button,TRUE);
+ gtk_widget_set_sensitive((GtkWidget *)action_bar_execute_button,TRUE);
+}
+
+void preferences_sources_add(GtkButton *button, gpointer user_data){
+ (void)button;
+ (void)user_data;
+}
+
+void preferences_sources_remove(GtkButton *button, gpointer user_data){
+ (void)button;
+ (void)user_data;
+}
+
+void preferences_on_apply_clicked(GtkWidget *w, gpointer user_data){
+ (void)user_data;
+ gtk_widget_destroy(w);
+}
+
+void preferences_on_ok_clicked(GtkWidget *w, gpointer user_data){
+ (void)user_data;
+ gtk_widget_destroy(w);
+}
+
+
+void on_transaction_okbutton1_clicked(GtkWidget *w, gpointer user_data){
+ (void)user_data;
+ gtk_widget_destroy(w);
+}
+
+
diff --git a/src/callbacks.h b/src/callbacks.h
new file mode 100644
index 0000000..3b283f1
--- /dev/null
+++ b/src/callbacks.h
@@ -0,0 +1,47 @@
+#define _LIBINTL_H
+#include <gtk/gtk.h>
+#include <slapt.h>
+
+void on_gslapt_destroy (GtkObject *object, gpointer user_data);
+void update_callback (GtkObject *object, gpointer user_data);
+void upgrade_callback (GtkObject *object, gpointer user_data);
+void distupgrade_callback (GtkObject *object, gpointer user_data);
+void execute_callback (GtkObject *object, gpointer user_data);
+void quit_callback(GtkMenuItem *menuitem, gpointer user_data);
+void open_preferences (GtkMenuItem *menuitem, gpointer user_data);
+void on_search_tab_search_button_clicked (GtkButton *button, gpointer user_data);
+void add_pkg_for_install (GtkButton *button, gpointer user_data);
+void add_pkg_for_removal (GtkButton *button, gpointer user_data);
+void add_pkg_for_exclude (GtkButton *button, gpointer user_data);
+void build_installed_treeviewlist(GtkWidget *);
+void build_available_treeviewlist(GtkWidget *);
+void build_searched_treeviewlist(GtkWidget *,gchar *pattern);
+void open_about (GtkObject *object, gpointer user_data);
+
+void show_pkg_details (GtkTreeSelection *selection, gpointer data);
+void fillin_pkg_details(pkg_info_t *pkg);
+void clear_treeview(GtkTreeView *treeview);
+
+int ldownload_data(FILE *,const char *);
+int lget_mirror_data_from_source(FILE *,const char *,const char *);
+void get_package_data(void);
+void rebuild_treeviews(void);
+int gtk_progress_callback(void *, double, double, double, double);
+guint gslapt_set_status(const gchar *);
+void gslapt_clear_status(guint context_id);
+void lock_toolbar_buttons(void);
+void unlock_toolbar_buttons(void);
+
+void on_preferences_buttons_cancel_clicked(GtkButton *button,gpointer user_data);
+void on_preferences_buttons_ok_clicked(GtkButton *button,gpointer user_data);
+void on_preferences_buttons_apply_clicked(GtkButton *button,gpointer user_data);
+void on_transaction_report_cancel_button_clicked(GtkButton *button,gpointer user_data);
+void on_transaction_report_ok_button_clicked(GtkButton *button,gpointer user_data);
+
+void preferences_sources_add(GtkButton *button, gpointer user_data);
+void preferences_sources_remove(GtkButton *button, gpointer user_data);
+void preferences_on_apply_clicked(GtkWidget *w, gpointer user_data);
+void preferences_on_ok_clicked(GtkWidget *w, gpointer user_data);
+
+void on_transaction_okbutton1_clicked(GtkWidget *w, gpointer user_data);
+
diff --git a/src/interface.c b/src/interface.c
new file mode 100644
index 0000000..9036e10
--- /dev/null
+++ b/src/interface.c
@@ -0,0 +1,1437 @@
+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+
+#include <gdk/gdkkeysyms.h>
+#include <gtk/gtk.h>
+
+#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_window_preferences (void)
+{
+ GtkWidget *window_preferences;
+ GtkWidget *preferences_vbox;
+ GtkWidget *preferences_notebook;
+ GtkWidget *preferences_working_dir_vbox;
+ GtkWidget *preferences_working_dir_vbox_vbox;
+ GtkWidget *preferences_working_dir_label;
+ GtkWidget *hbox3;
+ GtkWidget *label72;
+ GtkWidget *vbox12;
+ GtkWidget *preferences_working_dir_entry;
+ GtkWidget *label50;
+ GtkWidget *preferences_sources_vbox;
+ GtkWidget *vbox38;
+ GtkWidget *preferences_sources_label;
+ GtkWidget *hbox75;
+ GtkWidget *preferences_sources_empty_label;
+ GtkWidget *preferences_sources_hbox;
+ GtkWidget *scrolledwindow1;
+ GtkWidget *treeview_columns;
+ GtkWidget *vbox39;
+ GtkWidget *preferences_add_source_button;
+ GtkWidget *preferences_remove_source_button;
+ GtkWidget *label118;
+ GtkWidget *preferences_excludes_vbox;
+ GtkWidget *preferences_excludes_vbox_vbox;
+ GtkWidget *preferences_excludes_label;
+ GtkWidget *preferences_excludes_hbox;
+ GtkWidget *label110;
+ GtkWidget *preferences_exclude_list_entry;
+ GtkWidget *label51;
+ GtkWidget *preferences_hbuttonbox;
+ GtkWidget *preferences_apply_button;
+ GtkWidget *preferences_close_button;
+ GtkWidget *preferences_ok_button;
+
+ window_preferences = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_set_name (window_preferences, "window_preferences");
+ gtk_window_set_title (GTK_WINDOW (window_preferences), _("Preferences"));
+ gtk_window_set_position (GTK_WINDOW (window_preferences), GTK_WIN_POS_CENTER);
+ gtk_window_set_modal (GTK_WINDOW (window_preferences), TRUE);
+
+ preferences_vbox = gtk_vbox_new (FALSE, 0);
+ gtk_widget_set_name (preferences_vbox, "preferences_vbox");
+ gtk_widget_show (preferences_vbox);
+ gtk_container_add (GTK_CONTAINER (window_preferences), preferences_vbox);
+ gtk_container_set_border_width (GTK_CONTAINER (preferences_vbox), 6);
+
+ preferences_notebook = gtk_notebook_new ();
+ gtk_widget_set_name (preferences_notebook, "preferences_notebook");
+ gtk_widget_show (preferences_notebook);
+ gtk_box_pack_start (GTK_BOX (preferences_vbox), preferences_notebook, TRUE, TRUE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (preferences_notebook), 6);
+
+ preferences_working_dir_vbox = gtk_vbox_new (FALSE, 18);
+ gtk_widget_set_name (preferences_working_dir_vbox, "preferences_working_dir_vbox");
+ gtk_widget_show (preferences_working_dir_vbox);
+ gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_working_dir_vbox);
+ gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (preferences_notebook), preferences_working_dir_vbox,
+ FALSE, FALSE, GTK_PACK_START);
+ gtk_container_set_border_width (GTK_CONTAINER (preferences_working_dir_vbox), 12);
+
+ preferences_working_dir_vbox_vbox = gtk_vbox_new (FALSE, 6);
+ gtk_widget_set_name (preferences_working_dir_vbox_vbox, "preferences_working_dir_vbox_vbox");
+ gtk_widget_show (preferences_working_dir_vbox_vbox);
+ gtk_box_pack_start (GTK_BOX (preferences_working_dir_vbox), preferences_working_dir_vbox_vbox, FALSE, FALSE, 0);
+
+ preferences_working_dir_label = gtk_label_new (_("<b>Package and data storage</b>"));
+ gtk_widget_set_name (preferences_working_dir_label, "preferences_working_dir_label");
+ gtk_widget_show (preferences_working_dir_label);
+ gtk_box_pack_start (GTK_BOX (preferences_working_dir_vbox_vbox), preferences_working_dir_label, FALSE, FALSE, 0);
+ gtk_label_set_use_markup (GTK_LABEL (preferences_working_dir_label), TRUE);
+ gtk_misc_set_alignment (GTK_MISC (preferences_working_dir_label), 0, 0.5);
+
+ hbox3 = gtk_hbox_new (FALSE, 0);
+ gtk_widget_set_name (hbox3, "hbox3");
+ gtk_widget_show (hbox3);
+ gtk_box_pack_start (GTK_BOX (preferences_working_dir_vbox_vbox), hbox3, FALSE, FALSE, 0);
+
+ label72 = gtk_label_new (_(" "));
+ gtk_widget_set_name (label72, "label72");
+ gtk_widget_show (label72);
+ gtk_box_pack_start (GTK_BOX (hbox3), label72, FALSE, FALSE, 0);
+
+ vbox12 = gtk_vbox_new (FALSE, 6);
+ gtk_widget_set_name (vbox12, "vbox12");
+ gtk_widget_show (vbox12);
+ gtk_box_pack_start (GTK_BOX (hbox3), vbox12, FALSE, FALSE, 0);
+
+ preferences_working_dir_entry = gtk_entry_new ();
+ gtk_widget_set_name (preferences_working_dir_entry, "preferences_working_dir_entry");
+ gtk_widget_show (preferences_working_dir_entry);
+ gtk_box_pack_start (GTK_BOX (vbox12), preferences_working_dir_entry, FALSE, FALSE, 0);
+
+ label50 = gtk_label_new (_("Working Directory"));
+ gtk_widget_set_name (label50, "label50");
+ gtk_widget_show (label50);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 0), label50);
+ gtk_label_set_justify (GTK_LABEL (label50), GTK_JUSTIFY_CENTER);
+
+ preferences_sources_vbox = gtk_vbox_new (FALSE, 18);
+ gtk_widget_set_name (preferences_sources_vbox, "preferences_sources_vbox");
+ gtk_widget_show (preferences_sources_vbox);
+ gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_sources_vbox);
+ gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (preferences_notebook), preferences_sources_vbox,
+ FALSE, FALSE, GTK_PACK_START);
+ gtk_container_set_border_width (GTK_CONTAINER (preferences_sources_vbox), 12);
+
+ vbox38 = gtk_vbox_new (FALSE, 6);
+ gtk_widget_set_name (vbox38, "vbox38");
+ gtk_widget_show (vbox38);
+ gtk_box_pack_start (GTK_BOX (preferences_sources_vbox), vbox38, FALSE, FALSE, 0);
+
+ preferences_sources_label = gtk_label_new (_("<b>Package Sources</b>"));
+ gtk_widget_set_name (preferences_sources_label, "preferences_sources_label");
+ gtk_widget_show (preferences_sources_label);
+ gtk_box_pack_start (GTK_BOX (vbox38), preferences_sources_label, FALSE, FALSE, 0);
+ gtk_label_set_use_markup (GTK_LABEL (preferences_sources_label), TRUE);
+ gtk_misc_set_alignment (GTK_MISC (preferences_sources_label), 0, 0.5);
+
+ hbox75 = gtk_hbox_new (FALSE, 0);
+ gtk_widget_set_name (hbox75, "hbox75");
+ gtk_widget_show (hbox75);
+ gtk_box_pack_start (GTK_BOX (vbox38), hbox75, TRUE, TRUE, 0);
+ gtk_widget_set_size_request (hbox75, -1, 174);
+
+ preferences_sources_empty_label = gtk_label_new (_(" "));
+ gtk_widget_set_name (preferences_sources_empty_label, "preferences_sources_empty_label");
+ gtk_widget_show (preferences_sources_empty_label);
+ gtk_box_pack_start (GTK_BOX (hbox75), preferences_sources_empty_label, FALSE, FALSE, 0);
+
+ preferences_sources_hbox = gtk_hbox_new (FALSE, 12);
+ gtk_widget_set_name (preferences_sources_hbox, "preferences_sources_hbox");
+ gtk_widget_show (preferences_sources_hbox);
+ gtk_box_pack_start (GTK_BOX (hbox75), preferences_sources_hbox, TRUE, TRUE, 0);
+
+ scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_set_name (scrolledwindow1, "scrolledwindow1");
+ gtk_widget_show (scrolledwindow1);
+ gtk_box_pack_start (GTK_BOX (preferences_sources_hbox), scrolledwindow1, TRUE, TRUE, 0);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_SHADOW_IN);
+
+ treeview_columns = gtk_tree_view_new ();
+ gtk_widget_set_name (treeview_columns, "treeview_columns");
+ gtk_widget_show (treeview_columns);
+ gtk_container_add (GTK_CONTAINER (scrolledwindow1), treeview_columns);
+
+ vbox39 = gtk_vbox_new (FALSE, 6);
+ gtk_widget_set_name (vbox39, "vbox39");
+ gtk_widget_show (vbox39);
+ gtk_box_pack_start (GTK_BOX (preferences_sources_hbox), vbox39, FALSE, FALSE, 0);
+
+ preferences_add_source_button = gtk_button_new_from_stock ("gtk-add");
+ gtk_widget_set_name (preferences_add_source_button, "preferences_add_source_button");
+ gtk_widget_show (preferences_add_source_button);
+ gtk_box_pack_start (GTK_BOX (vbox39), preferences_add_source_button, FALSE, FALSE, 0);
+
+ preferences_remove_source_button = gtk_button_new_from_stock ("gtk-remove");
+ gtk_widget_set_name (preferences_remove_source_button, "preferences_remove_source_button");
+ gtk_widget_show (preferences_remove_source_button);
+ gtk_box_pack_start (GTK_BOX (vbox39), preferences_remove_source_button, FALSE, FALSE, 0);
+
+ label118 = gtk_label_new (_("Sources"));
+ gtk_widget_set_name (label118, "label118");
+ gtk_widget_show (label118);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 1), label118);
+
+ preferences_excludes_vbox = gtk_vbox_new (FALSE, 18);
+ gtk_widget_set_name (preferences_excludes_vbox, "preferences_excludes_vbox");
+ gtk_widget_show (preferences_excludes_vbox);
+ gtk_container_add (GTK_CONTAINER (preferences_notebook), preferences_excludes_vbox);
+ gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (preferences_notebook), preferences_excludes_vbox,
+ FALSE, FALSE, GTK_PACK_START);
+ gtk_container_set_border_width (GTK_CONTAINER (preferences_excludes_vbox), 12);
+
+ preferences_excludes_vbox_vbox = gtk_vbox_new (FALSE, 6);
+ gtk_widget_set_name (preferences_excludes_vbox_vbox, "preferences_excludes_vbox_vbox");
+ gtk_widget_show (preferences_excludes_vbox_vbox);
+ gtk_box_pack_start (GTK_BOX (preferences_excludes_vbox), preferences_excludes_vbox_vbox, FALSE, FALSE, 0);
+
+ preferences_excludes_label = gtk_label_new (_("<b>Exclude List</b>"));
+ gtk_widget_set_name (preferences_excludes_label, "preferences_excludes_label");
+ gtk_widget_show (preferences_excludes_label);
+ gtk_box_pack_start (GTK_BOX (preferences_excludes_vbox_vbox), preferences_excludes_label, FALSE, FALSE, 0);
+ gtk_label_set_use_markup (GTK_LABEL (preferences_excludes_label), TRUE);
+ gtk_misc_set_alignment (GTK_MISC (preferences_excludes_label), 0, 0.5);
+
+ preferences_excludes_hbox = gtk_hbox_new (FALSE, 0);
+ gtk_widget_set_name (preferences_excludes_hbox, "preferences_excludes_hbox");
+ gtk_widget_show (preferences_excludes_hbox);
+ gtk_box_pack_start (GTK_BOX (preferences_excludes_vbox_vbox), preferences_excludes_hbox, FALSE, FALSE, 0);
+
+ label110 = gtk_label_new (_(" "));
+ gtk_widget_set_name (label110, "label110");
+ gtk_widget_show (label110);
+ gtk_box_pack_start (GTK_BOX (preferences_excludes_hbox), label110, FALSE, FALSE, 0);
+
+ preferences_exclude_list_entry = gtk_entry_new ();
+ gtk_widget_set_name (preferences_exclude_list_entry, "preferences_exclude_list_entry");
+ gtk_widget_show (preferences_exclude_list_entry);
+ gtk_box_pack_start (GTK_BOX (preferences_excludes_hbox), preferences_exclude_list_entry, FALSE, FALSE, 0);
+
+ label51 = gtk_label_new (_("Excludes"));
+ gtk_widget_set_name (label51, "label51");
+ gtk_widget_show (label51);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (preferences_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (preferences_notebook), 2), label51);
+ gtk_label_set_justify (GTK_LABEL (label51), GTK_JUSTIFY_CENTER);
+
+ preferences_hbuttonbox = gtk_hbutton_box_new ();
+ gtk_widget_set_name (preferences_hbuttonbox, "preferences_hbuttonbox");
+ gtk_widget_show (preferences_hbuttonbox);
+ gtk_box_pack_start (GTK_BOX (preferences_vbox), preferences_hbuttonbox, FALSE, FALSE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (preferences_hbuttonbox), 6);
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (preferences_hbuttonbox), GTK_BUTTONBOX_END);
+ gtk_box_set_spacing (GTK_BOX (preferences_hbuttonbox), 6);
+
+ preferences_apply_button = gtk_button_new_from_stock ("gtk-apply");
+ gtk_widget_set_name (preferences_apply_button, "preferences_apply_button");
+ gtk_widget_show (preferences_apply_button);
+ gtk_container_add (GTK_CONTAINER (preferences_hbuttonbox), preferences_apply_button);
+ GTK_WIDGET_SET_FLAGS (preferences_apply_button, GTK_CAN_DEFAULT);
+
+ preferences_close_button = gtk_button_new_from_stock ("gtk-cancel");
+ gtk_widget_set_name (preferences_close_button, "preferences_close_button");
+ gtk_widget_show (preferences_close_button);
+ gtk_container_add (GTK_CONTAINER (preferences_hbuttonbox), preferences_close_button);
+ GTK_WIDGET_SET_FLAGS (preferences_close_button, GTK_CAN_DEFAULT);
+
+ preferences_ok_button = gtk_button_new_from_stock ("gtk-ok");
+ gtk_widget_set_name (preferences_ok_button, "preferences_ok_button");
+ gtk_widget_show (preferences_ok_button);
+ gtk_container_add (GTK_CONTAINER (preferences_hbuttonbox), preferences_ok_button);
+ GTK_WIDGET_SET_FLAGS (preferences_ok_button, GTK_CAN_DEFAULT);
+
+ g_signal_connect ((gpointer) window_preferences, "destroy_event",
+ G_CALLBACK (gtk_widget_destroy),
+ NULL);
+ g_signal_connect ((gpointer) preferences_add_source_button, "clicked",
+ G_CALLBACK (preferences_sources_add),
+ NULL);
+ g_signal_connect ((gpointer) preferences_remove_source_button, "clicked",
+ G_CALLBACK (preferences_sources_remove),
+ NULL);
+ g_signal_connect_swapped ((gpointer) preferences_apply_button, "clicked",
+ G_CALLBACK (preferences_on_apply_clicked),
+ GTK_OBJECT (window_preferences));
+ g_signal_connect_swapped ((gpointer) preferences_close_button, "clicked",
+ G_CALLBACK (gtk_widget_destroy),
+ GTK_OBJECT (window_preferences));
+ g_signal_connect_swapped ((gpointer) preferences_ok_button, "clicked",
+ G_CALLBACK (preferences_on_ok_clicked),
+ GTK_OBJECT (window_preferences));
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (window_preferences, window_preferences, "window_preferences");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_vbox, "preferences_vbox");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_notebook, "preferences_notebook");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_working_dir_vbox, "preferences_working_dir_vbox");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_working_dir_vbox_vbox, "preferences_working_dir_vbox_vbox");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_working_dir_label, "preferences_working_dir_label");
+ GLADE_HOOKUP_OBJECT (window_preferences, hbox3, "hbox3");
+ GLADE_HOOKUP_OBJECT (window_preferences, label72, "label72");
+ GLADE_HOOKUP_OBJECT (window_preferences, vbox12, "vbox12");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_working_dir_entry, "preferences_working_dir_entry");
+ GLADE_HOOKUP_OBJECT (window_preferences, label50, "label50");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_sources_vbox, "preferences_sources_vbox");
+ GLADE_HOOKUP_OBJECT (window_preferences, vbox38, "vbox38");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_sources_label, "preferences_sources_label");
+ GLADE_HOOKUP_OBJECT (window_preferences, hbox75, "hbox75");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_sources_empty_label, "preferences_sources_empty_label");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_sources_hbox, "preferences_sources_hbox");
+ GLADE_HOOKUP_OBJECT (window_preferences, scrolledwindow1, "scrolledwindow1");
+ GLADE_HOOKUP_OBJECT (window_preferences, treeview_columns, "treeview_columns");
+ GLADE_HOOKUP_OBJECT (window_preferences, vbox39, "vbox39");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_add_source_button, "preferences_add_source_button");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_remove_source_button, "preferences_remove_source_button");
+ GLADE_HOOKUP_OBJECT (window_preferences, label118, "label118");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_excludes_vbox, "preferences_excludes_vbox");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_excludes_vbox_vbox, "preferences_excludes_vbox_vbox");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_excludes_label, "preferences_excludes_label");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_excludes_hbox, "preferences_excludes_hbox");
+ GLADE_HOOKUP_OBJECT (window_preferences, label110, "label110");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_exclude_list_entry, "preferences_exclude_list_entry");
+ GLADE_HOOKUP_OBJECT (window_preferences, label51, "label51");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_hbuttonbox, "preferences_hbuttonbox");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_apply_button, "preferences_apply_button");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_close_button, "preferences_close_button");
+ GLADE_HOOKUP_OBJECT (window_preferences, preferences_ok_button, "preferences_ok_button");
+
+ return window_preferences;
+}
+
+GtkWidget*
+create_transaction_window (void)
+{
+ GtkWidget *transaction_window;
+ GtkWidget *transaction_vbox;
+ GtkWidget *transaction_vbox_vbox;
+ GtkWidget *vbox23;
+ GtkWidget *transaction_label;
+ GtkWidget *transaction_progressbar;
+ GtkWidget *transaction_exclude_expander;
+ GtkWidget *vbox27;
+ GtkWidget *scrolledwindow11;
+ GtkWidget *transaction_exclude_treeview;
+ GtkWidget *label9;
+ GtkWidget *transaction_install_expander;
+ GtkWidget *vbox24;
+ GtkWidget *transaction_install;
+ GtkWidget *transaction_install_treeview;
+ GtkWidget *label6;
+ GtkWidget *transaction_upgrade_expander;
+ GtkWidget *vbox25;
+ GtkWidget *scrolledwindow9;
+ GtkWidget *transaction_upgrade_treeview;
+ GtkWidget *label7;
+ GtkWidget *transaction_remove_expander;
+ GtkWidget *vbox26;
+ GtkWidget *scrolledwindow10;
+ GtkWidget *transaction_remove_treeview;
+ GtkWidget *label8;
+ GtkWidget *transaction_hbuttonbox;
+ GtkWidget *transaction_cancelbutton;
+ GtkWidget *transaction_okbutton1;
+
+ transaction_window = gtk_dialog_new ();
+ gtk_widget_set_name (transaction_window, "transaction_window");
+ gtk_window_set_title (GTK_WINDOW (transaction_window), _("Transaction Report"));
+ gtk_window_set_type_hint (GTK_WINDOW (transaction_window), GDK_WINDOW_TYPE_HINT_DIALOG);
+
+ transaction_vbox = GTK_DIALOG (transaction_window)->vbox;
+ gtk_widget_set_name (transaction_vbox, "transaction_vbox");
+ gtk_widget_show (transaction_vbox);
+
+ transaction_vbox_vbox = gtk_vbox_new (FALSE, 12);
+ gtk_widget_set_name (transaction_vbox_vbox, "transaction_vbox_vbox");
+ gtk_widget_show (transaction_vbox_vbox);
+ gtk_box_pack_start (GTK_BOX (transaction_vbox), transaction_vbox_vbox, TRUE, TRUE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (transaction_vbox_vbox), 6);
+
+ vbox23 = gtk_vbox_new (FALSE, 6);
+ gtk_widget_set_name (vbox23, "vbox23");
+ gtk_widget_show (vbox23);
+ gtk_box_pack_start (GTK_BOX (transaction_vbox_vbox), vbox23, FALSE, FALSE, 0);
+
+ transaction_label = gtk_label_new ("");
+ gtk_widget_set_name (transaction_label, "transaction_label");
+ gtk_widget_show (transaction_label);
+ gtk_box_pack_start (GTK_BOX (vbox23), transaction_label, FALSE, FALSE, 0);
+ gtk_label_set_use_markup (GTK_LABEL (transaction_label), TRUE);
+ gtk_label_set_line_wrap (GTK_LABEL (transaction_label), TRUE);
+ gtk_misc_set_alignment (GTK_MISC (transaction_label), 0, 0.5);
+
+ transaction_progressbar = gtk_progress_bar_new ();
+ gtk_widget_set_name (transaction_progressbar, "transaction_progressbar");
+ gtk_widget_show (transaction_progressbar);
+ gtk_box_pack_start (GTK_BOX (vbox23), transaction_progressbar, FALSE, FALSE, 0);
+
+ transaction_exclude_expander = gtk_expander_new (NULL);
+ gtk_widget_set_name (transaction_exclude_expander, "transaction_exclude_expander");
+ gtk_widget_show (transaction_exclude_expander);
+ gtk_box_pack_start (GTK_BOX (transaction_vbox_vbox), transaction_exclude_expander, FALSE, FALSE, 0);
+ gtk_expander_set_spacing (GTK_EXPANDER (transaction_exclude_expander), 6);
+
+ vbox27 = gtk_vbox_new (FALSE, 6);
+ gtk_widget_set_name (vbox27, "vbox27");
+ gtk_widget_show (vbox27);
+ gtk_container_add (GTK_CONTAINER (transaction_exclude_expander), vbox27);
+
+ scrolledwindow11 = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_set_name (scrolledwindow11, "scrolledwindow11");
+ gtk_widget_show (scrolledwindow11);
+ gtk_box_pack_start (GTK_BOX (vbox27), scrolledwindow11, TRUE, TRUE, 0);
+ gtk_widget_set_size_request (scrolledwindow11, -1, 200);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow11), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow11), GTK_SHADOW_IN);
+
+ transaction_exclude_treeview = gtk_tree_view_new ();
+ gtk_widget_set_name (transaction_exclude_treeview, "transaction_exclude_treeview");
+ gtk_widget_show (transaction_exclude_treeview);
+ gtk_container_add (GTK_CONTAINER (scrolledwindow11), transaction_exclude_treeview);
+ gtk_tree_view_set_enable_search (GTK_TREE_VIEW (transaction_exclude_treeview), FALSE);
+
+ label9 = gtk_label_new (_("Packages Excluded"));
+ gtk_widget_set_name (label9, "label9");
+ gtk_widget_show (label9);
+ gtk_expander_set_label_widget (GTK_EXPANDER (transaction_exclude_expander), label9);
+
+ transaction_install_expander = gtk_expander_new (NULL);
+ gtk_widget_set_name (transaction_install_expander, "transaction_install_expander");
+ gtk_widget_show (transaction_install_expander);
+ gtk_box_pack_start (GTK_BOX (transaction_vbox_vbox), transaction_install_expander, FALSE, FALSE, 0);
+ gtk_expander_set_spacing (GTK_EXPANDER (transaction_install_expander), 6);
+
+ vbox24 = gtk_vbox_new (FALSE, 6);
+ gtk_widget_set_name (vbox24, "vbox24");
+ gtk_widget_show (vbox24);
+ gtk_container_add (GTK_CONTAINER (transaction_install_expander), vbox24);
+
+ transaction_install = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_set_name (transaction_install, "transaction_install");
+ gtk_widget_show (transaction_install);
+ gtk_box_pack_start (GTK_BOX (vbox24), transaction_install, TRUE, TRUE, 0);
+ gtk_widget_set_size_request (transaction_install, -1, 200);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (transaction_install), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (transaction_install), GTK_SHADOW_IN);
+
+ transaction_install_treeview = gtk_tree_view_new ();
+ gtk_widget_set_name (transaction_install_treeview, "transaction_install_treeview");
+ gtk_widget_show (transaction_install_treeview);
+ gtk_container_add (GTK_CONTAINER (transaction_install), transaction_install_treeview);
+ gtk_tree_view_set_enable_search (GTK_TREE_VIEW (transaction_install_treeview), FALSE);
+
+ label6 = gtk_label_new (_("Packages to Install"));
+ gtk_widget_set_name (label6, "label6");
+ gtk_widget_show (label6);
+ gtk_expander_set_label_widget (GTK_EXPANDER (transaction_install_expander), label6);
+
+ transaction_upgrade_expander = gtk_expander_new (NULL);
+ gtk_widget_set_name (transaction_upgrade_expander, "transaction_upgrade_expander");
+ gtk_widget_show (transaction_upgrade_expander);
+ gtk_box_pack_start (GTK_BOX (transaction_vbox_vbox), transaction_upgrade_expander, FALSE, FALSE, 0);
+ gtk_expander_set_spacing (GTK_EXPANDER (transaction_upgrade_expander), 6);
+
+ vbox25 = gtk_vbox_new (FALSE, 6);
+ gtk_widget_set_name (vbox25, "vbox25");
+ gtk_widget_show (vbox25);
+ gtk_container_add (GTK_CONTAINER (transaction_upgrade_expander), vbox25);
+
+ scrolledwindow9 = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_set_name (scrolledwindow9, "scrolledwindow9");
+ gtk_widget_show (scrolledwindow9);
+ gtk_box_pack_start (GTK_BOX (vbox25), scrolledwindow9, TRUE, TRUE, 0);
+ gtk_widget_set_size_request (scrolledwindow9, -1, 200);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow9), GTK_SHADOW_IN);
+
+ transaction_upgrade_treeview = gtk_tree_view_new ();
+ gtk_widget_set_name (transaction_upgrade_treeview, "transaction_upgrade_treeview");
+ gtk_widget_show (transaction_upgrade_treeview);
+ gtk_container_add (GTK_CONTAINER (scrolledwindow9), transaction_upgrade_treeview);
+ gtk_tree_view_set_enable_search (GTK_TREE_VIEW (transaction_upgrade_treeview), FALSE);
+
+ label7 = gtk_label_new (_("Packages to Upgrade"));
+ gtk_widget_set_name (label7, "label7");
+ gtk_widget_show (label7);
+ gtk_expander_set_label_widget (GTK_EXPANDER (transaction_upgrade_expander), label7);
+
+ transaction_remove_expander = gtk_expander_new (NULL);
+ gtk_widget_set_name (transaction_remove_expander, "transaction_remove_expander");
+ gtk_widget_show (transaction_remove_expander);
+ gtk_box_pack_start (GTK_BOX (transaction_vbox_vbox), transaction_remove_expander, FALSE, FALSE, 0);
+ gtk_expander_set_spacing (GTK_EXPANDER (transaction_remove_expander), 6);
+
+ vbox26 = gtk_vbox_new (FALSE, 6);
+ gtk_widget_set_name (vbox26, "vbox26");
+ gtk_widget_show (vbox26);
+ gtk_container_add (GTK_CONTAINER (transaction_remove_expander), vbox26);
+
+ scrolledwindow10 = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_set_name (scrolledwindow10, "scrolledwindow10");
+ gtk_widget_show (scrolledwindow10);
+ gtk_box_pack_start (GTK_BOX (vbox26), scrolledwindow10, TRUE, TRUE, 0);
+ gtk_widget_set_size_request (scrolledwindow10, -1, 200);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow10), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow10), GTK_SHADOW_IN);
+
+ transaction_remove_treeview = gtk_tree_view_new ();
+ gtk_widget_set_name (transaction_remove_treeview, "transaction_remove_treeview");
+ gtk_widget_show (transaction_remove_treeview);
+ gtk_container_add (GTK_CONTAINER (scrolledwindow10), transaction_remove_treeview);
+ gtk_tree_view_set_enable_search (GTK_TREE_VIEW (transaction_remove_treeview), FALSE);
+
+ label8 = gtk_label_new (_("Packages to Remove"));
+ gtk_widget_set_name (label8, "label8");
+ gtk_widget_show (label8);
+ gtk_expander_set_label_widget (GTK_EXPANDER (transaction_remove_expander), label8);
+
+ transaction_hbuttonbox = GTK_DIALOG (transaction_window)->action_area;
+ gtk_widget_set_name (transaction_hbuttonbox, "transaction_hbuttonbox");
+ gtk_widget_show (transaction_hbuttonbox);
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (transaction_hbuttonbox), GTK_BUTTONBOX_END);
+
+ transaction_cancelbutton = gtk_button_new_from_stock ("gtk-cancel");
+ gtk_widget_set_name (transaction_cancelbutton, "transaction_cancelbutton");
+ gtk_widget_show (transaction_cancelbutton);
+ gtk_dialog_add_action_widget (GTK_DIALOG (transaction_window), transaction_cancelbutton, GTK_RESPONSE_CANCEL);
+ GTK_WIDGET_SET_FLAGS (transaction_cancelbutton, GTK_CAN_DEFAULT);
+
+ transaction_okbutton1 = gtk_button_new_from_stock ("gtk-ok");
+ gtk_widget_set_name (transaction_okbutton1, "transaction_okbutton1");
+ gtk_widget_show (transaction_okbutton1);
+ gtk_dialog_add_action_widget (GTK_DIALOG (transaction_window), transaction_okbutton1, GTK_RESPONSE_OK);
+ GTK_WIDGET_SET_FLAGS (transaction_okbutton1, GTK_CAN_DEFAULT);
+
+ g_signal_connect ((gpointer) transaction_window, "close",
+ G_CALLBACK (gtk_widget_destroy),
+ NULL);
+ g_signal_connect ((gpointer) transaction_window, "destroy_event",
+ G_CALLBACK (gtk_widget_destroy),
+ NULL);
+ g_signal_connect_swapped ((gpointer) transaction_cancelbutton, "clicked",
+ G_CALLBACK (gtk_widget_destroy),
+ GTK_OBJECT (transaction_window));
+ g_signal_connect_swapped ((gpointer) transaction_okbutton1, "clicked",
+ G_CALLBACK (on_transaction_okbutton1_clicked),
+ GTK_OBJECT (transaction_window));
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (transaction_window, transaction_window, "transaction_window");
+ GLADE_HOOKUP_OBJECT_NO_REF (transaction_window, transaction_vbox, "transaction_vbox");
+ GLADE_HOOKUP_OBJECT (transaction_window, transaction_vbox_vbox, "transaction_vbox_vbox");
+ GLADE_HOOKUP_OBJECT (transaction_window, vbox23, "vbox23");
+ GLADE_HOOKUP_OBJECT (transaction_window, transaction_label, "transaction_label");
+ GLADE_HOOKUP_OBJECT (transaction_window, transaction_progressbar, "transaction_progressbar");
+ GLADE_HOOKUP_OBJECT (transaction_window, transaction_exclude_expander, "transaction_exclude_expander");
+ GLADE_HOOKUP_OBJECT (transaction_window, vbox27, "vbox27");
+ GLADE_HOOKUP_OBJECT (transaction_window, scrolledwindow11, "scrolledwindow11");
+ GLADE_HOOKUP_OBJECT (transaction_window, transaction_exclude_treeview, "transaction_exclude_treeview");
+ GLADE_HOOKUP_OBJECT (transaction_window, label9, "label9");
+ GLADE_HOOKUP_OBJECT (transaction_window, transaction_install_expander, "transaction_install_expander");
+ GLADE_HOOKUP_OBJECT (transaction_window, vbox24, "vbox24");
+ GLADE_HOOKUP_OBJECT (transaction_window, transaction_install, "transaction_install");
+ GLADE_HOOKUP_OBJECT (transaction_window, transaction_install_treeview, "transaction_install_treeview");
+ GLADE_HOOKUP_OBJECT (transaction_window, label6, "label6");
+ GLADE_HOOKUP_OBJECT (transaction_window, transaction_upgrade_expander, "transaction_upgrade_expander");
+ GLADE_HOOKUP_OBJECT (transaction_window, vbox25, "vbox25");
+ GLADE_HOOKUP_OBJECT (transaction_window, scrolledwindow9, "scrolledwindow9");
+ GLADE_HOOKUP_OBJECT (transaction_window, transaction_upgrade_treeview, "transaction_upgrade_treeview");
+ GLADE_HOOKUP_OBJECT (transaction_window, label7, "label7");
+ GLADE_HOOKUP_OBJECT (transaction_window, transaction_remove_expander, "transaction_remove_expander");
+ GLADE_HOOKUP_OBJECT (transaction_window, vbox26, "vbox26");
+ GLADE_HOOKUP_OBJECT (transaction_window, scrolledwindow10, "scrolledwindow10");
+ GLADE_HOOKUP_OBJECT (transaction_window, transaction_remove_treeview, "transaction_remove_treeview");
+ GLADE_HOOKUP_OBJECT (transaction_window, label8, "label8");
+ GLADE_HOOKUP_OBJECT_NO_REF (transaction_window, transaction_hbuttonbox, "transaction_hbuttonbox");
+ GLADE_HOOKUP_OBJECT (transaction_window, transaction_cancelbutton, "transaction_cancelbutton");
+ GLADE_HOOKUP_OBJECT (transaction_window, transaction_okbutton1, "transaction_okbutton1");
+
+ return transaction_window;
+}
+
+GtkWidget*
+create_gslapt (void)
+{
+ GtkWidget *gslapt;
+ GtkWidget *gslapt_vbox;
+ GtkWidget *top_menubar;
+ GtkWidget *actions2;
+ GtkWidget *actions2_menu;
+ GtkWidget *update2;
+ GtkWidget *image831;
+ GtkWidget *upgrade2;
+ GtkWidget *image832;
+ GtkWidget *dist_upgrade2;
+ GtkWidget *image833;
+ GtkWidget *execute2;
+ GtkWidget *image834;
+ GtkWidget *separator5;
+ GtkWidget *quit;
+ GtkWidget *settings1;
+ GtkWidget *settings1_menu;
+ GtkWidget *preferences2;
+ GtkWidget *image835;
+ GtkWidget *help3;
+ GtkWidget *help3_menu;
+ GtkWidget *about3;
+ GtkWidget *image836;
+ GtkWidget *action_toolbar;
+ GtkIconSize tmp_toolbar_icon_size;
+ GtkWidget *tmp_image;
+ GtkWidget *action_bar_update_button;
+ GtkWidget *action_bar_upgrade_button;
+ GtkWidget *action_bar_dist_upgrade_button;
+ GtkWidget *action_bar_execute_button;
+ GtkWidget *action_bar_quit_button;
+ GtkWidget *pkg_notebook_info_actionbox;
+ GtkWidget *pkg_notebook;
+ GtkWidget *available_tab_viewport;
+ GtkWidget *available_tab_scroll;
+ GtkWidget *available_pkg_listing_treeview;
+ GtkWidget *available_tab;
+ GtkWidget *install_tab_scrolled;
+ GtkWidget *inst_pkg_listing_treeview;
+ GtkWidget *installed_tab;
+ GtkWidget *search_tab_vbox;
+ GtkWidget *search_tab_search_align;
+ GtkWidget *search_tab_search_hbox;
+ GtkWidget *search_tab_search_entry;
+ GtkWidget *search_tab_search_button;
+ GtkWidget *search_tab_search_results_scrolled;
+ GtkWidget *search_pkg_listing_treeview;
+ GtkWidget *search_tab;
+ GtkWidget *pkg_info_action_hbox;
+ GtkWidget *pkg_info_frame;
+ GtkWidget *pkg_info_action_table;
+ GtkWidget *pkg_info_action_name_label;
+ GtkWidget *pkg_info_action_conflicts_entry;
+ GtkWidget *pkg_info_action_mirror_label;
+ GtkWidget *pkg_info_action_location_label;
+ GtkWidget *pkg_info_action_version_label;
+ GtkWidget *pkg_info_action_size_label;
+ GtkWidget *pkg_info_action_isize_label;
+ GtkWidget *pkg_info_action_name_entry;
+ GtkWidget *pkg_info_action_mirror_entry;
+ GtkWidget *pkg_info_action_location_entry;
+ GtkWidget *pkg_info_action_version_entry;
+ GtkWidget *pkg_info_action_size_entry;
+ GtkWidget *pkg_info_action_isize_entry;
+ GtkWidget *pkg_info_action_required_entry;
+ GtkWidget *pkg_info_action_description_entry;
+ GtkWidget *pkg_info_action_suggests_entry;
+ GtkWidget *pkg_info_action_description_label;
+ GtkWidget *pkg_info_action_conflicts_label;
+ GtkWidget *pkg_info_action_suggests_label;
+ GtkWidget *pkg_info_action_required_label;
+ GtkWidget *pkg_info_label;
+ GtkWidget *pkg_action_frame;
+ GtkWidget *pkg_action_vbox;
+ GtkWidget *pkg_info_action_install_upgrade_button;
+ GtkWidget *alignment27;
+ GtkWidget *hbox78;
+ GtkWidget *image746;
+ GtkWidget *label131;
+ GtkWidget *pkg_info_action_remove_button;
+ GtkWidget *alignment28;
+ GtkWidget *hbox79;
+ GtkWidget *image747;
+ GtkWidget *label132;
+ GtkWidget *pkg_info_action_exclude_button;
+ GtkWidget *alignment29;
+ GtkWidget *hbox80;
+ GtkWidget *image748;
+ GtkWidget *label133;
+ GtkWidget *pkg_action_label;
+ GtkWidget *bottom_statusbar;
+ GtkAccelGroup *accel_group;
+ GtkTooltips *tooltips;
+
+ tooltips = gtk_tooltips_new ();
+
+ accel_group = gtk_accel_group_new ();
+
+ gslapt = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_widget_set_name (gslapt, "gslapt");
+ gtk_window_set_title (GTK_WINDOW (gslapt), _("Gslapt"));
+ gtk_window_set_default_size (GTK_WINDOW (gslapt), 600, 400);
+ gtk_window_set_gravity (GTK_WINDOW (gslapt), GDK_GRAVITY_CENTER);
+
+ gslapt_vbox = gtk_vbox_new (FALSE, 0);
+ gtk_widget_set_name (gslapt_vbox, "gslapt_vbox");
+ gtk_widget_show (gslapt_vbox);
+ gtk_container_add (GTK_CONTAINER (gslapt), gslapt_vbox);
+
+ top_menubar = gtk_menu_bar_new ();
+ gtk_widget_set_name (top_menubar, "top_menubar");
+ gtk_widget_show (top_menubar);
+ gtk_box_pack_start (GTK_BOX (gslapt_vbox), top_menubar, FALSE, FALSE, 0);
+
+ actions2 = gtk_menu_item_new_with_mnemonic (_("_Actions"));
+ gtk_widget_set_name (actions2, "actions2");
+ gtk_widget_show (actions2);
+ gtk_container_add (GTK_CONTAINER (top_menubar), actions2);
+
+ actions2_menu = gtk_menu_new ();
+ gtk_widget_set_name (actions2_menu, "actions2_menu");
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (actions2), actions2_menu);
+
+ update2 = gtk_image_menu_item_new_with_mnemonic (_("_Update"));
+ gtk_widget_set_name (update2, "update2");
+ gtk_widget_show (update2);
+ gtk_container_add (GTK_CONTAINER (actions2_menu), update2);
+ gtk_widget_add_accelerator (update2, "activate", accel_group,
+ GDK_u, GDK_CONTROL_MASK,
+ GTK_ACCEL_VISIBLE);
+
+ image831 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image831, "image831");
+ gtk_widget_show (image831);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (update2), image831);
+
+ upgrade2 = gtk_image_menu_item_new_with_mnemonic (_("Up_grade"));
+ gtk_widget_set_name (upgrade2, "upgrade2");
+ gtk_widget_show (upgrade2);
+ gtk_container_add (GTK_CONTAINER (actions2_menu), upgrade2);
+ gtk_widget_add_accelerator (upgrade2, "activate", accel_group,
+ GDK_g, GDK_CONTROL_MASK,
+ GTK_ACCEL_VISIBLE);
+
+ image832 = gtk_image_new_from_stock ("gtk-goto-top", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image832, "image832");
+ gtk_widget_show (image832);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (upgrade2), image832);
+
+ dist_upgrade2 = gtk_image_menu_item_new_with_mnemonic (_("_Dist-Upgrade"));
+ gtk_widget_set_name (dist_upgrade2, "dist_upgrade2");
+ gtk_widget_show (dist_upgrade2);
+ gtk_container_add (GTK_CONTAINER (actions2_menu), dist_upgrade2);
+ gtk_widget_add_accelerator (dist_upgrade2, "activate", accel_group,
+ GDK_d, GDK_CONTROL_MASK,
+ GTK_ACCEL_VISIBLE);
+
+ image833 = gtk_image_new_from_stock ("gtk-go-up", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image833, "image833");
+ gtk_widget_show (image833);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (dist_upgrade2), image833);
+
+ execute2 = gtk_image_menu_item_new_with_mnemonic (_("_Execute"));
+ gtk_widget_set_name (execute2, "execute2");
+ gtk_widget_show (execute2);
+ gtk_container_add (GTK_CONTAINER (actions2_menu), execute2);
+ gtk_widget_add_accelerator (execute2, "activate", accel_group,
+ GDK_e, GDK_CONTROL_MASK,
+ GTK_ACCEL_VISIBLE);
+
+ image834 = gtk_image_new_from_stock ("gtk-yes", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image834, "image834");
+ gtk_widget_show (image834);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (execute2), image834);
+
+ separator5 = gtk_separator_menu_item_new ();
+ gtk_widget_set_name (separator5, "separator5");
+ gtk_widget_show (separator5);
+ gtk_container_add (GTK_CONTAINER (actions2_menu), separator5);
+ gtk_widget_set_sensitive (separator5, FALSE);
+
+ quit = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group);
+ gtk_widget_set_name (quit, "quit");
+ gtk_widget_show (quit);
+ gtk_container_add (GTK_CONTAINER (actions2_menu), quit);
+
+ settings1 = gtk_menu_item_new_with_mnemonic (_("_Settings"));
+ gtk_widget_set_name (settings1, "settings1");
+ gtk_widget_show (settings1);
+ gtk_container_add (GTK_CONTAINER (top_menubar), settings1);
+
+ settings1_menu = gtk_menu_new ();
+ gtk_widget_set_name (settings1_menu, "settings1_menu");
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (settings1), settings1_menu);
+
+ preferences2 = gtk_image_menu_item_new_with_mnemonic (_("_Preferences"));
+ gtk_widget_set_name (preferences2, "preferences2");
+ gtk_widget_show (preferences2);
+ gtk_container_add (GTK_CONTAINER (settings1_menu), preferences2);
+ gtk_widget_add_accelerator (preferences2, "activate", accel_group,
+ GDK_p, GDK_CONTROL_MASK,
+ GTK_ACCEL_VISIBLE);
+
+ image835 = gtk_image_new_from_stock ("gtk-preferences", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image835, "image835");
+ gtk_widget_show (image835);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (preferences2), image835);
+
+ help3 = gtk_menu_item_new_with_mnemonic (_("_Help"));
+ gtk_widget_set_name (help3, "help3");
+ gtk_widget_show (help3);
+ gtk_container_add (GTK_CONTAINER (top_menubar), help3);
+
+ help3_menu = gtk_menu_new ();
+ gtk_widget_set_name (help3_menu, "help3_menu");
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (help3), help3_menu);
+
+ about3 = gtk_image_menu_item_new_with_mnemonic (_("About"));
+ gtk_widget_set_name (about3, "about3");
+ gtk_widget_show (about3);
+ gtk_container_add (GTK_CONTAINER (help3_menu), about3);
+
+ image836 = gtk_image_new_from_stock ("gtk-dialog-info", GTK_ICON_SIZE_MENU);
+ gtk_widget_set_name (image836, "image836");
+ gtk_widget_show (image836);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (about3), image836);
+
+ action_toolbar = gtk_toolbar_new ();
+ gtk_widget_set_name (action_toolbar, "action_toolbar");
+ gtk_widget_show (action_toolbar);
+ gtk_box_pack_start (GTK_BOX (gslapt_vbox), action_toolbar, FALSE, FALSE, 0);
+ gtk_toolbar_set_style (GTK_TOOLBAR (action_toolbar), GTK_TOOLBAR_BOTH);
+ tmp_toolbar_icon_size = gtk_toolbar_get_icon_size (GTK_TOOLBAR (action_toolbar));
+
+ tmp_image = gtk_image_new_from_stock ("gtk-refresh", tmp_toolbar_icon_size);
+ gtk_widget_show (tmp_image);
+ action_bar_update_button = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Update"));
+ gtk_widget_set_name (action_bar_update_button, "action_bar_update_button");
+ gtk_widget_show (action_bar_update_button);
+ gtk_container_add (GTK_CONTAINER (action_toolbar), action_bar_update_button);
+ gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (action_bar_update_button), tooltips, _("Update local package cache"), NULL);
+
+ tmp_image = gtk_image_new_from_stock ("gtk-goto-top", tmp_toolbar_icon_size);
+ gtk_widget_show (tmp_image);
+ action_bar_upgrade_button = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Upgrade All"));
+ gtk_widget_set_name (action_bar_upgrade_button, "action_bar_upgrade_button");
+ gtk_widget_show (action_bar_upgrade_button);
+ gtk_container_add (GTK_CONTAINER (action_toolbar), action_bar_upgrade_button);
+ gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (action_bar_upgrade_button), tooltips, _("Upgrade installed packages"), NULL);
+
+ tmp_image = gtk_image_new_from_stock ("gtk-go-up", tmp_toolbar_icon_size);
+ gtk_widget_show (tmp_image);
+ action_bar_dist_upgrade_button = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Dist-Upgrade"));
+ gtk_widget_set_name (action_bar_dist_upgrade_button, "action_bar_dist_upgrade_button");
+ gtk_widget_show (action_bar_dist_upgrade_button);
+ gtk_container_add (GTK_CONTAINER (action_toolbar), action_bar_dist_upgrade_button);
+ gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (action_bar_dist_upgrade_button), tooltips, _("Upgrade to newer release"), NULL);
+
+ tmp_image = gtk_image_new_from_stock ("gtk-yes", tmp_toolbar_icon_size);
+ gtk_widget_show (tmp_image);
+ action_bar_execute_button = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Execute"));
+ gtk_widget_set_name (action_bar_execute_button, "action_bar_execute_button");
+ gtk_widget_show (action_bar_execute_button);
+ gtk_container_add (GTK_CONTAINER (action_toolbar), action_bar_execute_button);
+ gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (action_bar_execute_button), tooltips, _("Execute all scheduled actions in current transaction"), NULL);
+
+ action_bar_quit_button = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-quit");
+ gtk_widget_set_name (action_bar_quit_button, "action_bar_quit_button");
+ gtk_widget_show (action_bar_quit_button);
+ gtk_container_add (GTK_CONTAINER (action_toolbar), action_bar_quit_button);
+ gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (action_bar_quit_button), tooltips, _("Quit"), NULL);
+
+ pkg_notebook_info_actionbox = gtk_vbox_new (TRUE, 0);
+ gtk_widget_set_name (pkg_notebook_info_actionbox, "pkg_notebook_info_actionbox");
+ gtk_widget_show (pkg_notebook_info_actionbox);
+ gtk_box_pack_start (GTK_BOX (gslapt_vbox), pkg_notebook_info_actionbox, TRUE, TRUE, 0);
+
+ pkg_notebook = gtk_notebook_new ();
+ gtk_widget_set_name (pkg_notebook, "pkg_notebook");
+ gtk_widget_show (pkg_notebook);
+ gtk_box_pack_start (GTK_BOX (pkg_notebook_info_actionbox), pkg_notebook, TRUE, TRUE, 0);
+ gtk_notebook_set_scrollable (GTK_NOTEBOOK (pkg_notebook), TRUE);
+
+ available_tab_viewport = gtk_viewport_new (NULL, NULL);
+ gtk_widget_set_name (available_tab_viewport, "available_tab_viewport");
+ gtk_widget_show (available_tab_viewport);
+ gtk_container_add (GTK_CONTAINER (pkg_notebook), available_tab_viewport);
+
+ available_tab_scroll = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_set_name (available_tab_scroll, "available_tab_scroll");
+ gtk_widget_show (available_tab_scroll);
+ gtk_container_add (GTK_CONTAINER (available_tab_viewport), available_tab_scroll);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (available_tab_scroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+
+ available_pkg_listing_treeview = gtk_tree_view_new ();
+ gtk_widget_set_name (available_pkg_listing_treeview, "available_pkg_listing_treeview");
+ gtk_widget_show (available_pkg_listing_treeview);
+ gtk_container_add (GTK_CONTAINER (available_tab_scroll), available_pkg_listing_treeview);
+
+ available_tab = gtk_label_new_with_mnemonic (_("_Available Packages"));
+ gtk_widget_set_name (available_tab, "available_tab");
+ gtk_widget_show (available_tab);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (pkg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (pkg_notebook), 0), available_tab);
+
+ install_tab_scrolled = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_set_name (install_tab_scrolled, "install_tab_scrolled");
+ gtk_widget_show (install_tab_scrolled);
+ gtk_container_add (GTK_CONTAINER (pkg_notebook), install_tab_scrolled);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (install_tab_scrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+
+ inst_pkg_listing_treeview = gtk_tree_view_new ();
+ gtk_widget_set_name (inst_pkg_listing_treeview, "inst_pkg_listing_treeview");
+ gtk_widget_show (inst_pkg_listing_treeview);
+ gtk_container_add (GTK_CONTAINER (install_tab_scrolled), inst_pkg_listing_treeview);
+
+ installed_tab = gtk_label_new_with_mnemonic (_("_Installed Packages"));
+ gtk_widget_set_name (installed_tab, "installed_tab");
+ gtk_widget_show (installed_tab);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (pkg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (pkg_notebook), 1), installed_tab);
+
+ search_tab_vbox = gtk_vbox_new (FALSE, 0);
+ gtk_widget_set_name (search_tab_vbox, "search_tab_vbox");
+ gtk_widget_show (search_tab_vbox);
+ gtk_container_add (GTK_CONTAINER (pkg_notebook), search_tab_vbox);
+
+ search_tab_search_align = gtk_alignment_new (0.5, 0.5, 1, 1);
+ gtk_widget_set_name (search_tab_search_align, "search_tab_search_align");
+ gtk_widget_show (search_tab_search_align);
+ gtk_box_pack_start (GTK_BOX (search_tab_vbox), search_tab_search_align, FALSE, FALSE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (search_tab_search_align), 1);
+
+ search_tab_search_hbox = gtk_hbox_new (FALSE, 0);
+ gtk_widget_set_name (search_tab_search_hbox, "search_tab_search_hbox");
+ gtk_widget_show (search_tab_search_hbox);
+ gtk_container_add (GTK_CONTAINER (search_tab_search_align), search_tab_search_hbox);
+
+ search_tab_search_entry = gtk_entry_new ();
+ gtk_widget_set_name (search_tab_search_entry, "search_tab_search_entry");
+ gtk_widget_show (search_tab_search_entry);
+ gtk_box_pack_start (GTK_BOX (search_tab_search_hbox), search_tab_search_entry, TRUE, TRUE, 0);
+
+ search_tab_search_button = gtk_button_new_with_mnemonic (_("Search"));
+ gtk_widget_set_name (search_tab_search_button, "search_tab_search_button");
+ gtk_widget_show (search_tab_search_button);
+ gtk_box_pack_start (GTK_BOX (search_tab_search_hbox), search_tab_search_button, FALSE, FALSE, 0);
+ gtk_tooltips_set_tip (tooltips, search_tab_search_button, _("Search for expression"), NULL);
+
+ search_tab_search_results_scrolled = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_set_name (search_tab_search_results_scrolled, "search_tab_search_results_scrolled");
+ gtk_widget_show (search_tab_search_results_scrolled);
+ gtk_box_pack_start (GTK_BOX (search_tab_vbox), search_tab_search_results_scrolled, TRUE, TRUE, 0);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (search_tab_search_results_scrolled), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+
+ search_pkg_listing_treeview = gtk_tree_view_new ();
+ gtk_widget_set_name (search_pkg_listing_treeview, "search_pkg_listing_treeview");
+ gtk_widget_show (search_pkg_listing_treeview);
+ gtk_container_add (GTK_CONTAINER (search_tab_search_results_scrolled), search_pkg_listing_treeview);
+
+ search_tab = gtk_label_new_with_mnemonic (_("_Search Packages"));
+ gtk_widget_set_name (search_tab, "search_tab");
+ gtk_widget_show (search_tab);
+ gtk_notebook_set_tab_label (GTK_NOTEBOOK (pkg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (pkg_notebook), 2), search_tab);
+
+ pkg_info_action_hbox = gtk_hbox_new (FALSE, 0);
+ gtk_widget_set_name (pkg_info_action_hbox, "pkg_info_action_hbox");
+ gtk_widget_show (pkg_info_action_hbox);
+ gtk_box_pack_start (GTK_BOX (pkg_notebook_info_actionbox), pkg_info_action_hbox, TRUE, TRUE, 0);
+
+ pkg_info_frame = gtk_frame_new (NULL);
+ gtk_widget_set_name (pkg_info_frame, "pkg_info_frame");
+ gtk_widget_show (pkg_info_frame);
+ gtk_box_pack_start (GTK_BOX (pkg_info_action_hbox), pkg_info_frame, TRUE, TRUE, 0);
+
+ pkg_info_action_table = gtk_table_new (10, 2, FALSE);
+ gtk_widget_set_name (pkg_info_action_table, "pkg_info_action_table");
+ gtk_widget_show (pkg_info_action_table);
+ gtk_container_add (GTK_CONTAINER (pkg_info_frame), pkg_info_action_table);
+ gtk_container_set_border_width (GTK_CONTAINER (pkg_info_action_table), 1);
+ gtk_table_set_row_spacings (GTK_TABLE (pkg_info_action_table), 2);
+ gtk_table_set_col_spacings (GTK_TABLE (pkg_info_action_table), 2);
+
+ pkg_info_action_name_label = gtk_label_new (_("Name"));
+ gtk_widget_set_name (pkg_info_action_name_label, "pkg_info_action_name_label");
+ gtk_widget_show (pkg_info_action_name_label);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_name_label, 0, 1, 0, 1,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (pkg_info_action_name_label), 0, 0.5);
+
+ pkg_info_action_conflicts_entry = gtk_entry_new ();
+ gtk_widget_set_name (pkg_info_action_conflicts_entry, "pkg_info_action_conflicts_entry");
+ gtk_widget_show (pkg_info_action_conflicts_entry);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_conflicts_entry, 1, 2, 7, 8,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_editable_set_editable (GTK_EDITABLE (pkg_info_action_conflicts_entry), FALSE);
+
+ pkg_info_action_mirror_label = gtk_label_new (_("Mirror"));
+ gtk_widget_set_name (pkg_info_action_mirror_label, "pkg_info_action_mirror_label");
+ gtk_widget_show (pkg_info_action_mirror_label);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_mirror_label, 0, 1, 1, 2,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (pkg_info_action_mirror_label), 0, 0.5);
+
+ pkg_info_action_location_label = gtk_label_new (_("Location"));
+ gtk_widget_set_name (pkg_info_action_location_label, "pkg_info_action_location_label");
+ gtk_widget_show (pkg_info_action_location_label);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_location_label, 0, 1, 2, 3,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (pkg_info_action_location_label), 0, 0.5);
+
+ pkg_info_action_version_label = gtk_label_new (_("Version"));
+ gtk_widget_set_name (pkg_info_action_version_label, "pkg_info_action_version_label");
+ gtk_widget_show (pkg_info_action_version_label);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_version_label, 0, 1, 3, 4,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (pkg_info_action_version_label), 0, 0.5);
+
+ pkg_info_action_size_label = gtk_label_new (_("Size"));
+ gtk_widget_set_name (pkg_info_action_size_label, "pkg_info_action_size_label");
+ gtk_widget_show (pkg_info_action_size_label);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_size_label, 0, 1, 4, 5,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (pkg_info_action_size_label), 0, 0.5);
+
+ pkg_info_action_isize_label = gtk_label_new (_("Installed Size"));
+ gtk_widget_set_name (pkg_info_action_isize_label, "pkg_info_action_isize_label");
+ gtk_widget_show (pkg_info_action_isize_label);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_isize_label, 0, 1, 5, 6,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (pkg_info_action_isize_label), 0, 0.5);
+
+ pkg_info_action_name_entry = gtk_entry_new ();
+ gtk_widget_set_name (pkg_info_action_name_entry, "pkg_info_action_name_entry");
+ gtk_widget_show (pkg_info_action_name_entry);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_name_entry, 1, 2, 0, 1,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_editable_set_editable (GTK_EDITABLE (pkg_info_action_name_entry), FALSE);
+
+ pkg_info_action_mirror_entry = gtk_entry_new ();
+ gtk_widget_set_name (pkg_info_action_mirror_entry, "pkg_info_action_mirror_entry");
+ gtk_widget_show (pkg_info_action_mirror_entry);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_mirror_entry, 1, 2, 1, 2,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_editable_set_editable (GTK_EDITABLE (pkg_info_action_mirror_entry), FALSE);
+
+ pkg_info_action_location_entry = gtk_entry_new ();
+ gtk_widget_set_name (pkg_info_action_location_entry, "pkg_info_action_location_entry");
+ gtk_widget_show (pkg_info_action_location_entry);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_location_entry, 1, 2, 2, 3,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_editable_set_editable (GTK_EDITABLE (pkg_info_action_location_entry), FALSE);
+
+ pkg_info_action_version_entry = gtk_entry_new ();
+ gtk_widget_set_name (pkg_info_action_version_entry, "pkg_info_action_version_entry");
+ gtk_widget_show (pkg_info_action_version_entry);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_version_entry, 1, 2, 3, 4,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_editable_set_editable (GTK_EDITABLE (pkg_info_action_version_entry), FALSE);
+
+ pkg_info_action_size_entry = gtk_entry_new ();
+ gtk_widget_set_name (pkg_info_action_size_entry, "pkg_info_action_size_entry");
+ gtk_widget_show (pkg_info_action_size_entry);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_size_entry, 1, 2, 4, 5,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_editable_set_editable (GTK_EDITABLE (pkg_info_action_size_entry), FALSE);
+
+ pkg_info_action_isize_entry = gtk_entry_new ();
+ gtk_widget_set_name (pkg_info_action_isize_entry, "pkg_info_action_isize_entry");
+ gtk_widget_show (pkg_info_action_isize_entry);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_isize_entry, 1, 2, 5, 6,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_editable_set_editable (GTK_EDITABLE (pkg_info_action_isize_entry), FALSE);
+
+ pkg_info_action_required_entry = gtk_entry_new ();
+ gtk_widget_set_name (pkg_info_action_required_entry, "pkg_info_action_required_entry");
+ gtk_widget_show (pkg_info_action_required_entry);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_required_entry, 1, 2, 6, 7,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_editable_set_editable (GTK_EDITABLE (pkg_info_action_required_entry), FALSE);
+
+ pkg_info_action_description_entry = gtk_entry_new ();
+ gtk_widget_set_name (pkg_info_action_description_entry, "pkg_info_action_description_entry");
+ gtk_widget_show (pkg_info_action_description_entry);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_description_entry, 1, 2, 9, 10,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_editable_set_editable (GTK_EDITABLE (pkg_info_action_description_entry), FALSE);
+
+ pkg_info_action_suggests_entry = gtk_entry_new ();
+ gtk_widget_set_name (pkg_info_action_suggests_entry, "pkg_info_action_suggests_entry");
+ gtk_widget_show (pkg_info_action_suggests_entry);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_suggests_entry, 1, 2, 8, 9,
+ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_editable_set_editable (GTK_EDITABLE (pkg_info_action_suggests_entry), FALSE);
+
+ pkg_info_action_description_label = gtk_label_new (_("Description"));
+ gtk_widget_set_name (pkg_info_action_description_label, "pkg_info_action_description_label");
+ gtk_widget_show (pkg_info_action_description_label);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_description_label, 0, 1, 9, 10,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (pkg_info_action_description_label), 0, 0.5);
+
+ pkg_info_action_conflicts_label = gtk_label_new (_("Conflicts"));
+ gtk_widget_set_name (pkg_info_action_conflicts_label, "pkg_info_action_conflicts_label");
+ gtk_widget_show (pkg_info_action_conflicts_label);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_conflicts_label, 0, 1, 7, 8,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (pkg_info_action_conflicts_label), 0, 0.5);
+
+ pkg_info_action_suggests_label = gtk_label_new (_("Suggests"));
+ gtk_widget_set_name (pkg_info_action_suggests_label, "pkg_info_action_suggests_label");
+ gtk_widget_show (pkg_info_action_suggests_label);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_suggests_label, 0, 1, 8, 9,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (pkg_info_action_suggests_label), 0, 0.5);
+
+ pkg_info_action_required_label = gtk_label_new (_("Required"));
+ gtk_widget_set_name (pkg_info_action_required_label, "pkg_info_action_required_label");
+ gtk_widget_show (pkg_info_action_required_label);
+ gtk_table_attach (GTK_TABLE (pkg_info_action_table), pkg_info_action_required_label, 0, 1, 6, 7,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_misc_set_alignment (GTK_MISC (pkg_info_action_required_label), 0, 0.5);
+
+ pkg_info_label = gtk_label_new (_("Package Information"));
+ gtk_widget_set_name (pkg_info_label, "pkg_info_label");
+ gtk_widget_show (pkg_info_label);
+ gtk_frame_set_label_widget (GTK_FRAME (pkg_info_frame), pkg_info_label);
+
+ pkg_action_frame = gtk_frame_new (NULL);
+ gtk_widget_set_name (pkg_action_frame, "pkg_action_frame");
+ gtk_widget_show (pkg_action_frame);
+ gtk_box_pack_start (GTK_BOX (pkg_info_action_hbox), pkg_action_frame, FALSE, TRUE, 0);
+
+ pkg_action_vbox = gtk_vbox_new (FALSE, 0);
+ gtk_widget_set_name (pkg_action_vbox, "pkg_action_vbox");
+ gtk_widget_show (pkg_action_vbox);
+ gtk_container_add (GTK_CONTAINER (pkg_action_frame), pkg_action_vbox);
+
+ pkg_info_action_install_upgrade_button = gtk_button_new ();
+ gtk_widget_set_name (pkg_info_action_install_upgrade_button, "pkg_info_action_install_upgrade_button");
+ gtk_widget_show (pkg_info_action_install_upgrade_button);
+ gtk_box_pack_start (GTK_BOX (pkg_action_vbox), pkg_info_action_install_upgrade_button, TRUE, TRUE, 0);
+ gtk_tooltips_set_tip (tooltips, pkg_info_action_install_upgrade_button, _("Install/Upgrade package"), NULL);
+
+ alignment27 = gtk_alignment_new (0.5, 0.5, 0, 0);
+ gtk_widget_set_name (alignment27, "alignment27");
+ gtk_widget_show (alignment27);
+ gtk_container_add (GTK_CONTAINER (pkg_info_action_install_upgrade_button), alignment27);
+
+ hbox78 = gtk_hbox_new (FALSE, 2);
+ gtk_widget_set_name (hbox78, "hbox78");
+ gtk_widget_show (hbox78);
+ gtk_container_add (GTK_CONTAINER (alignment27), hbox78);
+
+ image746 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_BUTTON);
+ gtk_widget_set_name (image746, "image746");
+ gtk_widget_show (image746);
+ gtk_box_pack_start (GTK_BOX (hbox78), image746, FALSE, FALSE, 0);
+
+ label131 = gtk_label_new_with_mnemonic (_("I_nstall/Upgrade"));
+ gtk_widget_set_name (label131, "label131");
+ gtk_widget_show (label131);
+ gtk_box_pack_start (GTK_BOX (hbox78), label131, FALSE, FALSE, 0);
+
+ pkg_info_action_remove_button = gtk_button_new ();
+ gtk_widget_set_name (pkg_info_action_remove_button, "pkg_info_action_remove_button");
+ gtk_widget_show (pkg_info_action_remove_button);
+ gtk_box_pack_start (GTK_BOX (pkg_action_vbox), pkg_info_action_remove_button, TRUE, TRUE, 0);
+ gtk_tooltips_set_tip (tooltips, pkg_info_action_remove_button, _("Remove package"), NULL);
+
+ alignment28 = gtk_alignment_new (0.5, 0.5, 0, 0);
+ gtk_widget_set_name (alignment28, "alignment28");
+ gtk_widget_show (alignment28);
+ gtk_container_add (GTK_CONTAINER (pkg_info_action_remove_button), alignment28);
+
+ hbox79 = gtk_hbox_new (FALSE, 2);
+ gtk_widget_set_name (hbox79, "hbox79");
+ gtk_widget_show (hbox79);
+ gtk_container_add (GTK_CONTAINER (alignment28), hbox79);
+
+ image747 = gtk_image_new_from_stock ("gtk-stop", GTK_ICON_SIZE_BUTTON);
+ gtk_widget_set_name (image747, "image747");
+ gtk_widget_show (image747);
+ gtk_box_pack_start (GTK_BOX (hbox79), image747, FALSE, FALSE, 0);
+
+ label132 = gtk_label_new_with_mnemonic (_("_Remove"));
+ gtk_widget_set_name (label132, "label132");
+ gtk_widget_show (label132);
+ gtk_box_pack_start (GTK_BOX (hbox79), label132, FALSE, FALSE, 0);
+
+ pkg_info_action_exclude_button = gtk_button_new ();
+ gtk_widget_set_name (pkg_info_action_exclude_button, "pkg_info_action_exclude_button");
+ gtk_widget_show (pkg_info_action_exclude_button);
+ gtk_box_pack_start (GTK_BOX (pkg_action_vbox), pkg_info_action_exclude_button, TRUE, TRUE, 0);
+ gtk_tooltips_set_tip (tooltips, pkg_info_action_exclude_button, _("Exclude package"), NULL);
+
+ alignment29 = gtk_alignment_new (0.5, 0.5, 0, 0);
+ gtk_widget_set_name (alignment29, "alignment29");
+ gtk_widget_show (alignment29);
+ gtk_container_add (GTK_CONTAINER (pkg_info_action_exclude_button), alignment29);
+
+ hbox80 = gtk_hbox_new (FALSE, 2);
+ gtk_widget_set_name (hbox80, "hbox80");
+ gtk_widget_show (hbox80);
+ gtk_container_add (GTK_CONTAINER (alignment29), hbox80);
+
+ image748 = gtk_image_new_from_stock ("gtk-no", GTK_ICON_SIZE_BUTTON);
+ gtk_widget_set_name (image748, "image748");
+ gtk_widget_show (image748);
+ gtk_box_pack_start (GTK_BOX (hbox80), image748, FALSE, FALSE, 0);
+
+ label133 = gtk_label_new_with_mnemonic (_("E_xclude"));
+ gtk_widget_set_name (label133, "label133");
+ gtk_widget_show (label133);
+ gtk_box_pack_start (GTK_BOX (hbox80), label133, FALSE, FALSE, 0);
+
+ pkg_action_label = gtk_label_new (_("Package Action"));
+ gtk_widget_set_name (pkg_action_label, "pkg_action_label");
+ gtk_widget_show (pkg_action_label);
+ gtk_frame_set_label_widget (GTK_FRAME (pkg_action_frame), pkg_action_label);
+
+ bottom_statusbar = gtk_statusbar_new ();
+ gtk_widget_set_name (bottom_statusbar, "bottom_statusbar");
+ gtk_widget_show (bottom_statusbar);
+ gtk_box_pack_start (GTK_BOX (gslapt_vbox), bottom_statusbar, FALSE, FALSE, 0);
+
+ g_signal_connect ((gpointer) gslapt, "destroy",
+ G_CALLBACK (on_gslapt_destroy),
+ NULL);
+ g_signal_connect ((gpointer) update2, "activate",
+ G_CALLBACK (update_callback),
+ NULL);
+ g_signal_connect ((gpointer) upgrade2, "activate",
+ G_CALLBACK (upgrade_callback),
+ NULL);
+ g_signal_connect ((gpointer) dist_upgrade2, "activate",
+ G_CALLBACK (distupgrade_callback),
+ NULL);
+ g_signal_connect ((gpointer) execute2, "activate",
+ G_CALLBACK (execute_callback),
+ NULL);
+ g_signal_connect ((gpointer) quit, "activate",
+ G_CALLBACK (quit_callback),
+ NULL);
+ g_signal_connect ((gpointer) preferences2, "activate",
+ G_CALLBACK (open_preferences),
+ NULL);
+ g_signal_connect ((gpointer) about3, "activate",
+ G_CALLBACK (open_about),
+ NULL);
+ g_signal_connect ((gpointer) action_bar_update_button, "clicked",
+ G_CALLBACK (update_callback),
+ NULL);
+ g_signal_connect ((gpointer) action_bar_upgrade_button, "clicked",
+ G_CALLBACK (upgrade_callback),
+ NULL);
+ g_signal_connect ((gpointer) action_bar_dist_upgrade_button, "clicked",
+ G_CALLBACK (distupgrade_callback),
+ NULL);
+ g_signal_connect ((gpointer) action_bar_execute_button, "clicked",
+ G_CALLBACK (execute_callback),
+ NULL);
+ g_signal_connect ((gpointer) action_bar_quit_button, "clicked",
+ G_CALLBACK (quit_callback),
+ NULL);
+ g_signal_connect ((gpointer) search_tab_search_button, "clicked",
+ G_CALLBACK (on_search_tab_search_button_clicked),
+ NULL);
+ g_signal_connect ((gpointer) pkg_info_action_install_upgrade_button, "clicked",
+ G_CALLBACK (add_pkg_for_install),
+ NULL);
+ g_signal_connect ((gpointer) pkg_info_action_remove_button, "clicked",
+ G_CALLBACK (add_pkg_for_removal),
+ NULL);
+ g_signal_connect ((gpointer) pkg_info_action_exclude_button, "clicked",
+ G_CALLBACK (add_pkg_for_exclude),
+ NULL);
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (gslapt, gslapt, "gslapt");
+ GLADE_HOOKUP_OBJECT (gslapt, gslapt_vbox, "gslapt_vbox");
+ GLADE_HOOKUP_OBJECT (gslapt, top_menubar, "top_menubar");
+ GLADE_HOOKUP_OBJECT (gslapt, actions2, "actions2");
+ GLADE_HOOKUP_OBJECT (gslapt, actions2_menu, "actions2_menu");
+ GLADE_HOOKUP_OBJECT (gslapt, update2, "update2");
+ GLADE_HOOKUP_OBJECT (gslapt, image831, "image831");
+ GLADE_HOOKUP_OBJECT (gslapt, upgrade2, "upgrade2");
+ GLADE_HOOKUP_OBJECT (gslapt, image832, "image832");
+ GLADE_HOOKUP_OBJECT (gslapt, dist_upgrade2, "dist_upgrade2");
+ GLADE_HOOKUP_OBJECT (gslapt, image833, "image833");
+ GLADE_HOOKUP_OBJECT (gslapt, execute2, "execute2");
+ GLADE_HOOKUP_OBJECT (gslapt, image834, "image834");
+ GLADE_HOOKUP_OBJECT (gslapt, separator5, "separator5");
+ GLADE_HOOKUP_OBJECT (gslapt, quit, "quit");
+ GLADE_HOOKUP_OBJECT (gslapt, settings1, "settings1");
+ GLADE_HOOKUP_OBJECT (gslapt, settings1_menu, "settings1_menu");
+ GLADE_HOOKUP_OBJECT (gslapt, preferences2, "preferences2");
+ GLADE_HOOKUP_OBJECT (gslapt, image835, "image835");
+ GLADE_HOOKUP_OBJECT (gslapt, help3, "help3");
+ GLADE_HOOKUP_OBJECT (gslapt, help3_menu, "help3_menu");
+ GLADE_HOOKUP_OBJECT (gslapt, about3, "about3");
+ GLADE_HOOKUP_OBJECT (gslapt, image836, "image836");
+ GLADE_HOOKUP_OBJECT (gslapt, action_toolbar, "action_toolbar");
+ GLADE_HOOKUP_OBJECT (gslapt, action_bar_update_button, "action_bar_update_button");
+ GLADE_HOOKUP_OBJECT (gslapt, action_bar_upgrade_button, "action_bar_upgrade_button");
+ GLADE_HOOKUP_OBJECT (gslapt, action_bar_dist_upgrade_button, "action_bar_dist_upgrade_button");
+ GLADE_HOOKUP_OBJECT (gslapt, action_bar_execute_button, "action_bar_execute_button");
+ GLADE_HOOKUP_OBJECT (gslapt, action_bar_quit_button, "action_bar_quit_button");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_notebook_info_actionbox, "pkg_notebook_info_actionbox");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_notebook, "pkg_notebook");
+ GLADE_HOOKUP_OBJECT (gslapt, available_tab_viewport, "available_tab_viewport");
+ GLADE_HOOKUP_OBJECT (gslapt, available_tab_scroll, "available_tab_scroll");
+ GLADE_HOOKUP_OBJECT (gslapt, available_pkg_listing_treeview, "available_pkg_listing_treeview");
+ GLADE_HOOKUP_OBJECT (gslapt, available_tab, "available_tab");
+ GLADE_HOOKUP_OBJECT (gslapt, install_tab_scrolled, "install_tab_scrolled");
+ GLADE_HOOKUP_OBJECT (gslapt, inst_pkg_listing_treeview, "inst_pkg_listing_treeview");
+ GLADE_HOOKUP_OBJECT (gslapt, installed_tab, "installed_tab");
+ GLADE_HOOKUP_OBJECT (gslapt, search_tab_vbox, "search_tab_vbox");
+ GLADE_HOOKUP_OBJECT (gslapt, search_tab_search_align, "search_tab_search_align");
+ GLADE_HOOKUP_OBJECT (gslapt, search_tab_search_hbox, "search_tab_search_hbox");
+ GLADE_HOOKUP_OBJECT (gslapt, search_tab_search_entry, "search_tab_search_entry");
+ GLADE_HOOKUP_OBJECT (gslapt, search_tab_search_button, "search_tab_search_button");
+ GLADE_HOOKUP_OBJECT (gslapt, search_tab_search_results_scrolled, "search_tab_search_results_scrolled");
+ GLADE_HOOKUP_OBJECT (gslapt, search_pkg_listing_treeview, "search_pkg_listing_treeview");
+ GLADE_HOOKUP_OBJECT (gslapt, search_tab, "search_tab");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_hbox, "pkg_info_action_hbox");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_frame, "pkg_info_frame");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_table, "pkg_info_action_table");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_name_label, "pkg_info_action_name_label");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_conflicts_entry, "pkg_info_action_conflicts_entry");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_mirror_label, "pkg_info_action_mirror_label");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_location_label, "pkg_info_action_location_label");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_version_label, "pkg_info_action_version_label");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_size_label, "pkg_info_action_size_label");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_isize_label, "pkg_info_action_isize_label");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_name_entry, "pkg_info_action_name_entry");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_mirror_entry, "pkg_info_action_mirror_entry");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_location_entry, "pkg_info_action_location_entry");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_version_entry, "pkg_info_action_version_entry");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_size_entry, "pkg_info_action_size_entry");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_isize_entry, "pkg_info_action_isize_entry");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_required_entry, "pkg_info_action_required_entry");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_description_entry, "pkg_info_action_description_entry");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_suggests_entry, "pkg_info_action_suggests_entry");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_description_label, "pkg_info_action_description_label");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_conflicts_label, "pkg_info_action_conflicts_label");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_suggests_label, "pkg_info_action_suggests_label");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_required_label, "pkg_info_action_required_label");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_label, "pkg_info_label");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_action_frame, "pkg_action_frame");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_action_vbox, "pkg_action_vbox");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_install_upgrade_button, "pkg_info_action_install_upgrade_button");
+ GLADE_HOOKUP_OBJECT (gslapt, alignment27, "alignment27");
+ GLADE_HOOKUP_OBJECT (gslapt, hbox78, "hbox78");
+ GLADE_HOOKUP_OBJECT (gslapt, image746, "image746");
+ GLADE_HOOKUP_OBJECT (gslapt, label131, "label131");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_remove_button, "pkg_info_action_remove_button");
+ GLADE_HOOKUP_OBJECT (gslapt, alignment28, "alignment28");
+ GLADE_HOOKUP_OBJECT (gslapt, hbox79, "hbox79");
+ GLADE_HOOKUP_OBJECT (gslapt, image747, "image747");
+ GLADE_HOOKUP_OBJECT (gslapt, label132, "label132");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_info_action_exclude_button, "pkg_info_action_exclude_button");
+ GLADE_HOOKUP_OBJECT (gslapt, alignment29, "alignment29");
+ GLADE_HOOKUP_OBJECT (gslapt, hbox80, "hbox80");
+ GLADE_HOOKUP_OBJECT (gslapt, image748, "image748");
+ GLADE_HOOKUP_OBJECT (gslapt, label133, "label133");
+ GLADE_HOOKUP_OBJECT (gslapt, pkg_action_label, "pkg_action_label");
+ GLADE_HOOKUP_OBJECT (gslapt, bottom_statusbar, "bottom_statusbar");
+ GLADE_HOOKUP_OBJECT_NO_REF (gslapt, tooltips, "tooltips");
+
+ gtk_window_add_accel_group (GTK_WINDOW (gslapt), accel_group);
+
+ return gslapt;
+}
+
+GtkWidget*
+create_about (void)
+{
+ GtkWidget *about;
+ GtkWidget *dialog_vbox1;
+ GtkWidget *image797;
+ GtkWidget *label138;
+ GtkWidget *label137;
+ GtkWidget *dialog_action_area1;
+ GtkWidget *closebutton1;
+
+ about = gtk_dialog_new ();
+ gtk_widget_set_name (about, "about");
+ gtk_window_set_title (GTK_WINDOW (about), _("About Gslapt"));
+ gtk_window_set_type_hint (GTK_WINDOW (about), GDK_WINDOW_TYPE_HINT_DIALOG);
+
+ dialog_vbox1 = GTK_DIALOG (about)->vbox;
+ gtk_widget_set_name (dialog_vbox1, "dialog_vbox1");
+ gtk_widget_show (dialog_vbox1);
+
+ image797 = gtk_image_new_from_stock ("gtk-dialog-info", GTK_ICON_SIZE_DIALOG);
+ gtk_widget_set_name (image797, "image797");
+ gtk_widget_show (image797);
+ gtk_box_pack_start (GTK_BOX (dialog_vbox1), image797, FALSE, FALSE, 0);
+
+ label138 = gtk_label_new ("");
+ gtk_widget_set_name (label138, "label138");
+ gtk_widget_show (label138);
+ gtk_box_pack_start (GTK_BOX (dialog_vbox1), label138, FALSE, FALSE, 0);
+
+ label137 = gtk_label_new (_(" Gslapt\n\n GTK+ slapt-get \n\nCopyright Jason Woodward"));
+ gtk_widget_set_name (label137, "label137");
+ gtk_widget_show (label137);
+ gtk_box_pack_start (GTK_BOX (dialog_vbox1), label137, FALSE, FALSE, 0);
+
+ dialog_action_area1 = GTK_DIALOG (about)->action_area;
+ gtk_widget_set_name (dialog_action_area1, "dialog_action_area1");
+ gtk_widget_show (dialog_action_area1);
+ gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
+
+ closebutton1 = gtk_button_new_from_stock ("gtk-close");
+ gtk_widget_set_name (closebutton1, "closebutton1");
+ gtk_widget_show (closebutton1);
+ gtk_dialog_add_action_widget (GTK_DIALOG (about), closebutton1, GTK_RESPONSE_CLOSE);
+ GTK_WIDGET_SET_FLAGS (closebutton1, GTK_CAN_DEFAULT);
+
+ g_signal_connect_swapped ((gpointer) about, "close",
+ G_CALLBACK (gtk_widget_destroy),
+ GTK_OBJECT (about));
+ g_signal_connect_swapped ((gpointer) about, "destroy_event",
+ G_CALLBACK (gtk_widget_destroy),
+ GTK_OBJECT (about));
+ g_signal_connect_swapped ((gpointer) closebutton1, "clicked",
+ G_CALLBACK (gtk_widget_destroy),
+ GTK_OBJECT (about));
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (about, about, "about");
+ GLADE_HOOKUP_OBJECT_NO_REF (about, dialog_vbox1, "dialog_vbox1");
+ GLADE_HOOKUP_OBJECT (about, image797, "image797");
+ GLADE_HOOKUP_OBJECT (about, label138, "label138");
+ GLADE_HOOKUP_OBJECT (about, label137, "label137");
+ GLADE_HOOKUP_OBJECT_NO_REF (about, dialog_action_area1, "dialog_action_area1");
+ GLADE_HOOKUP_OBJECT (about, closebutton1, "closebutton1");
+
+ return about;
+}
+
diff --git a/src/interface.h b/src/interface.h
new file mode 100644
index 0000000..8df7720
--- /dev/null
+++ b/src/interface.h
@@ -0,0 +1,8 @@
+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
+
+GtkWidget* create_window_preferences (void);
+GtkWidget* create_transaction_window (void);
+GtkWidget* create_gslapt (void);
+GtkWidget* create_about (void);
diff --git a/src/main.c b/src/main.c
new file mode 100644
index 0000000..d19ee6d
--- /dev/null
+++ b/src/main.c
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2004 Jason Woodward <woodwardj at jaos dot org>
+ *
+ * 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
+ * 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 Library 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <gtk/gtk.h>
+#include "callbacks.h"
+#include "interface.h"
+#include "support.h"
+
+rc_config *global_config; /* our config struct */
+struct pkg_list *installed;
+struct pkg_list *all;
+GtkWidget *gslapt;
+transaction_t tran;
+transaction_t *trans = &tran;
+
+int main (int argc, char *argv[]){
+ GtkStatusbar *bar;
+ guint default_context_id;
+
+#ifdef ENABLE_NLS
+ bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ textdomain (GETTEXT_PACKAGE);
+#endif
+
+ gtk_set_locale ();
+ g_thread_init(NULL);
+ gdk_threads_init();
+ gtk_init (&argc, &argv);
+
+ add_pixmap_directory (PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps");
+
+ gslapt = (GtkWidget *)create_gslapt ();
+ gtk_widget_show (gslapt);
+
+ #define RC_LOCATION "/etc/slapt-get/slapt-getrc"
+ global_config = read_rc_config(RC_LOCATION);
+ working_dir_init(global_config);
+ chdir(global_config->working_dir);
+
+ /* read in all pkgs and installed pkgs */
+ installed = get_installed_pkgs();
+ all = get_available_pkgs();
+
+ build_installed_treeviewlist((GtkWidget *)lookup_widget(gslapt,"inst_pkg_listing_treeview"));
+ build_available_treeviewlist((GtkWidget *)lookup_widget(gslapt,"available_pkg_listing_treeview"));
+ build_searched_treeviewlist((GtkWidget *)lookup_widget(gslapt,"search_pkg_listing_treeview"),NULL);
+
+ bar = GTK_STATUSBAR(lookup_widget(gslapt,"bottom_statusbar"));
+ default_context_id = gtk_statusbar_get_context_id(bar,"default");
+ gtk_statusbar_push(bar,default_context_id,"Ready.");
+
+ init_transaction(trans);
+
+ gdk_threads_enter();
+ gtk_main ();
+ gdk_threads_leave();
+
+ return 0;
+}
+
diff --git a/src/support.c b/src/support.c
new file mode 100644
index 0000000..00aff29
--- /dev/null
+++ b/src/support.c
@@ -0,0 +1,144 @@
+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+
+#include <gtk/gtk.h>
+
+#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;
+}
+
+static GList *pixmaps_directories = NULL;
+
+/* Use this function to set the directory containing installed pixmaps. */
+void
+add_pixmap_directory (const gchar *directory)
+{
+ pixmaps_directories = g_list_prepend (pixmaps_directories,
+ g_strdup (directory));
+}
+
+/* This is an internally used function to find pixmap files. */
+static gchar*
+find_pixmap_file (const gchar *filename)
+{
+ GList *elem;
+
+ /* We step through each of the pixmaps directory to find it. */
+ elem = pixmaps_directories;
+ while (elem)
+ {
+ gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data,
+ G_DIR_SEPARATOR_S, filename);
+ if (g_file_test (pathname, G_FILE_TEST_EXISTS))
+ return pathname;
+ g_free (pathname);
+ elem = elem->next;
+ }
+ 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_error_free (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);
+ }
+}
+
diff --git a/src/support.h b/src/support.h
new file mode 100644
index 0000000..a32649e
--- /dev/null
+++ b/src/support.h
@@ -0,0 +1,69 @@
+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <gtk/gtk.h>
+
+/*
+ * Standard gettext macros.
+ */
+#ifdef ENABLE_NLS
+# include <libintl.h>
+# undef _
+# define _(String) dgettext (PACKAGE, String)
+# define Q_(String) g_strip_context ((String), gettext (String))
+# ifdef gettext_noop
+# define N_(String) gettext_noop (String)
+# else
+# define N_(String) (String)
+# endif
+#else
+# define textdomain(String) (String)
+# define gettext(String) (String)
+# define dgettext(Domain,Message) (Message)
+# define dcgettext(Domain,Message,Type) (Message)
+# define bindtextdomain(Domain,Directory) (Domain)
+# define _(String) (String)
+# define Q_(String) g_strip_context ((String), (String))
+# define N_(String) (String)
+#endif
+
+
+/*
+ * 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);
+
+
+/* Use this function to set the directory containing installed pixmaps. */
+void add_pixmap_directory (const gchar *directory);
+
+
+/*
+ * 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);
+
diff --git a/stamp-h.in b/stamp-h.in
new file mode 100644
index 0000000..9788f70
--- /dev/null
+++ b/stamp-h.in
@@ -0,0 +1 @@
+timestamp