Hello community,
here is the log from the commit of package yast2-gtk for openSUSE:Factory
checked in at Sat Oct 3 03:05:44 CEST 2009.
--------
--- yast2-gtk/yast2-gtk.changes 2009-09-25 11:19:47.000000000 +0200
+++ yast2-gtk/yast2-gtk.changes 2009-10-02 15:18:06.000000000 +0200
@@ -1,0 +2,25 @@
+Fri Oct 02 00:00:00 GMT 2009 - rpmcruz@alunos.dcc.fc.up.pt
+
+- 2.19.15
+- another try.
+
+-------------------------------------------------------------------
+Fri Oct 02 00:00:00 GMT 2009 - rpmcruz@alunos.dcc.fc.up.pt
+
+- 2.19.14
+- trigger rebuild.
+
+-------------------------------------------------------------------
+Fri Oct 01 00:00:00 GMT 2009 - rpmcruz@alunos.dcc.fc.up.pt
+
+- 2.19.13
+- bug fix: failing to map packages to a couple of categories.
+- speed fix: improved startup speed.
+
+-------------------------------------------------------------------
+Thu Sep 30 00:00:00 GMT 2009 - rpmcruz@alunos.dcc.fc.up.pt
+
+- 2.19.11
+- bug fix: package details box now respond to scroll keys.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
yast2-gtk-2.19.11.tar.bz2
New:
----
yast2-gtk-2.19.15.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-gtk.spec ++++++
--- /var/tmp/diff_new_pack.12VS0d/_old 2009-10-03 03:01:47.000000000 +0200
+++ /var/tmp/diff_new_pack.12VS0d/_new 2009-10-03 03:01:47.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-gtk (Version 2.19.11)
+# spec file for package yast2-gtk (Version 2.19.15)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -15,17 +15,16 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
Url: http://en.opensuse.org/YaST2-GTK
Name: yast2-gtk
-Version: 2.19.11
+Version: 2.19.15
Release: 1
License: LGPL v2.1 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-gtk-2.19.11.tar.bz2
+Source0: yast2-gtk-2.19.15.tar.bz2
Prefix: /usr
Source2: yast2-gtk-rpmlintrc
BuildRequires: blocxx-devel gcc-c++ gtk2-devel libxcrypt-devel libzypp-devel yast2-devtools
@@ -34,23 +33,21 @@
Requires: yast2-core >= 2.16.27
Summary: YaST2 - Gtk Graphical User Interface
Provides: yast2_ui
+Provides: yast2_ui_pkg
%description
One of several user interfaces available for YaST2, based on GTK and
the X Window System.
-%package devel
-License: LGPL v2.1 or later
-Summary: -
-Group: Development/Libraries
-Requires: yast2-gtk = %{version}
-Requires: yast2-libyui-devel
-%description devel
--
+
+Authors:
+--------
+ Ricardo Cruz
+ Michael Meeks
%prep
-%setup -n yast2-gtk-2.19.11
+%setup -n yast2-gtk-2.19.15
%build
%{prefix}/bin/y2tool y2autoconf
@@ -81,9 +78,5 @@
%doc %{prefix}/share/doc/packages/yast2-gtk
%{_libdir}/YaST2/plugin/libpy2gtk.so.*
%{_libdir}/YaST2/plugin/libpy2gtk.so
-
-%files devel
-%defattr (-, root, root)
-%_includedir/*
-
+%{_datadir}/YaST2/gtk
%changelog
++++++ yast2-gtk-2.19.11.tar.bz2 -> yast2-gtk-2.19.15.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.19.11/ChangeLog new/yast2-gtk-2.19.15/ChangeLog
--- old/yast2-gtk-2.19.11/ChangeLog 2009-09-25 11:02:51.000000000 +0200
+++ new/yast2-gtk-2.19.15/ChangeLog 2009-10-01 02:38:08.000000000 +0200
@@ -1,3 +1,17 @@
+2009-09-30 Ricardo Cruz
+
+ * src/yzypptags.h/cc: bug fix: a couple mapping errors
+ of PackageKit categories.
+
+ * src/yzyppwrapper.cc: speed fix: improved startup
+ speed by both mapping categories when needed and
+ improving the mapping performance as well.
+
+2009-09-30 Ricardo Cruz
+
+ * src/ygtkzyppview.h/cc: map package text-view details
+ scrolling to the view-port they are installed on.
+
2009-09-24 Ricardo Cruz
* src/yzyppwrapper.cc: made compilable for 11.1 libzypp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.19.11/VERSION new/yast2-gtk-2.19.15/VERSION
--- old/yast2-gtk-2.19.11/VERSION 2009-09-25 11:09:45.000000000 +0200
+++ new/yast2-gtk-2.19.15/VERSION 2009-10-02 15:14:31.000000000 +0200
@@ -1 +1 @@
-2.19.11
+2.19.15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.19.11/configure new/yast2-gtk-2.19.15/configure
--- old/yast2-gtk-2.19.11/configure 2009-09-25 11:10:31.000000000 +0200
+++ new/yast2-gtk-2.19.15/configure 2009-10-02 15:15:29.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for yast2-gtk 2.19.11.
+# Generated by GNU Autoconf 2.63 for yast2-gtk 2.19.15.
#
# Report bugs to http://bugs.opensuse.org/.
#
@@ -745,8 +745,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-gtk'
PACKAGE_TARNAME='yast2-gtk'
-PACKAGE_VERSION='2.19.11'
-PACKAGE_STRING='yast2-gtk 2.19.11'
+PACKAGE_VERSION='2.19.15'
+PACKAGE_STRING='yast2-gtk 2.19.15'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1546,7 +1546,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures yast2-gtk 2.19.11 to adapt to many kinds of systems.
+\`configure' configures yast2-gtk 2.19.15 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1617,7 +1617,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-gtk 2.19.11:";;
+ short | recursive ) echo "Configuration of yast2-gtk 2.19.15:";;
esac
cat <<\_ACEOF
@@ -1745,7 +1745,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-gtk configure 2.19.11
+yast2-gtk configure 2.19.15
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1759,7 +1759,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by yast2-gtk $as_me 2.19.11, which was
+It was created by yast2-gtk $as_me 2.19.15, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -2606,7 +2606,7 @@
# Define the identity of the package.
PACKAGE='yast2-gtk'
- VERSION='2.19.11'
+ VERSION='2.19.15'
cat >>confdefs.h <<_ACEOF
@@ -2830,7 +2830,7 @@
-VERSION="2.19.11"
+VERSION="2.19.15"
RPMNAME="yast2-gtk"
MAINTAINER="Ricardo Cruz \
Michael Meeks "
@@ -18310,7 +18310,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-gtk $as_me 2.19.11, which was
+This file was extended by yast2-gtk $as_me 2.19.15, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -18373,7 +18373,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-yast2-gtk config.status 2.19.11
+yast2-gtk config.status 2.19.15
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.19.11/configure.in new/yast2-gtk-2.19.15/configure.in
--- old/yast2-gtk-2.19.11/configure.in 2009-09-25 11:10:02.000000000 +0200
+++ new/yast2-gtk-2.19.15/configure.in 2009-10-02 15:14:58.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.18.10 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-gtk, 2.19.11, http://bugs.opensuse.org/, yast2-gtk)
+AC_INIT(yast2-gtk, 2.19.15, http://bugs.opensuse.org/, yast2-gtk)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.19.11"
+VERSION="2.19.15"
RPMNAME="yast2-gtk"
MAINTAINER="Ricardo Cruz \
Michael Meeks "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.19.11/src/Makefile.in new/yast2-gtk-2.19.15/src/Makefile.in
--- old/yast2-gtk-2.19.11/src/Makefile.in 2009-09-25 11:10:30.000000000 +0200
+++ new/yast2-gtk-2.19.15/src/Makefile.in 2009-10-02 15:15:34.000000000 +0200
@@ -393,9 +393,9 @@
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
cd $(top_srcdir) && \
- $(AUTOMAKE) --foreign src/Makefile
+ $(AUTOMAKE) --gnu src/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.19.11/src/YGPackageSelector.cc new/yast2-gtk-2.19.15/src/YGPackageSelector.cc
--- old/yast2-gtk-2.19.11/src/YGPackageSelector.cc 2009-09-24 12:19:22.000000000 +0200
+++ new/yast2-gtk-2.19.15/src/YGPackageSelector.cc 2009-10-01 02:04:42.000000000 +0200
@@ -2011,7 +2011,7 @@
m_progressbar = gtk_progress_bar_new();
GtkWidget *empty = gtk_event_box_new();
- gtk_widget_set_size_request (empty, -1, 40);
+ gtk_widget_set_size_request (empty, -1, 36);
gtk_widget_show (empty);
GtkWidget *vbox = gtk_vbox_new (FALSE, 6);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.19.11/src/ygtkzyppview.cc new/yast2-gtk-2.19.15/src/ygtkzyppview.cc
--- old/yast2-gtk-2.19.11/src/ygtkzyppview.cc 2009-09-24 12:13:01.000000000 +0200
+++ new/yast2-gtk-2.19.15/src/ygtkzyppview.cc 2009-09-30 18:21:33.000000000 +0200
@@ -10,7 +10,6 @@
*/
#define YUILogComponent "gtk"
#include
-#include
#include "ygtkzyppview.h"
#include "ygtktreeview.h"
#include "ygtktreemodel.h"
@@ -22,6 +21,8 @@
#include
#include
#include <list>
+#include
+#include
//** Utilities
@@ -1610,6 +1611,8 @@
gtk_widget_show_all (hbox);
g_signal_connect (G_OBJECT (scroll), "hierarchy-changed",
G_CALLBACK (hierarchy_changed_cb), this);
+ g_signal_connect (G_OBJECT (scroll), "realize",
+ G_CALLBACK (realize_cb), this);
}
~Impl()
@@ -1806,6 +1809,53 @@
pThis->setVerticalMode (vertical);
}
}
+
+ static void move_cursor_cb (GtkTextView *view, GtkMovementStep step, gint count,
+ gboolean extend_selection, Impl *pThis)
+ {
+ GtkScrolledWindow *scroll = GTK_SCROLLED_WINDOW (pThis->m_scroll);
+ GtkAdjustment *adj = gtk_scrolled_window_get_vadjustment (scroll);
+ int height = pThis->m_scroll->allocation.height;
+ gdouble increment;
+ switch (step) {
+ case GTK_MOVEMENT_DISPLAY_LINES:
+ increment = height / 10.0;
+ break;
+ case GTK_MOVEMENT_PAGES:
+ increment = height * 0.9;
+ break;
+ case GTK_MOVEMENT_DISPLAY_LINE_ENDS:
+ increment = adj->upper - adj->lower;
+ break;
+ default:
+ increment = 0.0;
+ break;
+ }
+
+ gdouble value = adj->value + (count * increment);
+ value = MIN (value, adj->upper - adj->page_size);
+ value = MAX (value, adj->lower);
+ if (value != adj->value)
+ gtk_adjustment_set_value (adj, value);
+ }
+
+ static inline void fix_keybindings (Impl *pThis, GtkWidget *widget)
+ {
+ if (widget)
+ g_signal_connect (G_OBJECT (widget), "move-cursor",
+ G_CALLBACK (move_cursor_cb), pThis);
+ }
+
+ static void realize_cb (GtkWidget *widget, Impl *pThis)
+ {
+ fix_keybindings (pThis, pThis->m_description);
+ fix_keybindings (pThis, pThis->m_filelist);
+ fix_keybindings (pThis, pThis->m_changelog);
+ fix_keybindings (pThis, pThis->m_authors);
+ fix_keybindings (pThis, pThis->m_support);
+ fix_keybindings (pThis, pThis->m_requires);
+ fix_keybindings (pThis, pThis->m_provides);
+ }
};
G_DEFINE_TYPE (YGtkDetailView, ygtk_detail_view, GTK_TYPE_SCROLLED_WINDOW)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.19.11/src/ygtkzyppview.h new/yast2-gtk-2.19.15/src/ygtkzyppview.h
--- old/yast2-gtk-2.19.11/src/ygtkzyppview.h 2009-09-24 12:12:44.000000000 +0200
+++ new/yast2-gtk-2.19.15/src/ygtkzyppview.h 2009-09-30 17:24:00.000000000 +0200
@@ -10,6 +10,7 @@
#include "yzyppwrapper.h"
#include
+#include
namespace ZyppModel {
enum Columns {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.19.11/src/yzypptags.cc new/yast2-gtk-2.19.15/src/yzypptags.cc
--- old/yast2-gtk-2.19.11/src/yzypptags.cc 2009-09-23 13:50:26.000000000 +0200
+++ new/yast2-gtk-2.19.15/src/yzypptags.cc 2009-10-01 02:13:22.000000000 +0200
@@ -22,16 +22,11 @@
const char *
zypp_tag_group_enum_to_localised_text (YPkgGroupEnum group)
{
- switch (group)
- {
- case PK_GROUP_ENUM_ACCESSIBILITY: return _( "Accessibility" );
- case PK_GROUP_ENUM_ACCESSORIES: return _( "Accessories" );
+ switch (group) {
case PK_GROUP_ENUM_EDUCATION: return _( "Education" );
case PK_GROUP_ENUM_GAMES: return _( "Games" );
case PK_GROUP_ENUM_GRAPHICS: return _( "Graphics" );
- case PK_GROUP_ENUM_INTERNET: return _( "Internet" );
case PK_GROUP_ENUM_OFFICE: return _( "Office" );
- case PK_GROUP_ENUM_OTHER: return _( "Other" );
case PK_GROUP_ENUM_PROGRAMMING: return _( "Programming" );
case PK_GROUP_ENUM_MULTIMEDIA: return _( "Multimedia" );
case PK_GROUP_ENUM_SYSTEM: return _( "System" );
@@ -40,21 +35,17 @@
case PK_GROUP_ENUM_DESKTOP_XFCE: return _( "XFCE Desktop" );
case PK_GROUP_ENUM_DESKTOP_OTHER: return _( "Other Desktops" );
case PK_GROUP_ENUM_PUBLISHING: return _( "Publishing" );
- case PK_GROUP_ENUM_SERVERS: return _( "Servers" );
- case PK_GROUP_ENUM_FONTS: return _( "Fonts" );
case PK_GROUP_ENUM_ADMIN_TOOLS: return _( "Admin Tools" );
- case PK_GROUP_ENUM_LEGACY: return _( "Legacy" );
case PK_GROUP_ENUM_LOCALIZATION: return _( "Localization" );
- case PK_GROUP_ENUM_VIRTUALIZATION: return _( "Virtualization" );
case PK_GROUP_ENUM_SECURITY: return _( "Security" );
- case PK_GROUP_ENUM_POWER_MANAGEMENT: return _( "Power Management" );
case PK_GROUP_ENUM_COMMUNICATION: return _( "Communication" );
case PK_GROUP_ENUM_NETWORK: return _( "Network" );
case PK_GROUP_ENUM_DOCUMENTATION: return _( "Documentation" );
case PK_GROUP_ENUM_UTILITIES: return _( "Utilities" );
case PK_GROUP_ENUM_UNKNOWN: return _( "Unknown Group" );
+ case PK_GROUP_ENUM_SIZE: break;
}
- return _("Unknown Group");
+ return "";
}
const char *
@@ -63,14 +54,10 @@
// NOTE: some icons are customized (bug 404818)
switch (group)
{
- case PK_GROUP_ENUM_ACCESSIBILITY: return( "package_main" );
- case PK_GROUP_ENUM_ACCESSORIES: return( "package_applications" );
case PK_GROUP_ENUM_EDUCATION: return( "package_edutainment" );
case PK_GROUP_ENUM_GAMES: return( "package_games" );
case PK_GROUP_ENUM_GRAPHICS: return( "package_graphics" );
- case PK_GROUP_ENUM_INTERNET: return( "package_network" );
case PK_GROUP_ENUM_OFFICE: return( "applications-office" );
- case PK_GROUP_ENUM_OTHER: return( "package_main" );
case PK_GROUP_ENUM_PROGRAMMING: return( "package_development" );
case PK_GROUP_ENUM_MULTIMEDIA: return( "package_multimedia" );
case PK_GROUP_ENUM_SYSTEM: return( "applications-system" );
@@ -79,24 +66,19 @@
case PK_GROUP_ENUM_DESKTOP_XFCE: return( "pattern-xfce" );
case PK_GROUP_ENUM_DESKTOP_OTHER: return( "user-desktop" );
case PK_GROUP_ENUM_PUBLISHING: return( "package_main" );
- case PK_GROUP_ENUM_SERVERS: return( "package_editors" );
- case PK_GROUP_ENUM_FONTS: return( "package_main" );
case PK_GROUP_ENUM_ADMIN_TOOLS: return( "yast-sysconfig" );
- case PK_GROUP_ENUM_LEGACY: return( "package_main" );
case PK_GROUP_ENUM_LOCALIZATION: return( "yast-language" );
- case PK_GROUP_ENUM_VIRTUALIZATION: return( "yast-create-new-vm" );
case PK_GROUP_ENUM_SECURITY: return( "yast-security" );
- case PK_GROUP_ENUM_POWER_MANAGEMENT: return( "package_settings_power" );
case PK_GROUP_ENUM_COMMUNICATION: return( "yast-modem" );
case PK_GROUP_ENUM_NETWORK: return( "package_network" );
case PK_GROUP_ENUM_DOCUMENTATION: return( "package_documentation" );
case PK_GROUP_ENUM_UTILITIES: return( "package_utilities" );
case PK_GROUP_ENUM_UNKNOWN: return( "package_main" );
+ case PK_GROUP_ENUM_SIZE: break;
}
return "";
}
-
YPkgGroupEnum
zypp_tag_convert (const std::string &groupu)
{
@@ -115,14 +97,14 @@
if (group.compare (0, 22, "productivity/telephony") == 0) return PK_GROUP_ENUM_COMMUNICATION;
if (group.compare (0, 19, "amusements/teaching") == 0) return PK_GROUP_ENUM_EDUCATION;
if (group.compare (0, 17, "publishing/office") == 0) return PK_GROUP_ENUM_OFFICE;
- if (group.compare (0, 18, "producitivity/text") == 0) return PK_GROUP_ENUM_OFFICE;
- if (group.compare (0, 21, "producitivity/editors") == 0) return PK_GROUP_ENUM_OFFICE;
- if (group.compare (0, 20, "producitivity/graphics") == 0) return PK_GROUP_ENUM_GRAPHICS;
+ if (group.compare (0, 17, "productivity/text") == 0) return PK_GROUP_ENUM_OFFICE;
+ if (group.compare (0, 20, "productivity/editors") == 0) return PK_GROUP_ENUM_OFFICE;
+ if (group.compare (0, 21, "productivity/graphics") == 0) return PK_GROUP_ENUM_GRAPHICS;
if (group.compare (0, 10, "amusements") == 0) return PK_GROUP_ENUM_GAMES;
if (group.compare (0, 19, "system/localization") == 0) return PK_GROUP_ENUM_LOCALIZATION;
if (group.compare (0, 11, "development") == 0) return PK_GROUP_ENUM_PROGRAMMING;
- if (group.compare (0, 21, "producitivity/network") == 0) return PK_GROUP_ENUM_NETWORK;
- if (group.compare (0, 22, "producitivity/security") == 0) return PK_GROUP_ENUM_SECURITY;
+ if (group.compare (0, 20, "productivity/network") == 0) return PK_GROUP_ENUM_NETWORK;
+ if (group.compare (0, 21, "productivity/security") == 0) return PK_GROUP_ENUM_SECURITY;
if (group.compare (0, 16, "system/gui/gnome") == 0) return PK_GROUP_ENUM_DESKTOP_GNOME;
if (group.compare (0, 14, "system/gui/kde") == 0) return PK_GROUP_ENUM_DESKTOP_KDE;
if (group.compare (0, 15, "system/gui/xfce") == 0) return PK_GROUP_ENUM_DESKTOP_XFCE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.19.11/src/yzypptags.h new/yast2-gtk-2.19.15/src/yzypptags.h
--- old/yast2-gtk-2.19.11/src/yzypptags.h 2009-09-22 17:01:33.000000000 +0200
+++ new/yast2-gtk-2.19.15/src/yzypptags.h 2009-10-01 02:11:01.000000000 +0200
@@ -8,35 +8,27 @@
typedef enum {
/* PackageKit values */
- PK_GROUP_ENUM_ACCESSIBILITY,
- PK_GROUP_ENUM_ACCESSORIES,
- PK_GROUP_ENUM_EDUCATION,
- PK_GROUP_ENUM_GAMES,
- PK_GROUP_ENUM_GRAPHICS,
- PK_GROUP_ENUM_INTERNET,
PK_GROUP_ENUM_OFFICE,
- PK_GROUP_ENUM_OTHER,
- PK_GROUP_ENUM_PROGRAMMING,
+ PK_GROUP_ENUM_PUBLISHING,
+ PK_GROUP_ENUM_GRAPHICS,
PK_GROUP_ENUM_MULTIMEDIA,
- PK_GROUP_ENUM_SYSTEM,
+ PK_GROUP_ENUM_EDUCATION,
+ PK_GROUP_ENUM_GAMES,
PK_GROUP_ENUM_DESKTOP_GNOME,
PK_GROUP_ENUM_DESKTOP_KDE,
PK_GROUP_ENUM_DESKTOP_XFCE,
PK_GROUP_ENUM_DESKTOP_OTHER,
- PK_GROUP_ENUM_PUBLISHING,
- PK_GROUP_ENUM_SERVERS,
- PK_GROUP_ENUM_FONTS,
- PK_GROUP_ENUM_ADMIN_TOOLS,
- PK_GROUP_ENUM_LEGACY,
- PK_GROUP_ENUM_LOCALIZATION,
- PK_GROUP_ENUM_VIRTUALIZATION,
- PK_GROUP_ENUM_SECURITY,
- PK_GROUP_ENUM_POWER_MANAGEMENT,
PK_GROUP_ENUM_COMMUNICATION,
PK_GROUP_ENUM_NETWORK,
+ PK_GROUP_ENUM_PROGRAMMING,
PK_GROUP_ENUM_DOCUMENTATION,
+ PK_GROUP_ENUM_ADMIN_TOOLS,
+ PK_GROUP_ENUM_SECURITY,
+ PK_GROUP_ENUM_LOCALIZATION,
+ PK_GROUP_ENUM_SYSTEM,
PK_GROUP_ENUM_UTILITIES,
PK_GROUP_ENUM_UNKNOWN,
+ PK_GROUP_ENUM_SIZE,
} YPkgGroupEnum;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.19.11/src/yzyppwrapper.cc new/yast2-gtk-2.19.15/src/yzyppwrapper.cc
--- old/yast2-gtk-2.19.11/src/yzyppwrapper.cc 2009-09-25 11:03:52.000000000 +0200
+++ new/yast2-gtk-2.19.15/src/yzyppwrapper.cc 2009-10-01 02:19:23.000000000 +0200
@@ -191,11 +191,12 @@
// for the Primitive Pools
PkgList *getPackages (Package::Type type);
+ Ypp::Node *mapCategory2Enum (YPkgGroupEnum group);
+
private:
bool resolveProblems();
Node *addCategory (Ypp::Package::Type type, const std::string &str, const std::string &order);
void polishCategories (Ypp::Package::Type type);
- Node *addCategory2 (Ypp::Package::Type type, ZyppSelectable sel);
void startTransactions();
void finishTransactions();
@@ -203,6 +204,7 @@
friend class Ypp;
PkgList *packages [Package::TOTAL_TYPES]; // primitive pools
StringTree *categories [Package::TOTAL_TYPES], *categories2;
+ Ypp::Node *mapCategories2 [PK_GROUP_ENUM_SIZE];
std::vector repos;
const Repository *favoriteRepo;
int favoriteRepoPriority;
@@ -948,7 +950,26 @@
{ return m_category; }
virtual Ypp::Node *category2()
- { return m_category2; }
+ {
+ if (!m_category2) {
+ YPkgGroupEnum group = PK_GROUP_ENUM_UNKNOWN;
+ for (int i = 0; i < 2; i++) {
+ ZyppObject obj;
+ if (i == 0)
+ obj = m_sel->candidateObj();
+ else
+ obj = m_sel->installedObj();
+ ZyppPackage pkg = tryCastToZyppPkg (obj);
+ if (pkg) {
+ group = zypp_tag_convert (pkg->group());
+ if (group != PK_GROUP_ENUM_UNKNOWN)
+ break;
+ }
+ }
+ m_category2 = ypp->impl->mapCategory2Enum (group);
+ }
+ return m_category2;
+ }
virtual bool isInstalled()
{
@@ -1375,6 +1396,21 @@
ZyppPattern pattern2 = tryCastToZyppPattern (((PackageSel *) b->impl)->m_sel->theObj());
return strcmp (pattern1->order().c_str(), pattern2->order().c_str()) < 0;
}
+ static int pk_group_order (const char *a, const char *b)
+ {
+ const char *unknown = zypp_tag_group_enum_to_localised_text (PK_GROUP_ENUM_UNKNOWN);
+ if (!strcmp (a, unknown)) {
+ if (!strcmp (b, unknown))
+ return 0;
+ return 1;
+ }
+ if (!strcmp (b, unknown)) {
+ if (!strcmp (a, unknown))
+ return 0;
+ return -1;
+ }
+ return strcmp (a, b);
+ }
};
if (type == Package::LANGUAGE_TYPE) {
@@ -1394,9 +1430,20 @@
it = zyppPool().byKindBegin zypp::Package();
end = zyppPool().byKindEnd zypp::Package();
size = zyppPool().size(zypp::ResKind::package);
+
// for the categories
bindtextdomain ("rpm-groups", LOCALEDIR);
bind_textdomain_codeset ("rpm-groups", "utf8");
+ // layout all categories2 already and assign it to packages on request
+ categories2 = new StringTree (inner::pk_group_order, '/', NULL);
+ for (int i = 0; i < PK_GROUP_ENUM_SIZE; i++) {
+ YPkgGroupEnum group = (YPkgGroupEnum) i;
+ const char *name = zypp_tag_group_enum_to_localised_text (group);
+ const char *icon = zypp_tag_enum_to_icon (group);
+ Ypp::Node *node = categories2->add (name, "");
+ node->icon = icon;
+ mapCategories2 [i] = node;
+ }
break;
case Package::PATTERN_TYPE:
it = zyppPool().byKindBegin zypp::Pattern();
@@ -1432,7 +1479,6 @@
if (!zpackage)
continue;
category = addCategory (type, zpackage->group(), "");
- category2 = addCategory2 (type, sel);
break;
}
case Package::PATTERN_TYPE:
@@ -1507,6 +1553,9 @@
return packages[type];
}
+Ypp::Node *Ypp::Impl::mapCategory2Enum (YPkgGroupEnum group)
+{ return mapCategories2 [group]; }
+
//** PkgList
struct Ypp::PkgList::Impl : public Ypp::PkgList::Listener
@@ -2260,49 +2309,6 @@
return categories[type]->add (category, order);
}
-Ypp::Node *Ypp::Impl::addCategory2 (Ypp::Package::Type type, ZyppSelectable sel)
-{
- struct inner {
- static int cmp (const char *a, const char *b)
- {
- int r = g_utf8_collate (a, b);
- if (r != 0) {
- const char *unknown = zypp_tag_group_enum_to_localised_text
- (PK_GROUP_ENUM_UNKNOWN);
- if (!strcmp (a, unknown))
- return 1;
- if (!strcmp (b, unknown))
- return -1;
- }
- return r;
- }
- };
-
- // different instances may be assigned different groups
- YPkgGroupEnum group = PK_GROUP_ENUM_UNKNOWN;
- for (int i = 0; i < 2; i++) {
- ZyppObject obj;
- if (i == 0)
- obj = sel->candidateObj();
- else
- obj = sel->installedObj();
- ZyppPackage pkg = tryCastToZyppPkg (obj);
- if (pkg) {
- group = zypp_tag_convert (pkg->group());
- if (group != PK_GROUP_ENUM_UNKNOWN)
- break;
- }
- }
- const char *group_name = zypp_tag_group_enum_to_localised_text (group);
- const char *group_icon = zypp_tag_enum_to_icon (group);
-
- if (!categories2)
- categories2 = new StringTree (inner::cmp, '/', NULL);
- Ypp::Node *node = categories2->add (group_name, "");
- node->icon = group_icon;
- return node;
-}
-
void Ypp::Impl::polishCategories (Ypp::Package::Type type)
{
// some treatment on categories
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org