Hello community,
here is the log from the commit of package yast2-gtk for openSUSE:Factory
checked in at Wed Apr 21 01:57:24 CEST 2010.
--------
--- yast2-gtk/yast2-gtk.changes 2010-04-19 15:43:28.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-gtk/yast2-gtk.changes 2010-04-20 16:56:22.000000000 +0200
@@ -1,0 +2,18 @@
+Tue Apr 20 15:53:00 WET 2010 - rpmcruz@alunos.dcc.fc.up.pt
+
+- 2.21.44
+- sw_single: fixed visually disconsonant sub-lines between
+the package lists and the repository/pattern ones.
+
+-------------------------------------------------------------------
+Tue Apr 20 14:02:00 WET 2010 - rpmcruz@alunos.dcc.fc.up.pt
+
+- 2.21.43
+- online_update: several fixes, especially in the versions
+lists.
+- sw_single: bug fix: history window wouldn't function
+when closing by pressing Escape.
+- sw_single: bug fix: upgrade button wouldn't show up.
+- sw_single: show summary lines in gray.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
yast2-gtk-2.21.42.tar.bz2
New:
----
yast2-gtk-2.21.44.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-gtk.spec ++++++
--- /var/tmp/diff_new_pack.45Bx2T/_old 2010-04-21 01:57:11.000000000 +0200
+++ /var/tmp/diff_new_pack.45Bx2T/_new 2010-04-21 01:57:11.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-gtk (Version 2.21.42)
+# spec file for package yast2-gtk (Version 2.21.44)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -18,11 +18,11 @@
Name: yast2-gtk
-Version: 2.21.42
+Version: 2.21.44
Release: 1
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-gtk-2.21.42.tar.bz2
+Source0: yast2-gtk-2.21.44.tar.bz2
Url: http://en.opensuse.org/YaST2-GTK
Summary: YaST2 - GTK+ Graphical User Interface
Group: System/YaST
++++++ yast2-gtk-2.21.42.tar.bz2 -> yast2-gtk-2.21.44.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/ChangeLog new/yast2-gtk-2.21.44/ChangeLog
--- old/yast2-gtk-2.21.42/ChangeLog 2010-04-19 15:40:03.000000000 +0200
+++ new/yast2-gtk-2.21.44/ChangeLog 2010-04-20 16:53:30.000000000 +0200
@@ -1,3 +1,44 @@
+2010-04-20 Ricardo Cruz
+
+ * src/pkg/ygtkcellrenderertext.h/c: added renderer: extends
+ gtk-cell-renderer-text so color markup within the "markup"
+ property is ignored when the row is selected.
+
+ * src/pkg/ygtkpkgfilterview.cc & src/ygtkpkgpatternview.cc:
+ gray sub-lines.
+
+2010-04-20 Ricardo Cruz
+
+ * src/pkg/ygtkpkgdetailview.cc: show satisfied patches as
+ installed in the versions list, and set install button
+ as inactive.
+
+ * src/pkg/ygtkpkglistview.cc: set install check button
+ inactive for installed patches.
+
+2010-04-20 Ricardo Cruz
+
+ * src/pkg/ygtkcellrendererbutton.c: reverted: don't use the all
+ column, but only the necessary width.
+
+ * src/pkg/ygtkpkghistorydialog.cc: reverted: show "loading..."
+ text.
+
+ * src/pkg/ygtkpkghistorydialog.cc: buf fix: window wouldn't
+ work if closed by other means other than the close button
+ (like pressing Escape).
+
+ * src/pkg/ygtkpkgcellrenderersidebutton.h/c: re-introduced.
+
+ * src/pkg/ygtkpkglistview.cc: bug fix: use side-button rather
+ than the previous packing simplifying which wouldn't work
+ occasionally.
+
+ * src/pkg/ygtkpkglistview.cc: show summary lines as gray.
+ I had to break the strict gtk data-view model in order
+ to avoid explicitly setting colors when a row was
+ selected.
+
2010-04-19 Ricardo Cruz
* src/pkg/ygtkpkgdetailview.cc: several bug fixes with
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/VERSION new/yast2-gtk-2.21.44/VERSION
--- old/yast2-gtk-2.21.42/VERSION 2010-04-19 15:40:03.000000000 +0200
+++ new/yast2-gtk-2.21.44/VERSION 2010-04-20 16:53:30.000000000 +0200
@@ -1 +1 @@
-2.21.42
+2.21.44
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/VERSION.cmake new/yast2-gtk-2.21.44/VERSION.cmake
--- old/yast2-gtk-2.21.42/VERSION.cmake 2010-04-19 15:40:03.000000000 +0200
+++ new/yast2-gtk-2.21.44/VERSION.cmake 2010-04-20 16:53:30.000000000 +0200
@@ -1,3 +1,3 @@
SET(VERSION_MAJOR "2")
SET(VERSION_MINOR "21")
-SET(VERSION_PATCH "42")
+SET(VERSION_PATCH "44")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/package/yast2-gtk.changes new/yast2-gtk-2.21.44/package/yast2-gtk.changes
--- old/yast2-gtk-2.21.42/package/yast2-gtk.changes 2010-04-19 15:40:03.000000000 +0200
+++ new/yast2-gtk-2.21.44/package/yast2-gtk.changes 2010-04-20 16:53:30.000000000 +0200
@@ -1,4 +1,22 @@
-------------------------------------------------------------------
+Tue Apr 20 15:53:00 WET 2010 - rpmcruz@alunos.dcc.fc.up.pt
+
+- 2.21.44
+- sw_single: fixed visually disconsonant sub-lines between
+the package lists and the repository/pattern ones.
+
+-------------------------------------------------------------------
+Tue Apr 20 14:02:00 WET 2010 - rpmcruz@alunos.dcc.fc.up.pt
+
+- 2.21.43
+- online_update: several fixes, especially in the versions
+lists.
+- sw_single: bug fix: history window wouldn't function
+when closing by pressing Escape.
+- sw_single: bug fix: upgrade button wouldn't show up.
+- sw_single: show summary lines in gray.
+
+-------------------------------------------------------------------
Mon Apr 19 14:39:00 WET 2010 - rpmcruz@alunos.dcc.fc.up.pt
- 2.21.42
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/package/yast2-gtk.spec new/yast2-gtk-2.21.44/package/yast2-gtk.spec
--- old/yast2-gtk-2.21.42/package/yast2-gtk.spec 2010-04-19 15:40:03.000000000 +0200
+++ new/yast2-gtk-2.21.44/package/yast2-gtk.spec 2010-04-20 16:53:30.000000000 +0200
@@ -1,16 +1,16 @@
#
-# spec file for package yast2-gtk (Version 2.21.41)
+# spec file for package yast2-gtk (Version 2.21.43)
#
# norootforbuild;,
Name: yast2-gtk
-Version: 2.21.41
+Version: 2.21.43
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-gtk-2.21.41.tar.bz2
+Source0: yast2-gtk-2.21.43.tar.bz2
Url: http://en.opensuse.org/YaST2-GTK
Summary: YaST2 - GTK+ Graphical User Interface
Group: System/YaST
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/src/pkg/CMakeLists.txt new/yast2-gtk-2.21.44/src/pkg/CMakeLists.txt
--- old/yast2-gtk-2.21.42/src/pkg/CMakeLists.txt 2010-04-19 15:40:03.000000000 +0200
+++ new/yast2-gtk-2.21.44/src/pkg/CMakeLists.txt 2010-04-20 16:53:30.000000000 +0200
@@ -20,6 +20,8 @@
yzyppwrapper.cc
ygtkcellrendererbutton.c
+ ygtkcellrenderersidebutton.c
+ ygtkcellrenderertext.c
ygtktreemodel.cc
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/src/pkg/ygtkcellrendererbutton.c new/yast2-gtk-2.21.44/src/pkg/ygtkcellrendererbutton.c
--- old/yast2-gtk-2.21.42/src/pkg/ygtkcellrendererbutton.c 2010-04-19 15:40:03.000000000 +0200
+++ new/yast2-gtk-2.21.44/src/pkg/ygtkcellrendererbutton.c 2010-04-20 16:53:30.000000000 +0200
@@ -236,15 +236,14 @@
}
int text_xoffset, text_yoffset, pixbuf_xoffset, pixbuf_yoffset, pixbuf_width,
- pixbuf_height, height;
+ pixbuf_height, width, height;
ygtk_cell_renderer_button_get_size_full (cell, widget, cell_area,
- NULL, NULL, NULL, &height, &pixbuf_xoffset, &pixbuf_yoffset, &pixbuf_width,
+ NULL, NULL, &width, &height, &pixbuf_xoffset, &pixbuf_yoffset, &pixbuf_width,
&pixbuf_height, &text_xoffset, &text_yoffset);
int x = cell_area->x + OUTER_BORDER + 1;
- int width = cell_area->width - OUTER_BORDER*2 - 2;
int y = cell_area->y + (cell_area->height - height)/2 + OUTER_BORDER;
- height -= OUTER_BORDER*2;
+ width -= OUTER_BORDER*2; height -= OUTER_BORDER*2;
gtk_paint_box (widget->style, window, state, shadow, expose_area, widget,
"button", x, y, width, height);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/src/pkg/ygtkcellrenderersidebutton.c new/yast2-gtk-2.21.44/src/pkg/ygtkcellrenderersidebutton.c
--- old/yast2-gtk-2.21.42/src/pkg/ygtkcellrenderersidebutton.c 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-gtk-2.21.44/src/pkg/ygtkcellrenderersidebutton.c 2010-04-20 16:53:30.000000000 +0200
@@ -0,0 +1,221 @@
+/********************************************************************
+ * YaST2-GTK - http://en.opensuse.org/YaST2-GTK *
+ ********************************************************************/
+
+/* YGtkCellRendererSideButton widget */
+// check the header file for information about this widget
+
+#include "ygtkcellrenderersidebutton.h"
+#include
+
+enum {
+ PROP_0,
+ PROP_ACTIVE,
+ PROP_STOCK_ID,
+ PROP_BUTTON_VISIBLE,
+};
+
+static guint toggle_cell_signal = 0;
+
+G_DEFINE_TYPE (YGtkCellRendererSideButton, ygtk_cell_renderer_side_button, GTK_TYPE_CELL_RENDERER_TEXT)
+
+static void ygtk_cell_renderer_side_button_init (YGtkCellRendererSideButton *bcell)
+{ GTK_CELL_RENDERER (bcell)->mode = GTK_CELL_RENDERER_MODE_ACTIVATABLE; }
+
+static void free_pixbuf (YGtkCellRendererSideButton *cell)
+{
+ if (cell->stock_id) {
+ g_free (cell->stock_id);
+ cell->stock_id = NULL;
+ }
+ if (cell->pixbuf) {
+ g_object_unref (cell->pixbuf);
+ cell->pixbuf = NULL;
+ }
+}
+
+static void ensure_pixbuf (YGtkCellRendererSideButton *cell, GtkWidget *widget)
+{
+ if (!cell->pixbuf && cell->stock_id)
+ cell->pixbuf = gtk_widget_render_icon (widget, cell->stock_id, GTK_ICON_SIZE_BUTTON, NULL);
+}
+
+static void ygtk_cell_renderer_side_button_finalize (GObject *object)
+{
+ YGtkCellRendererSideButton *bcell = YGTK_CELL_RENDERER_SIDE_BUTTON (object);
+ free_pixbuf (bcell);
+ G_OBJECT_CLASS (ygtk_cell_renderer_side_button_parent_class)->finalize (object);
+}
+
+static void ygtk_cell_renderer_side_button_get_property (
+ GObject *object, guint param_id, GValue *value, GParamSpec *pspec)
+{
+ if (pspec->owner_type == YGTK_TYPE_CELL_RENDERER_SIDE_BUTTON) {
+ YGtkCellRendererSideButton *bcell = YGTK_CELL_RENDERER_SIDE_BUTTON (object);
+ switch (param_id) {
+ case PROP_ACTIVE:
+ g_value_set_boolean (value, bcell->active);
+ break;
+ case PROP_STOCK_ID:
+ g_value_set_string (value, bcell->stock_id);
+ break;
+ case PROP_BUTTON_VISIBLE:
+ g_value_set_boolean (value, bcell->button_visible);
+ break;
+ }
+ }
+ else
+ G_OBJECT_CLASS (ygtk_cell_renderer_side_button_parent_class)->get_property (
+ object, param_id, value, pspec);
+}
+
+static void ygtk_cell_renderer_side_button_set_property (GObject *object,
+ guint param_id, const GValue *value, GParamSpec *pspec)
+{
+ if (pspec->owner_type == YGTK_TYPE_CELL_RENDERER_SIDE_BUTTON) {
+ YGtkCellRendererSideButton *bcell = YGTK_CELL_RENDERER_SIDE_BUTTON (object);
+ switch (param_id) {
+ case PROP_ACTIVE:
+ bcell->active = g_value_get_boolean (value);
+ break;
+ case PROP_STOCK_ID:
+ free_pixbuf (bcell);
+ bcell->stock_id = g_value_dup_string (value);
+ break;
+ case PROP_BUTTON_VISIBLE:
+ bcell->button_visible = g_value_get_boolean (value);
+ break;
+ }
+ }
+ else
+ G_OBJECT_CLASS (ygtk_cell_renderer_side_button_parent_class)->set_property (
+ object, param_id, value, pspec);
+}
+
+static void ygtk_cell_renderer_side_button_get_size (
+ GtkCellRenderer *cell, GtkWidget *widget, GdkRectangle *cell_area,
+ gint *x_offset, gint *y_offset, gint *width, gint *height)
+{
+ GTK_CELL_RENDERER_CLASS (ygtk_cell_renderer_side_button_parent_class)->get_size (
+ cell, widget, cell_area, x_offset, y_offset, width, height);
+ YGtkCellRendererSideButton *bcell = YGTK_CELL_RENDERER_SIDE_BUTTON (cell);
+ if (bcell->button_visible) {
+ gint icon_width, icon_height;
+ gtk_icon_size_lookup (GTK_ICON_SIZE_BUTTON, &icon_width, &icon_height);
+ *width += icon_width + 8 + 4;
+ }
+}
+
+static void ygtk_cell_renderer_side_button_render (
+ GtkCellRenderer *cell, GdkDrawable *window, GtkWidget *widget,
+ GdkRectangle *background_area, GdkRectangle *cell_area,
+ GdkRectangle *expose_area, GtkCellRendererState flags)
+{
+ YGtkCellRendererSideButton *bcell = YGTK_CELL_RENDERER_SIDE_BUTTON (cell);
+ GdkRectangle text_area = *cell_area;
+ gint icon_width, icon_height;
+ if (bcell->button_visible) {
+ gtk_icon_size_lookup (GTK_ICON_SIZE_BUTTON, &icon_width, &icon_height);
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+ text_area.x += icon_width + 8;
+ text_area.width -= icon_width + 8 + 4;
+ }
+ GTK_CELL_RENDERER_CLASS (ygtk_cell_renderer_side_button_parent_class)->render (
+ cell, window, widget, background_area, &text_area, expose_area, flags);
+
+ if (bcell->button_visible) {
+ GtkStateType state = GTK_STATE_NORMAL;
+ GtkShadowType shadow = GTK_SHADOW_OUT;
+ if (!cell->sensitive || GTK_WIDGET_STATE (widget) == GTK_STATE_INSENSITIVE)
+ state = GTK_STATE_INSENSITIVE;
+ /* else if ((flags & GTK_CELL_RENDERER_PRELIT))
+ state = GTK_STATE_PRELIGHT;*/
+ if (bcell->active) {
+ shadow = GTK_SHADOW_IN;
+ state = GTK_STATE_ACTIVE;
+ }
+
+ GdkRectangle button_area = *cell_area;
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+ button_area.x = cell_area->x + 2;
+ else
+ button_area.x = cell_area->x + cell_area->width - icon_width - 8;
+ button_area.width = icon_width + 4;
+ button_area.height = icon_height + 4;
+ button_area.y = cell_area->y + ((cell_area->height - button_area.height) / 2);
+ gtk_paint_box (widget->style, window, state, shadow, expose_area, widget,
+ "button", button_area.x, button_area.y, button_area.width, button_area.height);
+
+ GdkRectangle icon_area = button_area;
+ icon_area.x += 2;
+ icon_area.y += 2;
+ if (bcell->active) {
+ cell_area->x += 2;
+ cell_area->y += 2;
+ }
+
+ ensure_pixbuf (bcell, widget);
+ cairo_t *cr = gdk_cairo_create (window);
+ gdk_cairo_set_source_pixbuf (cr, bcell->pixbuf, icon_area.x, icon_area.y);
+ cairo_rectangle (cr, icon_area.x, icon_area.y, icon_width, icon_height);
+ cairo_fill (cr);
+ cairo_destroy (cr);
+ }
+}
+
+static gboolean ygtk_cell_renderer_side_button_activate (
+ GtkCellRenderer *cell, GdkEvent *event, GtkWidget *widget, const gchar *path,
+ GdkRectangle *background_area, GdkRectangle *cell_area, GtkCellRendererState flags)
+{
+ YGtkCellRendererSideButton *bcell = YGTK_CELL_RENDERER_SIDE_BUTTON (cell);
+ if (bcell->button_visible) {
+ GdkEventButton *_event = (GdkEventButton *) event;
+ gint icon_width, icon_height;
+ gtk_icon_size_lookup (GTK_ICON_SIZE_BUTTON, &icon_width, &icon_height);
+ int icon_x, x = _event->x - cell_area->x;
+ if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL)
+ icon_x = 2;
+ else
+ icon_x = cell_area->width - (icon_width+12);
+ icon_width += 8;
+ if (x >= icon_x && x <= icon_x + icon_width) {
+ g_signal_emit (cell, toggle_cell_signal, 0, path);
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+GtkCellRenderer *ygtk_cell_renderer_side_button_new (void)
+{ return g_object_new (YGTK_TYPE_CELL_RENDERER_SIDE_BUTTON, NULL); }
+
+gboolean ygtk_cell_renderer_side_button_get_active (YGtkCellRendererSideButton *cell)
+{ return cell->active; }
+
+static void ygtk_cell_renderer_side_button_class_init (YGtkCellRendererSideButtonClass *class)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (class);
+ object_class->get_property = ygtk_cell_renderer_side_button_get_property;
+ object_class->set_property = ygtk_cell_renderer_side_button_set_property;
+ object_class->finalize = ygtk_cell_renderer_side_button_finalize;
+
+ GtkCellRendererClass *cell_class = GTK_CELL_RENDERER_CLASS (class);
+ cell_class->get_size = ygtk_cell_renderer_side_button_get_size;
+ cell_class->render = ygtk_cell_renderer_side_button_render;
+ cell_class->activate = ygtk_cell_renderer_side_button_activate;
+
+ GParamFlags readwrite_flag =
+ G_PARAM_READWRITE|G_PARAM_STATIC_NAME|G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB;
+ g_object_class_install_property (object_class, PROP_ACTIVE,
+ g_param_spec_boolean ("active", "Toggle state", "The toggle state of the button",
+ FALSE, readwrite_flag));
+ g_object_class_install_property (object_class, PROP_STOCK_ID,
+ g_param_spec_string ("stock-id", "Stock ID", "Stock icon to render", NULL, readwrite_flag));
+ g_object_class_install_property (object_class, PROP_BUTTON_VISIBLE,
+ g_param_spec_boolean ("button-visible", "Is Button Visible", "Whether to show side button", TRUE, readwrite_flag));
+
+ toggle_cell_signal = g_signal_new ("toggled", G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (YGtkCellRendererSideButtonClass, toggled),
+ NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/src/pkg/ygtkcellrenderersidebutton.h new/yast2-gtk-2.21.44/src/pkg/ygtkcellrenderersidebutton.h
--- old/yast2-gtk-2.21.42/src/pkg/ygtkcellrenderersidebutton.h 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-gtk-2.21.44/src/pkg/ygtkcellrenderersidebutton.h 2010-04-20 16:53:30.000000000 +0200
@@ -0,0 +1,50 @@
+/********************************************************************
+ * YaST2-GTK - http://en.opensuse.org/YaST2-GTK *
+ ********************************************************************/
+
+/* A icon GtkButton next to a GtkLabel.
+*/
+
+#ifndef YGTK_CELL_RENDERER_SIDE_BUTTON_H
+#define YGTK_CELL_RENDERER_SIDE_BUTTON_H
+
+#include
+G_BEGIN_DECLS
+
+#define YGTK_TYPE_CELL_RENDERER_SIDE_BUTTON (ygtk_cell_renderer_side_button_get_type())
+#define YGTK_CELL_RENDERER_SIDE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ YGTK_TYPE_CELL_RENDERER_SIDE_BUTTON, YGtkCellRendererSideButton))
+#define YGTK_CELL_RENDERER_SIDE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), \
+ YGTK_TYPE_CELL_RENDERER_SIDE_BUTTON, YGtkCellRendererSideButtonClass))
+#define YGTK_IS_CELL_RENDERER_SIDE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ YGTK_TYPE_CELL_RENDERER_SIDE_BUTTON))
+#define YGTK_IS_CELL_RENDERER_SIDE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ YGTK_TYPE_CELL_RENDERER_SIDE_BUTTON))
+#define YGTK_CELL_RENDERER_SIDE_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+ YGTK_TYPE_CELL_RENDERER_SIDE_BUTTON, YGtkCellRendererSideButtonClass))
+
+typedef struct YGtkCellRendererSideButton
+{
+ GtkCellRendererText parent;
+
+ // private:
+ guint active : 2, button_visible : 2;
+ gchar *stock_id;
+ GdkPixbuf *pixbuf;
+} YGtkCellRendererSideButton;
+
+typedef struct YGtkCellRendererSideButtonClass
+{
+ GtkCellRendererTextClass parent_class;
+
+ void (* toggled) (YGtkCellRendererSideButton *renderer, const gchar *path);
+} YGtkCellRendererSideButtonClass;
+
+GtkCellRenderer *ygtk_cell_renderer_side_button_new (void);
+GType ygtk_cell_renderer_side_button_get_type (void) G_GNUC_CONST;
+
+gboolean ygtk_cell_renderer_side_button_get_active (YGtkCellRendererSideButton *cell);
+
+G_END_DECLS
+#endif
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/src/pkg/ygtkcellrenderertext.c new/yast2-gtk-2.21.44/src/pkg/ygtkcellrenderertext.c
--- old/yast2-gtk-2.21.42/src/pkg/ygtkcellrenderertext.c 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-gtk-2.21.44/src/pkg/ygtkcellrenderertext.c 2010-04-20 16:53:30.000000000 +0200
@@ -0,0 +1,56 @@
+/********************************************************************
+ * YaST2-GTK - http://en.opensuse.org/YaST2-GTK *
+ ********************************************************************/
+
+/* YGtkCellRendererText cell renderer */
+// check the header file for information about this cell renderer
+
+#include "ygtkcellrenderertext.h"
+#include
+#include
+
+G_DEFINE_TYPE (YGtkCellRendererText, ygtk_cell_renderer_text, GTK_TYPE_CELL_RENDERER_TEXT)
+
+static void ygtk_cell_renderer_text_init (YGtkCellRendererText *bcell)
+{}
+
+gboolean filter_color_cb (PangoAttribute *attrb, gpointer data)
+{
+ PangoAttrType type = attrb->klass->type;
+ return type == PANGO_ATTR_FOREGROUND || type == PANGO_ATTR_BACKGROUND;
+}
+
+static void ygtk_cell_renderer_text_render (
+ GtkCellRenderer *cell, GdkDrawable *window, GtkWidget *widget,
+ GdkRectangle *background_area, GdkRectangle *cell_area,
+ GdkRectangle *expose_area, GtkCellRendererState flags)
+{
+ GtkCellRendererText *tcell = GTK_CELL_RENDERER_TEXT (cell);
+ PangoAttrList *old_extra_attrs = 0, *new_extra_attrs = 0;
+ if (flags & (GTK_CELL_RENDERER_SELECTED | GTK_CELL_RENDERER_INSENSITIVE)) {
+ old_extra_attrs = pango_attr_list_copy (tcell->extra_attrs);
+ new_extra_attrs = tcell->extra_attrs;
+
+ PangoAttrList *t = pango_attr_list_filter (tcell->extra_attrs,
+ filter_color_cb, NULL);
+ pango_attr_list_unref (t);
+ }
+
+ GTK_CELL_RENDERER_CLASS (ygtk_cell_renderer_text_parent_class)->render (
+ cell, window, widget, background_area, cell_area, expose_area, flags);
+
+ if (old_extra_attrs) {
+ tcell->extra_attrs = old_extra_attrs;
+ pango_attr_list_unref (new_extra_attrs);
+ }
+}
+
+GtkCellRenderer *ygtk_cell_renderer_text_new (void)
+{ return g_object_new (YGTK_TYPE_CELL_RENDERER_TEXT, NULL); }
+
+static void ygtk_cell_renderer_text_class_init (YGtkCellRendererTextClass *class)
+{
+ GtkCellRendererClass *cell_class = GTK_CELL_RENDERER_CLASS (class);
+ cell_class->render = ygtk_cell_renderer_text_render;
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/src/pkg/ygtkcellrenderertext.h new/yast2-gtk-2.21.44/src/pkg/ygtkcellrenderertext.h
--- old/yast2-gtk-2.21.42/src/pkg/ygtkcellrenderertext.h 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-gtk-2.21.44/src/pkg/ygtkcellrenderertext.h 2010-04-20 16:53:30.000000000 +0200
@@ -0,0 +1,42 @@
+/********************************************************************
+ * YaST2-GTK - http://en.opensuse.org/YaST2-GTK *
+ ********************************************************************/
+
+/* YGtkCellRendererText is a sub-class of GtkCellRendererText that
+ strips any markup in the cell when the row is selected.
+*/
+
+#ifndef YGTK_CELL_RENDERER_TEXT_H
+#define YGTK_CELL_RENDERER_TEXT_H
+
+#include
+G_BEGIN_DECLS
+
+#define YGTK_TYPE_CELL_RENDERER_TEXT (ygtk_cell_renderer_text_get_type())
+#define YGTK_CELL_RENDERER_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ YGTK_TYPE_CELL_RENDERER_TEXT, YGtkCellRendererText))
+#define YGTK_CELL_RENDERER_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), \
+ YGTK_TYPE_CELL_RENDERER_TEXT, YGtkCellRendererTextClass))
+#define YGTK_IS_CELL_RENDERER_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ YGTK_TYPE_CELL_RENDERER_TEXT))
+#define YGTK_IS_CELL_RENDERER_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ YGTK_TYPE_CELL_RENDERER_TEXT))
+#define YGTK_CELL_RENDERER_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+ YGTK_TYPE_CELL_TEXT, YGtkCellRendererTextClass))
+
+typedef struct YGtkCellRendererText
+{
+ GtkCellRendererText parent;
+} YGtkCellRendererText;
+
+typedef struct YGtkCellRendererTextClass
+{
+ GtkCellRendererTextClass parent_class;
+} YGtkCellRendererTextClass;
+
+GtkCellRenderer *ygtk_cell_renderer_text_new (void);
+GType ygtk_cell_renderer_text_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+#endif
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/src/pkg/ygtkpkgdetailview.cc new/yast2-gtk-2.21.44/src/pkg/ygtkpkgdetailview.cc
--- old/yast2-gtk-2.21.42/src/pkg/ygtkpkgdetailview.cc 2010-04-19 15:40:03.000000000 +0200
+++ new/yast2-gtk-2.21.44/src/pkg/ygtkpkgdetailview.cc 2010-04-20 16:53:30.000000000 +0200
@@ -118,7 +118,8 @@
virtual GtkWidget *getWidget()
{ return text; }
- virtual void refreshList (Ypp::List list) {}
+ virtual void refreshList (Ypp::List list)
+ { setList (list); }
virtual void setList (Ypp::List list)
{
@@ -440,16 +441,17 @@
void updateButton()
{
const char *label = 0, *stock = 0;
- bool modified = false;
+ bool modified = false, can_modify = true;
if (list.size() == 1) {
ZyppSelectable zsel;
ZyppResObject zobj;
getSelected (&zsel, &zobj);
- if (zobj->isSystem()) {
+ if (zobj->isSystem() || zobj->poolItem().isSatisfied()) {
label = _("Remove");
stock = GTK_STOCK_DELETE;
modified = zsel->toDelete();
+ can_modify = zobj->kind() != zypp::ResKind::patch;
}
else {
ZyppResObject installedObj = zsel->installedObj();
@@ -485,6 +487,7 @@
else if (props.isInstalled()) {
label = _("Remove");
stock = GTK_STOCK_DELETE;
+ can_modify = props.canRemove();
}
else if (props.isNotInstalled()) {
label = _("Install");
@@ -506,7 +509,7 @@
}
else
gtk_widget_hide (button);
- gtk_widget_set_sensitive (button, !modified);
+ gtk_widget_set_sensitive (button, !modified && can_modify);
modified ? gtk_widget_show (undo_button) : gtk_widget_hide (undo_button);
}
@@ -527,7 +530,7 @@
radio = addVersion (zsel, *it, radio);
for (zypp::ui::Selectable::available_iterator it = zsel->availableBegin();
it != zsel->availableEnd(); it++)
- addVersion (zsel, *it, radio);
+ radio = addVersion (zsel, *it, radio);
int n = 0;
GList *children = gtk_container_get_children (GTK_CONTAINER (versions_box));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/src/pkg/ygtkpkgfilterview.cc new/yast2-gtk-2.21.44/src/pkg/ygtkpkgfilterview.cc
--- old/yast2-gtk-2.21.42/src/pkg/ygtkpkgfilterview.cc 2010-04-19 15:40:03.000000000 +0200
+++ new/yast2-gtk-2.21.44/src/pkg/ygtkpkgfilterview.cc 2010-04-20 16:53:30.000000000 +0200
@@ -14,7 +14,7 @@
#include "YGPackageSelector.h"
#include
#include "ygtktreeview.h"
-#include "ygtktreemodel.h"
+#include "ygtkcellrenderertext.h"
// List store abstract
@@ -586,7 +586,7 @@
"sensitive", YGtkPkgFilterModel::ENABLED_COLUMN, NULL);
ygtk_tree_view_append_column (YGTK_TREE_VIEW (view), column);
}
- renderer = gtk_cell_renderer_text_new();
+ renderer = ygtk_cell_renderer_text_new();
column = gtk_tree_view_column_new_with_attributes (
NULL, renderer, "markup", YGtkPkgFilterModel::TEXT_COLUMN,
"sensitive", YGtkPkgFilterModel::ENABLED_COLUMN, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/src/pkg/ygtkpkghistorydialog.cc new/yast2-gtk-2.21.44/src/pkg/ygtkpkghistorydialog.cc
--- old/yast2-gtk-2.21.42/src/pkg/ygtkpkghistorydialog.cc 2010-04-19 15:40:03.000000000 +0200
+++ new/yast2-gtk-2.21.44/src/pkg/ygtkpkghistorydialog.cc 2010-04-20 16:53:30.000000000 +0200
@@ -485,7 +485,7 @@
GtkCellRenderer *renderer, *pix_renderer;
GtkTreeViewColumn *column;
- GtkWidget *log_view = ygtk_tree_view_new (NULL);
+ GtkWidget *log_view = ygtk_tree_view_new (_("No log entries."));
gtk_tree_view_set_search_column (GTK_TREE_VIEW (log_view), LogListHandler::SHORTCUT_COLUMN);
gtk_tree_view_set_fixed_height_mode (GTK_TREE_VIEW (log_view), TRUE);
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (log_view), TRUE);
@@ -602,6 +602,8 @@
gtk_window_set_default_size (GTK_WINDOW (dialog), 650, 600);
g_signal_connect (G_OBJECT (dialog), "response",
G_CALLBACK (response_cb), log_view);
+ g_signal_connect (G_OBJECT (dialog), "delete-event",
+ G_CALLBACK (gtk_true), log_view);
GtkWidget *hpaned = gtk_hpaned_new();
gtk_paned_pack1 (GTK_PANED (hpaned), date_scroll, FALSE, FALSE);
@@ -634,6 +636,12 @@
gtk_tree_view_set_model (GTK_TREE_VIEW (date_view), handler.date_handler->getModel());
gtk_tree_view_set_model (GTK_TREE_VIEW (log_view), handler.log_handler->getModel());
+ selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (date_view));
+ GtkTreeIter iter;
+ if (gtk_tree_model_get_iter_first (
+ gtk_tree_view_get_model (GTK_TREE_VIEW (date_view)), &iter))
+ gtk_tree_selection_select_iter (selection, &iter);
+
gdk_window_set_cursor (dialog->window, NULL);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/src/pkg/ygtkpkglistview.cc new/yast2-gtk-2.21.44/src/pkg/ygtkpkglistview.cc
--- old/yast2-gtk-2.21.42/src/pkg/ygtkpkglistview.cc 2010-04-19 15:40:03.000000000 +0200
+++ new/yast2-gtk-2.21.44/src/pkg/ygtkpkglistview.cc 2010-04-20 16:53:30.000000000 +0200
@@ -14,15 +14,19 @@
#include "ygtkpkglistview.h"
#include "ygtktreeview.h"
#include "ygtktreemodel.h"
+#include "ygtkcellrenderertext.h"
#include "ygtkcellrendererbutton.h"
+#include "ygtkcellrenderersidebutton.h"
#include
#include
+#define GRAY_COLOR "#727272"
+
//** Model
enum ImplProperty {
// booleans
- HAS_UPGRADE_PROP = TOTAL_PROPS, TO_UPGRADE_PROP,
+ HAS_UPGRADE_PROP = TOTAL_PROPS, TO_UPGRADE_PROP, CAN_TOGGLE_INSTALL_PROP,
MANUAL_MODIFY_PROP, IS_LOCKED_PROP,
// integer
XPAD_PROP,
@@ -44,7 +48,7 @@
case BACKGROUND_PROP: case REPOSITORY_STOCK_PROP:
return G_TYPE_STRING;
case INSTALLED_CHECK_PROP:
- case HAS_UPGRADE_PROP: case TO_UPGRADE_PROP:
+ case HAS_UPGRADE_PROP: case TO_UPGRADE_PROP: case CAN_TOGGLE_INSTALL_PROP:
case MANUAL_MODIFY_PROP: case IS_LOCKED_PROP:
return G_TYPE_BOOLEAN;
case XPAD_PROP:
@@ -57,6 +61,9 @@
struct YGtkZyppModel : public YGtkTreeModel, Ypp::SelListener
{
+ // we pass GtkTreeView to the model, so we can test for selected rows
+ // and modify text markup appropriely (trashing the data-view model, heh)
+
YGtkZyppModel (Ypp::List list) : m_list (list)
{ addSelListener (this); }
@@ -101,10 +108,14 @@
summary = YGUtils::escapeMarkup (summary);
highlightMarkupSpan (name, m_keywords);
highlightMarkupSpan (summary, m_keywords);
- str.reserve (name.size() + summary.size() + 32);
+ str.reserve (name.size() + summary.size() + 64);
str = name;
- if (!summary.empty())
- str += "\n<small>" + summary + "</small>";
+ if (!summary.empty()) {
+ str += "\n";
+ str += "";
+ str += "<small>" + summary + "</small>";
+ str += "</span>";
+ }
g_value_set_string (value, str.c_str());
break;
}
@@ -216,6 +227,9 @@
case TO_UPGRADE_PROP:
g_value_set_boolean (value, sel.hasUpgrade() && sel.toInstall());
break;
+ case CAN_TOGGLE_INSTALL_PROP:
+ g_value_set_boolean (value, sel.isInstalled() || sel.canRemove());
+ break;
case MANUAL_MODIFY_PROP:
g_value_set_boolean (value, sel.toModify() && !sel.toModifyAuto());
break;
@@ -379,8 +393,7 @@
item = gtk_menu_item_new_with_mnemonic (label);
if (tooltip)
gtk_widget_set_tooltip_markup (item, tooltip);
- if (!sensitive)
- gtk_widget_set_sensitive (item, FALSE);
+ gtk_widget_set_sensitive (item, sensitive);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (callback), pThis);
}
@@ -413,9 +426,9 @@
if (props.hasUpgrade() && !modified)
inner::appendItem (menu, _("_Upgrade"), 0, GTK_STOCK_GO_UP,
!locked, inner::install_cb, pThis), empty = false;
- if (props.isInstalled() && props.canRemove() && !modified)
+ if (props.isInstalled() && !modified)
inner::appendItem (menu, _("_Remove"), 0, GTK_STOCK_DELETE,
- !locked, inner::remove_cb, pThis), empty = false;
+ !locked && props.canRemove(), inner::remove_cb, pThis), empty = false;
if (modified)
inner::appendItem (menu, _("_Undo"), 0, GTK_STOCK_UNDO,
true, inner::undo_cb, pThis), empty = false;
@@ -513,7 +526,6 @@
static void action_button_toggled_cb (YGtkCellRendererButton *renderer, gchar *path_str,
YGtkPkgListView *pThis)
{
-fprintf (stderr, "action\n");
GtkTreeView *view = GTK_TREE_VIEW (pThis->impl->view);
GtkTreeModel *model = gtk_tree_view_get_model (view);
Ypp::Selectable *sel = ygtk_zypp_model_get_sel (model, path_str);
@@ -687,20 +699,7 @@
gtk_tree_view_column_set_title (column, header);
GtkCellRenderer *renderer;
-
- if (property == VERSION_PROP) {
- renderer = ygtk_cell_renderer_button_new();
- if (gtk_widget_get_default_direction() == GTK_TEXT_DIR_RTL)
- gtk_tree_view_column_pack_start (column, renderer, FALSE);
- else
- gtk_tree_view_column_pack_end (column, renderer, FALSE);
- gtk_tree_view_column_set_attributes (column, renderer,
- "visible", HAS_UPGRADE_PROP, "active", TO_UPGRADE_PROP, NULL);
- g_object_set (G_OBJECT (renderer), "stock-id", GTK_STOCK_GO_UP, NULL);
- g_signal_connect (G_OBJECT (renderer), "toggled",
- G_CALLBACK (upgrade_toggled_cb), this);
- }
- else if (property == REPOSITORY_PROP) {
+ if (property == REPOSITORY_PROP) {
renderer = gtk_cell_renderer_pixbuf_new();
if (gtk_widget_get_default_direction() == GTK_TEXT_DIR_RTL)
gtk_tree_view_column_pack_end (column, renderer, FALSE);
@@ -710,7 +709,15 @@
"icon-name", REPOSITORY_STOCK_PROP, NULL);
}
- renderer = gtk_cell_renderer_text_new();
+ if (property == VERSION_PROP) {
+ renderer = ygtk_cell_renderer_side_button_new();
+ g_object_set (G_OBJECT (renderer), "stock-id", GTK_STOCK_GO_UP, NULL);
+ g_signal_connect (G_OBJECT (renderer), "toggled",
+ G_CALLBACK (upgrade_toggled_cb), this);
+ }
+ else
+ renderer = ygtk_cell_renderer_text_new();
+
gtk_tree_view_column_pack_start (column, renderer, TRUE);
gtk_tree_view_column_set_attributes (column, renderer,
"markup", property, "sensitive", IS_LOCKED_PROP, NULL);
@@ -726,6 +733,13 @@
ellipsize = PANGO_ELLIPSIZE_MIDDLE;
g_object_set (G_OBJECT (renderer), "ellipsize", ellipsize, NULL);
+ if (property == VERSION_PROP) {
+ gtk_tree_view_column_add_attribute (column, renderer,
+ "button-visible", HAS_UPGRADE_PROP);
+ gtk_tree_view_column_add_attribute (column, renderer,
+ "active", TO_UPGRADE_PROP);
+ }
+
if (size != -1) // on several columns
gtk_tree_view_set_rules_hint (view, TRUE);
gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_FIXED);
@@ -748,6 +762,9 @@
if (impl->colorModified)
gtk_tree_view_column_add_attribute (column, renderer,
"cell-background", BACKGROUND_PROP);
+ if (property == INSTALLED_CHECK_PROP)
+ gtk_tree_view_column_add_attribute (column, renderer,
+ "activatable", CAN_TOGGLE_INSTALL_PROP);
g_signal_connect (G_OBJECT (renderer), "toggled",
G_CALLBACK (check_toggled_cb), this);
@@ -819,7 +836,7 @@
pango_layout_get_pixel_extents (layout, NULL, &rect);
width = MAX (width, rect.width);
g_object_unref (G_OBJECT (layout));
- width += 16;
+ width += 18;
if (show_icon) {
int icon_width;
gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (impl->view),
@@ -944,8 +961,11 @@
{
std::string name (repo.name()), url, str;
url = repo.isSystem() ? _("Local database") : repo.url();
- str.reserve (name.size() + url.size() + 32);
- str = name + "\n<small>" + url + "</small>";
+ str.reserve (name.size() + url.size() + 64);
+ str = name + "\n";
+ str += "";
+ str += "<small>" + url + "</small>";
+ str += "</span>";
return str;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/src/pkg/ygtkpkgpatternview.cc new/yast2-gtk-2.21.44/src/pkg/ygtkpkgpatternview.cc
--- old/yast2-gtk-2.21.42/src/pkg/ygtkpkgpatternview.cc 2010-04-19 15:40:03.000000000 +0200
+++ new/yast2-gtk-2.21.44/src/pkg/ygtkpkgpatternview.cc 2010-04-20 16:53:30.000000000 +0200
@@ -10,8 +10,11 @@
#include "YGUtils.h"
#include "ygtkpkgpatternview.h"
#include "ygtktreeview.h"
+#include "ygtkcellrenderertext.h"
#include
+#define GRAY_COLOR "#727272"
+
enum Column {
HAS_CHECK_COLUMN, CHECK_COLUMN, HAS_ICON_COLUMN, ICON_COLUMN,
TEXT_COLUMN, TOOLTIP_COLUMN, ORDER_COLUMN, POINTER_COLUMN, TOTAL_COLUMNS
@@ -127,7 +130,8 @@
int installed, total;
Ypp::Collection (sel).stats (&installed, &total);
- gchar *text = g_strdup_printf ("%s\n<small>Installed %d of %d</small>",
+ gchar *text = g_strdup_printf ("%s\n<small>Installed %d of %d</small></span>",
sel.name().c_str(), installed, total);
GtkTreeStore *store = GTK_TREE_STORE (model);
@@ -405,7 +409,7 @@
if (!reverse)
gtk_tree_view_column_pack_start (column, pix_renderer, FALSE);
- renderer = gtk_cell_renderer_text_new();
+ renderer = ygtk_cell_renderer_text_new();
gtk_tree_view_column_pack_start (column, renderer, TRUE);
gtk_tree_view_column_set_attributes (column, renderer,
"markup", TEXT_COLUMN, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/src/pkg/yzyppwrapper.cc new/yast2-gtk-2.21.44/src/pkg/yzyppwrapper.cc
--- old/yast2-gtk-2.21.42/src/pkg/yzyppwrapper.cc 2010-04-19 15:40:03.000000000 +0200
+++ new/yast2-gtk-2.21.44/src/pkg/yzyppwrapper.cc 2010-04-20 16:53:30.000000000 +0200
@@ -213,8 +213,7 @@
return !m_sel->installedEmpty();
case PATTERN:
case PATCH:
- return m_sel->candidateObj().isSatisfied() ||
- m_sel->hasInstalledObj();
+ return m_sel->isSatisfied();
case LANGUAGE:
return _zyppPool().isRequestedLocale (m_locale);
case ALL: break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.42/src/pkg/yzyppwrapper.h new/yast2-gtk-2.21.44/src/pkg/yzyppwrapper.h
--- old/yast2-gtk-2.21.42/src/pkg/yzyppwrapper.h 2010-04-19 15:40:03.000000000 +0200
+++ new/yast2-gtk-2.21.44/src/pkg/yzyppwrapper.h 2010-04-20 16:53:30.000000000 +0200
@@ -122,6 +122,8 @@
Size_t size();
Size_t downloadSize();
+ bool isInstalled();
+
bool operator < (Version &other);
bool operator > (Version &other);
bool operator == (Version &other);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org