Author: rpmcruz
Date: Thu Dec 9 14:40:41 2010
New Revision: 62975
URL: http://svn.opensuse.org/viewcvs/yast?rev=62975&view=rev
Log:
* src/pkg/yzyppwrapper.cc: bug fix: when sorting
equal attributes maintain previous arranging order.
Modified:
trunk/gtk/ChangeLog
trunk/gtk/src/pkg/ygtkpkgdetailview.cc
trunk/gtk/src/pkg/yzyppwrapper.cc
Modified: trunk/gtk/ChangeLog
URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/ChangeLog?rev=62975&r1=62974&r2=62975&view=diff
==============================================================================
--- trunk/gtk/ChangeLog (original)
+++ trunk/gtk/ChangeLog Thu Dec 9 14:40:41 2010
@@ -1,3 +1,8 @@
+2010-12-09 Ricardo Cruz
+
+ * src/pkg/yzyppwrapper.cc: bug fix: when sorting
+ equal attributes maintain previous arranging order.
+
2010-12-08 Ricardo Cruz
* src/ygtktreeview.c: bug fix: now showing menu
Modified: trunk/gtk/src/pkg/ygtkpkgdetailview.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/src/pkg/ygtkpkgdetailview.cc?rev=62975&r1=62974&r2=62975&view=diff
==============================================================================
--- trunk/gtk/src/pkg/ygtkpkgdetailview.cc (original)
+++ trunk/gtk/src/pkg/ygtkpkgdetailview.cc Thu Dec 9 14:40:41 2010
@@ -396,6 +396,27 @@
box = gtk_vbox_new (FALSE, 6);
gtk_box_pack_start (GTK_BOX (box), versions_box, TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (box), button_box, FALSE, TRUE, 0);
+
+#if 0 // draw border all around
+ GtkWidget *frame = gtk_frame_new (NULL);
+ gtk_container_set_border_width (GTK_CONTAINER (frame), 2);
+ gtk_container_add (GTK_CONTAINER (frame), box);
+ box = frame;
+#endif
+#if 0 // draw border only to the left
+ GtkWidget *frame_box = gtk_hbox_new (FALSE, 2);
+ gtk_box_pack_start (GTK_BOX (frame_box), gtk_vseparator_new(), FALSE, TRUE, 0);
+ gtk_box_pack_start (GTK_BOX (frame_box), box, TRUE, TRUE, 0);
+ box = frame_box;
+#endif
+#if 0 // colored background
+ GtkWidget *back = gtk_event_box_new();
+ GdkColor color = { 0, 230 << 8, 230 << 8, 230 << 8 };
+ gtk_widget_modify_bg (back, GTK_STATE_NORMAL, &color);
+ gtk_container_add (GTK_CONTAINER (back), box);
+ box = back;
+#endif
+
setChild (box);
}
Modified: trunk/gtk/src/pkg/yzyppwrapper.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/src/pkg/yzyppwrapper.cc?rev=62975&r1=62974&r2=62975&view=diff
==============================================================================
--- trunk/gtk/src/pkg/yzyppwrapper.cc (original)
+++ trunk/gtk/src/pkg/yzyppwrapper.cc Thu Dec 9 14:40:41 2010
@@ -1389,6 +1389,7 @@
if (impl->vector.empty())
return;
+ bool unique_criteria = false;
switch (attrb) {
case IS_INSTALLED_SORT: _order = installed_order; break;
case NAME_SORT:
@@ -1397,13 +1398,17 @@
_order = utf8_name_order;
else
_order = name_order;
+ unique_criteria = true;
break;
- case SIZE_SORT: _order = size_order; break;
+ case SIZE_SORT: _order = size_order; unique_criteria = true; break;
case REPOSITORY_SORT: _order = repository_order; break;
case SUPPORT_SORT: _order = support_order; break;
}
_ascendent = ascendent;
- std::sort (impl->vector.begin(), impl->vector.end(), proxy_order);
+ if (unique_criteria)
+ std::sort (impl->vector.begin(), impl->vector.end(), proxy_order);
+ else // many attributes are equal: maintain previous order in such cases
+ std::stable_sort (impl->vector.begin(), impl->vector.end(), proxy_order);
}
void Ypp::List::reverse()
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org