+hildon_picker_dialog_size_request (GtkWidget *widget,
+ GtkRequisition *requisition)
+{
+ HildonTouchSelector *selector;
+
+ selector = hildon_picker_dialog_get_selector (HILDON_PICKER_DIALOG (widget));
+
+ if (selector) {
+ GtkRequisition child_requisition;
+ GtkRequisition optimal_requisition;
+ GtkBin *bin;
+ guint max_height;
+
+ bin = GTK_BIN (widget);
+
+ requisition->width = GTK_CONTAINER (widget)->border_width * 2;
+ /* Adding pannable container border using 4 instead of 2 */
+ requisition->height = GTK_CONTAINER (widget)->border_width * 4;
+
+ /* assure the requisition is done */
+ gtk_widget_size_request (bin->child, &child_requisition);
+
+ hildon_touch_selector_optimal_size_request (selector,
+ &optimal_requisition);
+
+ requisition->width += child_requisition.width;
+
+ max_height = hildon_picker_dialog_get_max_height (HILDON_PICKER_DIALOG (widget));
+
+ requisition->height = MIN (max_height,
+ requisition->height + optimal_requisition.height);
+ } else
+ GTK_WIDGET_CLASS (hildon_picker_dialog_parent_class)->size_request
+ (widget, requisition);
+}
+
+static void