Hello community,
here is the log from the commit of package yast2-gtk for openSUSE:Factory
checked in at Fri Apr 23 01:34:36 CEST 2010.
--------
--- yast2-gtk/yast2-gtk.changes 2010-04-21 14:13:10.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-gtk/yast2-gtk.changes 2010-04-22 16:56:25.000000000 +0200
@@ -1,0 +2,10 @@
+Thu Apr 22 15:52:00 WET 2010 - rpmcruz@alunos.dcc.fc.up.pt
+
+- 2.21.46
+- sw_single: bug fix: ups: broke the is-installed flag
+for patterns in the previous version.
+- sw_single (main list and history dialog): bug fix: on
+arabic, tooltips were showing in the wrong columns.
+- sw_single: don't show patterns view when none is available.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
yast2-gtk-2.21.45.tar.bz2
New:
----
yast2-gtk-2.21.46.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-gtk.spec ++++++
--- /var/tmp/diff_new_pack.VKPbYA/_old 2010-04-23 01:34:25.000000000 +0200
+++ /var/tmp/diff_new_pack.VKPbYA/_new 2010-04-23 01:34:25.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-gtk (Version 2.21.45)
+# spec file for package yast2-gtk (Version 2.21.46)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -18,11 +18,11 @@
Name: yast2-gtk
-Version: 2.21.45
+Version: 2.21.46
Release: 1
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-gtk-2.21.45.tar.bz2
+Source0: yast2-gtk-2.21.46.tar.bz2
Url: http://en.opensuse.org/YaST2-GTK
Summary: YaST2 - GTK+ Graphical User Interface
Group: System/YaST
++++++ yast2-gtk-2.21.45.tar.bz2 -> yast2-gtk-2.21.46.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.45/ChangeLog new/yast2-gtk-2.21.46/ChangeLog
--- old/yast2-gtk-2.21.45/ChangeLog 2010-04-21 14:10:40.000000000 +0200
+++ new/yast2-gtk-2.21.46/ChangeLog 2010-04-22 16:53:55.000000000 +0200
@@ -1,3 +1,26 @@
+2010-04-22 Ricardo Cruz
+
+ * src/pkg/yzyppwrapper.cc:bug fix: ups: just broke
+ is-installed flag for patterns.
+
+ * src/ygtktreeview.h/c, src/pkg/ygtkpkglistview.cc &
+ src/pkg/ygtkpkghistorydialog.cc: bug fix: on arabic, tooltips
+ were showing in the wrong columns.
+
+ * src/pkg/ygtkpkgdetailview.cc: don't show remove button for
+ patches, in versions widget.
+
+ * src/pkg/ygtkpkgpatternview.cc: disable remove item
+ for patterns.
+
+ * src/pkg/YGPackageSelector.cc: don't show patterns view
+ when none is available.
+
+2010-04-21 Ricardo Cruz
+
+ * src/pkg/ygtkpkglistviewcc: Atri request: make dependencies
+ gray.
+
2010-04-21 Ricardo Cruz
* src/pkg/yzyppwrapper.h/cc: improved on the API, especially
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.45/VERSION new/yast2-gtk-2.21.46/VERSION
--- old/yast2-gtk-2.21.45/VERSION 2010-04-21 14:10:40.000000000 +0200
+++ new/yast2-gtk-2.21.46/VERSION 2010-04-22 16:53:55.000000000 +0200
@@ -1 +1 @@
-2.21.45
+2.21.46
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.45/VERSION.cmake new/yast2-gtk-2.21.46/VERSION.cmake
--- old/yast2-gtk-2.21.45/VERSION.cmake 2010-04-21 14:10:40.000000000 +0200
+++ new/yast2-gtk-2.21.46/VERSION.cmake 2010-04-22 16:53:55.000000000 +0200
@@ -1,3 +1,3 @@
SET(VERSION_MAJOR "2")
SET(VERSION_MINOR "21")
-SET(VERSION_PATCH "45")
+SET(VERSION_PATCH "46")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.45/package/yast2-gtk.changes new/yast2-gtk-2.21.46/package/yast2-gtk.changes
--- old/yast2-gtk-2.21.45/package/yast2-gtk.changes 2010-04-21 14:10:40.000000000 +0200
+++ new/yast2-gtk-2.21.46/package/yast2-gtk.changes 2010-04-22 16:53:55.000000000 +0200
@@ -1,4 +1,14 @@
-------------------------------------------------------------------
+Thu Apr 22 15:52:00 WET 2010 - rpmcruz@alunos.dcc.fc.up.pt
+
+- 2.21.46
+- sw_single: bug fix: ups: broke the is-installed flag
+for patterns in the previous version.
+- sw_single (main list and history dialog): bug fix: on
+arabic, tooltips were showing in the wrong columns.
+- sw_single: don't show patterns view when none is available.
+
+-------------------------------------------------------------------
Wed Apr 21 13:09:00 WET 2010 - rpmcruz@alunos.dcc.fc.up.pt
- 2.21.45
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.45/package/yast2-gtk.spec new/yast2-gtk-2.21.46/package/yast2-gtk.spec
--- old/yast2-gtk-2.21.45/package/yast2-gtk.spec 2010-04-21 14:10:40.000000000 +0200
+++ new/yast2-gtk-2.21.46/package/yast2-gtk.spec 2010-04-22 16:53:55.000000000 +0200
@@ -1,16 +1,16 @@
#
-# spec file for package yast2-gtk (Version 2.21.44)
+# spec file for package yast2-gtk (Version 2.21.45)
#
# norootforbuild;,
Name: yast2-gtk
-Version: 2.21.44
+Version: 2.21.45
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-gtk-2.21.44.tar.bz2
+Source0: yast2-gtk-2.21.45.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.45/src/pkg/YGPackageSelector.cc new/yast2-gtk-2.21.46/src/pkg/YGPackageSelector.cc
--- old/yast2-gtk-2.21.45/src/pkg/YGPackageSelector.cc 2010-04-21 14:10:40.000000000 +0200
+++ new/yast2-gtk-2.21.46/src/pkg/YGPackageSelector.cc 2010-04-22 16:53:55.000000000 +0200
@@ -46,6 +46,7 @@
YGtkPkgDetailView *m_details;
guint m_refresh_id;
Ypp::List m_refresh_list;
+bool has_patterns_mode;
struct SuffixFilter : public Ypp::Match {
SuffixFilter (Impl *pThis) : pThis (pThis) {}
@@ -155,7 +156,9 @@
m_combo->add (_("Repositories"));
m_combo->add (_("Support"));
m_combo->add ("");
- m_combo->add (_("Patterns"));
+ has_patterns_mode = !isPatternsPoolEmpty();
+ if (has_patterns_mode)
+ m_combo->add (_("Patterns"));
m_combo->add (_("Languages"));
int active = 5;
@@ -560,7 +563,9 @@
case 1: return new YGtkPkgRpmGroupsView();
case 2: model = new YGtkPkgRepositoryModel(); break;
case 3: model = new YGtkPkgSupportModel(); break;
- case 5: return new YGtkPkgPatternView (Ypp::Selectable::PATTERN);
+ case 5:
+ if (has_patterns_mode)
+ return new YGtkPkgPatternView (Ypp::Selectable::PATTERN);
case 6: return new YGtkPkgLanguageView();
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.45/src/pkg/ygtkpkgdetailview.cc new/yast2-gtk-2.21.46/src/pkg/ygtkpkgdetailview.cc
--- old/yast2-gtk-2.21.45/src/pkg/ygtkpkgdetailview.cc 2010-04-21 14:10:40.000000000 +0200
+++ new/yast2-gtk-2.21.46/src/pkg/ygtkpkgdetailview.cc 2010-04-22 16:53:55.000000000 +0200
@@ -493,7 +493,7 @@
void updateButton()
{
const char *label = 0, *stock = 0;
- bool modified = false, can_modify = true;
+ bool modified = false, can_modify = true, can_never_modify = false;
if (list.size() == 1) {
Ypp::Selectable sel = list.get (0);
Ypp::Version &version = getSelected();
@@ -501,7 +501,7 @@
if (version.isInstalled()) {
label = _("Remove");
stock = GTK_STOCK_DELETE;
- can_modify = sel.canRemove();
+ can_never_modify = !sel.canRemove();
modified = sel.toRemove();
}
else {
@@ -526,6 +526,7 @@
}
modified = sel.toInstall();
}
+ can_modify = !sel.isLocked();
modified = modified && version.toModify();
}
else {
@@ -538,7 +539,7 @@
else if (props.isInstalled()) {
label = _("Remove");
stock = GTK_STOCK_DELETE;
- can_modify = props.canRemove();
+ can_never_modify = !props.canRemove();
}
else if (props.isNotInstalled()) {
label = _("Install");
@@ -549,6 +550,7 @@
stock = GTK_STOCK_UNDO;
modified = false; // don't show another undo button
}
+ can_modify = props.isUnlocked();
}
if (label) {
@@ -561,6 +563,11 @@
else
gtk_widget_hide (button);
gtk_widget_set_sensitive (button, !modified && can_modify);
+ if (can_modify)
+ gtk_widget_set_tooltip_text (button, NULL);
+ else
+ gtk_widget_set_tooltip_text (button, _("Package is locked"));
+ !can_never_modify ? gtk_widget_show (button) : gtk_widget_hide (button);
modified ? gtk_widget_show (undo_button) : gtk_widget_hide (undo_button);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.45/src/pkg/ygtkpkghistorydialog.cc new/yast2-gtk-2.21.46/src/pkg/ygtkpkghistorydialog.cc
--- old/yast2-gtk-2.21.45/src/pkg/ygtkpkghistorydialog.cc 2010-04-21 14:10:40.000000000 +0200
+++ new/yast2-gtk-2.21.46/src/pkg/ygtkpkghistorydialog.cc 2010-04-22 16:53:55.000000000 +0200
@@ -432,7 +432,7 @@
text.reserve (254);
const char *icon = 0;
- if (column == gtk_tree_view_get_column (view, 2)) { // repository
+ if (column == ygtk_tree_view_get_column (YGTK_TREE_VIEW (view), 2)) { // repository
char *name, *url;
gtk_tree_model_get (model, &iter,
LogListHandler::REPOSITORY_COLUMN, &name,
@@ -510,7 +510,7 @@
gtk_tree_view_column_set_attributes (column, renderer,
"markup", LogListHandler::NAME_COLUMN, "xpad", LogListHandler::XPAD_COLUMN,
"foreground", LogListHandler::COLOR_COLUMN, NULL);
- g_object_set (G_OBJECT (renderer), "ellipsize", PANGO_ELLIPSIZE_END, NULL);
+ g_object_set (G_OBJECT (renderer), "ellipsize", PANGO_ELLIPSIZE_MIDDLE, NULL);
if (reverse)
gtk_tree_view_column_pack_start (column, pix_renderer, FALSE);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.45/src/pkg/ygtkpkglistview.cc new/yast2-gtk-2.21.46/src/pkg/ygtkpkglistview.cc
--- old/yast2-gtk-2.21.45/src/pkg/ygtkpkglistview.cc 2010-04-21 14:10:40.000000000 +0200
+++ new/yast2-gtk-2.21.46/src/pkg/ygtkpkglistview.cc 2010-04-22 16:53:55.000000000 +0200
@@ -31,7 +31,7 @@
// integer
XPAD_PROP,
// string
- VERSION_FOREGROUND_PROP, BACKGROUND_PROP, REPOSITORY_STOCK_PROP,
+ FOREGROUND_PROP, BACKGROUND_PROP, REPOSITORY_STOCK_PROP,
ACTION_ICON_PROP,
// pointer
PTR_PROP,
@@ -44,7 +44,7 @@
case NAME_PROP: case ACTION_NAME_PROP: case NAME_SUMMARY_PROP:
case VERSION_PROP: case SINGLE_VERSION_PROP: case REPOSITORY_PROP:
case SUPPORT_PROP: case SIZE_PROP: case STATUS_ICON_PROP:
- case ACTION_BUTTON_PROP: case ACTION_ICON_PROP: case VERSION_FOREGROUND_PROP:
+ case ACTION_BUTTON_PROP: case ACTION_ICON_PROP: case FOREGROUND_PROP:
case BACKGROUND_PROP: case REPOSITORY_STOCK_PROP:
return G_TYPE_STRING;
case INSTALLED_CHECK_PROP:
@@ -64,7 +64,7 @@
// 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)
+ YGtkZyppModel (Ypp::List list) : m_list (list.clone())
{ addSelListener (this); }
~YGtkZyppModel()
@@ -245,8 +245,15 @@
g_value_set_string (value, color);
break;
}
+ case FOREGROUND_PROP: {
+ const char *color = 0;
+ if (sel.toModifyAuto())
+ color = "#6f6f6f";
+ g_value_set_string (value, color);
+ break;
+ }
case XPAD_PROP: {
- int xpad = sel.toModifyAuto() ? 25 : 0;
+ int xpad = sel.toModifyAuto() ? 20 : 0;
g_value_set_int (value, xpad);
break;
}
@@ -288,9 +295,6 @@
}
};
-static GtkTreeModel *ygtk_zypp_model_new (Ypp::List list)
-{ return ygtk_tree_model_new (new YGtkZyppModel (list)); }
-
static Ypp::Selectable *ygtk_zypp_model_get_sel (GtkTreeModel *model, gchar *path_str)
{
GtkTreeIter iter;
@@ -341,7 +345,7 @@
ascendent = _ascendent;
}
- GtkTreeModel *model = ygtk_zypp_model_new (list.clone());
+ GtkTreeModel *model = ygtk_tree_model_new (new YGtkZyppModel (list));
gtk_tree_view_set_model (GTK_TREE_VIEW (view), model);
g_object_unref (G_OBJECT (model));
setHighlight (keywords);
@@ -567,7 +571,7 @@
view, x, y, NULL, &column, NULL, NULL);
GtkIconSize icon_size = GTK_ICON_SIZE_MENU;
- if (column == gtk_tree_view_get_column (view, 0)) {
+ if (column == ygtk_tree_view_get_column (YGTK_TREE_VIEW (view), 0)) {
text = getStatusSummary (*sel);
icon = getStatusStockIcon (*sel);
}
@@ -730,8 +734,10 @@
if (impl->colorModified)
gtk_tree_view_column_add_attribute (column, renderer,
"cell-background", BACKGROUND_PROP);
- if (impl->indentAuto)
+ if (impl->indentAuto) {
gtk_tree_view_column_add_attribute (column, renderer, "xpad", XPAD_PROP);
+ gtk_tree_view_column_add_attribute (column, renderer, "foreground", FOREGROUND_PROP);
+ }
PangoEllipsizeMode ellipsize = PANGO_ELLIPSIZE_END;
if (size >= 0 && property != NAME_SUMMARY_PROP)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.45/src/pkg/ygtkpkgpatternview.cc new/yast2-gtk-2.21.46/src/pkg/ygtkpkgpatternview.cc
--- old/yast2-gtk-2.21.45/src/pkg/ygtkpkgpatternview.cc 2010-04-21 14:10:40.000000000 +0200
+++ new/yast2-gtk-2.21.46/src/pkg/ygtkpkgpatternview.cc 2010-04-22 16:53:55.000000000 +0200
@@ -17,7 +17,7 @@
enum Column {
HAS_CHECK_COLUMN, CHECK_COLUMN, HAS_ICON_COLUMN, ICON_COLUMN,
- TEXT_COLUMN, TOOLTIP_COLUMN, ORDER_COLUMN, POINTER_COLUMN, TOTAL_COLUMNS
+ TEXT_COLUMN, ORDER_COLUMN, POINTER_COLUMN, TOTAL_COLUMNS
};
struct YGtkPkgPatternView::Impl : public Ypp::SelListener {
@@ -108,11 +108,10 @@
else
ptr = g_strdup (sel.zyppLocale().code().c_str());
- std::string tooltip (YGUtils::escapeMarkup (sel.description (false)));
gtk_tree_store_set (store, iter, HAS_CHECK_COLUMN, TRUE,
CHECK_COLUMN, sel.isInstalled() || sel.toInstall(), HAS_ICON_COLUMN, TRUE,
ICON_COLUMN, pixbuf, TEXT_COLUMN, (sel.name() + '\n').c_str(),
- TOOLTIP_COLUMN, tooltip.c_str(), ORDER_COLUMN, order.c_str(),
+ ORDER_COLUMN, order.c_str(),
POINTER_COLUMN, ptr, -1);
if (pixbuf)
@@ -206,7 +205,7 @@
insert_node (store, NULL, &iter, pattern->order());
gtk_tree_store_set (store, &iter, HAS_CHECK_COLUMN, FALSE,
CHECK_COLUMN, FALSE, HAS_ICON_COLUMN, FALSE, ICON_COLUMN, NULL,
- TEXT_COLUMN, text.c_str(), TOOLTIP_COLUMN, NULL,
+ TEXT_COLUMN, text.c_str(),
ORDER_COLUMN, pattern->order().c_str(), POINTER_COLUMN, NULL, -1);
}
insert_pattern (store, &iter, sel, pattern);
@@ -245,6 +244,23 @@
static void remove_cb (GtkWidget *widget, ZyppSelectablePtr zsel)
{ Ypp::Selectable (zsel).remove(); }
+static GtkWidget *menu_item_append (GtkWidget *menu, const char *label, const char *stock, bool sensitive)
+{
+ GtkWidget *item;
+ if (label) {
+ item = gtk_image_menu_item_new_with_mnemonic (label);
+ if (stock) {
+ GtkWidget *icon = gtk_image_new_from_stock (stock, GTK_ICON_SIZE_MENU);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), icon);
+ }
+ }
+ else
+ item = gtk_image_menu_item_new_from_stock (stock, NULL);
+ gtk_widget_set_sensitive (item, sensitive);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ return item;
+}
+
static void right_click_cb (YGtkTreeView *yview, gboolean outreach, YGtkPkgPatternView *pThis)
{
if (!outreach) {
@@ -257,32 +273,28 @@
gtk_tree_model_get (model, &iter, POINTER_COLUMN, &zsel, -1);
Ypp::Selectable sel (zsel);
- GtkWidget *menu = gtk_menu_new(), *item, *icon;
- item = gtk_image_menu_item_new_with_mnemonic (_("Install"));
- icon = gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_MENU);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), icon);
- gtk_widget_set_sensitive (item, !sel.isInstalled());
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
- g_signal_connect (G_OBJECT (item), "activate",
- G_CALLBACK (install_cb), zsel);
-
- if (sel.canRemove()) {
- item = gtk_image_menu_item_new_with_mnemonic (_("Remove"));
- icon = gtk_image_new_from_stock (GTK_STOCK_REMOVE, GTK_ICON_SIZE_MENU);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), icon);
- gtk_widget_set_sensitive (item, sel.isInstalled());
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ GtkWidget *menu = gtk_menu_new(), *item;
+ if (sel.toModify()) {
+ item = menu_item_append (menu, NULL, GTK_STOCK_UNDO, true);
g_signal_connect (G_OBJECT (item), "activate",
- G_CALLBACK (remove_cb), zsel);
+ G_CALLBACK (undo_cb), zsel);
+ }
+ else {
+ if (sel.isInstalled()) {
+ if (sel.canRemove()) {
+ item = menu_item_append (menu, _("_Remove"), GTK_STOCK_REMOVE, true);
+ g_signal_connect (G_OBJECT (item), "activate",
+ G_CALLBACK (remove_cb), zsel);
+ }
+ else
+ menu_item_append (menu, _("Remove: cannot remove patterns"), NULL, false);
+ }
+ else {
+ item = menu_item_append (menu, _("_Install"), GTK_STOCK_ADD, true);
+ g_signal_connect (G_OBJECT (item), "activate",
+ G_CALLBACK (install_cb), zsel);
+ }
}
-
- item = gtk_image_menu_item_new_with_mnemonic (_("Undo"));
- icon = gtk_image_new_from_stock (GTK_STOCK_UNDO, GTK_ICON_SIZE_MENU);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), icon);
- gtk_widget_set_sensitive (item, sel.toModify());
- gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
- g_signal_connect (G_OBJECT (item), "activate",
- G_CALLBACK (undo_cb), zsel);
ygtk_tree_view_popup_menu (yview, menu);
}
@@ -325,6 +337,49 @@
static void selection_changed_cb (GtkTreeSelection *selection, YGtkPkgPatternView *pThis)
{ pThis->notify(); }
+static gboolean query_tooltip_cb (GtkWidget *widget, gint x, gint y,
+ gboolean keyboard_mode, GtkTooltip *tooltip, YGtkPkgPatternView *pThis)
+{
+ GtkTreeView *view = GTK_TREE_VIEW (widget);
+ GtkTreeModel *model;
+ GtkTreePath *path;
+ GtkTreeIter iter;
+ if (gtk_tree_view_get_tooltip_context (view,
+ &x, &y, keyboard_mode, &model, &path, &iter)) {
+ gtk_tree_view_set_tooltip_row (view, tooltip, path);
+ gtk_tree_path_free (path);
+
+ GtkTreeViewColumn *column;
+ int bx, by;
+ gtk_tree_view_convert_widget_to_bin_window_coords (
+ view, x, y, &bx, &by);
+ gtk_tree_view_get_path_at_pos (
+ view, x, y, NULL, &column, NULL, NULL);
+
+ ZyppSelectablePtr zsel;
+ gtk_tree_model_get (model, &iter, POINTER_COLUMN, &zsel, -1);
+ if (zsel) {
+ Ypp::Selectable sel (zsel);
+
+ if (column == ygtk_tree_view_get_column (YGTK_TREE_VIEW (view), 0)) { // check-marks
+ if (sel.isInstalled())
+ gtk_tooltip_set_text (tooltip,
+ _("Installed: cannot remove a pattern.\n\n"
+ "You must manually remove the individual packages you no "
+ "longer want to keep."));
+ else
+ gtk_tooltip_set_text (tooltip, _("Not installed"));
+ }
+ else {
+ std::string text (YGUtils::escapeMarkup (sel.description (false)));
+ gtk_tooltip_set_text (tooltip, text.c_str());
+ }
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
YGtkPkgPatternView::YGtkPkgPatternView (Ypp::Selectable::Type type)
: impl (new Impl())
{
@@ -332,7 +387,7 @@
GtkTreeStore *store = gtk_tree_store_new (TOTAL_COLUMNS, G_TYPE_BOOLEAN,
G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF, G_TYPE_STRING,
- G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER);
+ G_TYPE_STRING, G_TYPE_POINTER);
if (type == Ypp::Selectable::LANGUAGE) {
Ypp::LangQuery query;
@@ -377,14 +432,16 @@
}
impl->view = ygtk_tree_view_new (NULL);
- gtk_tree_view_set_model (GTK_TREE_VIEW (impl->view), GTK_TREE_MODEL (store));
- g_object_unref (G_OBJECT (store));
GtkTreeView *view = GTK_TREE_VIEW (impl->view);
+ gtk_tree_view_set_model (view, GTK_TREE_MODEL (store));
+ g_object_unref (G_OBJECT (store));
gtk_tree_view_set_headers_visible (view, FALSE);
gtk_tree_view_set_search_column (view, TEXT_COLUMN);
- gtk_tree_view_set_tooltip_column (view, TOOLTIP_COLUMN);
gtk_tree_view_expand_all (view);
gtk_tree_view_set_show_expanders (view, FALSE);
+ gtk_widget_set_has_tooltip (impl->view, TRUE);
+ g_signal_connect (G_OBJECT (view), "query-tooltip",
+ G_CALLBACK (query_tooltip_cb), this);
g_signal_connect (G_OBJECT (view), "right-click",
G_CALLBACK (right_click_cb), this);
g_signal_connect (G_OBJECT (view), "row-activated",
@@ -472,3 +529,6 @@
return false;
}
+bool isPatternsPoolEmpty()
+{ return zyppPool().empty zypp::Pattern(); }
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.45/src/pkg/ygtkpkgpatternview.h new/yast2-gtk-2.21.46/src/pkg/ygtkpkgpatternview.h
--- old/yast2-gtk-2.21.45/src/pkg/ygtkpkgpatternview.h 2010-04-21 14:10:40.000000000 +0200
+++ new/yast2-gtk-2.21.46/src/pkg/ygtkpkgpatternview.h 2010-04-22 16:53:55.000000000 +0200
@@ -27,5 +27,7 @@
Impl *impl;
};
+bool isPatternsPoolEmpty();
+
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.45/src/pkg/yzyppwrapper.cc new/yast2-gtk-2.21.46/src/pkg/yzyppwrapper.cc
--- old/yast2-gtk-2.21.45/src/pkg/yzyppwrapper.cc 2010-04-21 14:10:40.000000000 +0200
+++ new/yast2-gtk-2.21.46/src/pkg/yzyppwrapper.cc 2010-04-22 16:53:55.000000000 +0200
@@ -69,6 +69,7 @@
zypp::ResStatus status = m_zobj->poolItem().status();
switch (type()) {
case Ypp::Selectable::PATCH:
+ case Ypp::Selectable::PATTERN:
return status.isSatisfied() && !status.isToBeInstalled();
default:
return status.isInstalled();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.45/src/ygtktreeview.c new/yast2-gtk-2.21.46/src/ygtktreeview.c
--- old/yast2-gtk-2.21.45/src/ygtktreeview.c 2010-04-21 14:10:40.000000000 +0200
+++ new/yast2-gtk-2.21.46/src/ygtktreeview.c 2010-04-22 16:53:55.000000000 +0200
@@ -217,6 +217,21 @@
gtk_tree_view_insert_column (GTK_TREE_VIEW (view), column, pos);
}
+GtkTreeViewColumn *ygtk_tree_view_get_column (YGtkTreeView *view, gint nb)
+{
+ GtkTreeViewColumn *column;
+ if (gtk_widget_get_default_direction() == GTK_TEXT_DIR_RTL) {
+ GList *columns = gtk_tree_view_get_columns (GTK_TREE_VIEW (view));
+ nb = g_list_length (columns) - nb - 1;
+ column = g_list_nth_data (columns, nb);
+ g_list_free (columns);
+ }
+ else
+ column = gtk_tree_view_get_column (GTK_TREE_VIEW (view), nb);
+ return column;
+}
+
+
void ygtk_tree_view_set_empty_text (YGtkTreeView *view, const gchar *empty_text)
{
if (view->empty_text)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-gtk-2.21.45/src/ygtktreeview.h new/yast2-gtk-2.21.46/src/ygtktreeview.h
--- old/yast2-gtk-2.21.45/src/ygtktreeview.h 2010-04-21 14:10:40.000000000 +0200
+++ new/yast2-gtk-2.21.46/src/ygtktreeview.h 2010-04-22 16:53:55.000000000 +0200
@@ -54,6 +54,9 @@
// (if you do, use it for all your column adding needs.)
void ygtk_tree_view_append_column (YGtkTreeView *view, GtkTreeViewColumn *column);
+// use this if you have used our ygtk_tree_view_append_column()
+GtkTreeViewColumn *ygtk_tree_view_get_column (YGtkTreeView *view, gint nb);
+
G_END_DECLS
#endif /*YGTK_TREE_VIEW_H*/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org