r23826 - in /desktop/unstable/totem/debian: changelog patches/03_tracker_0.8.patch patches/series
biebl at users.alioth.debian.org
biebl at users.alioth.debian.org
Fri Apr 16 00:16:36 UTC 2010
Author: biebl
Date: Fri Apr 16 00:16:30 2010
New Revision: 23826
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=23826
Log:
* debian/patches/03_tracker_0.8.patch
- Add support for tracker 0.8. Closes: #577207
Patch backported from upstream Git.
Added:
desktop/unstable/totem/debian/patches/03_tracker_0.8.patch
Modified:
desktop/unstable/totem/debian/changelog
desktop/unstable/totem/debian/patches/series
Modified: desktop/unstable/totem/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/totem/debian/changelog?rev=23826&op=diff
==============================================================================
--- desktop/unstable/totem/debian/changelog [utf-8] (original)
+++ desktop/unstable/totem/debian/changelog [utf-8] Fri Apr 16 00:16:30 2010
@@ -1,3 +1,11 @@
+totem (2.28.5-3) UNRELEASED; urgency=low
+
+ * debian/patches/03_tracker_0.8.patch
+ - Add support for tracker 0.8. Closes: #577207
+ Patch backported from upstream Git.
+
+ -- Michael Biebl <biebl at debian.org> Fri, 16 Apr 2010 02:14:39 +0200
+
totem (2.28.5-2) unstable; urgency=low
[ Josselin Mouette ]
Added: desktop/unstable/totem/debian/patches/03_tracker_0.8.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/totem/debian/patches/03_tracker_0.8.patch?rev=23826&op=file
==============================================================================
--- desktop/unstable/totem/debian/patches/03_tracker_0.8.patch (added)
+++ desktop/unstable/totem/debian/patches/03_tracker_0.8.patch [utf-8] Fri Apr 16 00:16:30 2010
@@ -1,0 +1,611 @@
+From 270adba074cf32a4321becd3426796c56476f1c5 Mon Sep 17 00:00:00 2001
+From: Martyn Russell <martyn at lanedo.com>
+Date: Thu, 22 Oct 2009 01:08:27 +0100
+Subject: [PATCH] Fixes bug #614839 - Tracker-Plugin: Migrate to Tracker 0.8
+
+- Only shows count and results for videos that exist (i.e. not for
+ memory cards which are not mounted)
+- Orders results by rank then by url
+- Fixes includes
+- Fixes configure.in to work with 0.8 and 0.9
+---
+ configure.in | 6 +-
+ src/plugins/tracker/totem-tracker-widget.c | 399 ++++++++++++++++++++--------
+ src/plugins/tracker/totem-tracker-widget.h | 2 +-
+ 3 files changed, 291 insertions(+), 116 deletions(-)
+
+Index: b/configure.in
+===================================================================
+--- a/configure.in
++++ b/configure.in
+@@ -527,7 +527,11 @@
+ fi
+ ;;
+ tracker)
+- PKG_CHECK_MODULES(TRACKER, tracker >= 0.6 tracker < 0.7, [HAVE_TRACKER=yes], [HAVE_TRACKER=no])
++ PKG_CHECK_MODULES(TRACKER, tracker-client-0.8 >= 0.8.1, [HAVE_TRACKER=yes], [HAVE_TRACKER=no])
++ if test "${HAVE_TRACKER}" != "yes" ; then
++ PKG_CHECK_MODULES(TRACKER, tracker-client-0.9 >= 0.9.0, [HAVE_TRACKER=yes], [HAVE_TRACKER=no])
++ fi
++
+ if test "${HAVE_TRACKER}" != "yes" ; then
+ plugin_error_or_ignore "you need the tracker development headers installed for the tracker plugin"
+ add_plugin="0"
+Index: b/src/plugins/tracker/totem-tracker-widget.c
+===================================================================
+--- a/src/plugins/tracker/totem-tracker-widget.c
++++ b/src/plugins/tracker/totem-tracker-widget.c
+@@ -1,8 +1,9 @@
+ /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*-
+ *
+ * The _get_result_count method taken from the tracker-client.h file from libtracker
+- * Copyright (C) 2006, Mr Jamie McCracken (jamiemcc at gnome.org)
+- * Copyright (C) 2007 Javier Goday <jgoday at gmail.com>
++ * Copyright (C) 2006, Jamie McCracken <jamiemcc at gnome.org>
++ * Copyright (C) 2007, Javier Goday <jgoday at gmail.com>
++ * Copyright (C) 2010, Martyn Russell <martyn at lanedo.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+@@ -19,7 +20,9 @@
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ *
+- * Author : Javier Goday <jgoday at gmail.com>
++ * Author: Jamie McCracken <jamiemcc at gnome.org>
++ * Javier Goday <jgoday at gmail.com>
++ * Martyn Russell <martyn at lanedo.com>
+ */
+
+ #include "config.h"
+@@ -31,7 +34,7 @@
+ #include <glib/gi18n-lib.h>
+ #include <gio/gio.h>
+ #include <dbus/dbus.h>
+-#include <tracker.h>
++#include <libtracker-client/tracker-client.h>
+
+ #include "totem-tracker-widget.h"
+ #include "totem-cell-renderer-video.h"
+@@ -39,9 +42,6 @@
+ #include "totem-video-list.h"
+ #include "totem-interface.h"
+
+-#define TRACKER_SERVICE "org.freedesktop.Tracker"
+-#define TRACKER_OBJECT "/org/freedesktop/tracker"
+-#define TRACKER_INTERFACE "org.freedesktop.Tracker.Search"
+ #define TOTEM_TRACKER_MAX_RESULTS_SIZE 20
+
+ G_DEFINE_TYPE (TotemTrackerWidget, totem_tracker_widget, GTK_TYPE_VBOX)
+@@ -55,13 +55,20 @@
+ GtkWidget *previous_button;
+ GtkWidget *page_selector;
+
+- int total_result_count;
+- int current_result_page;
++ guint total_result_count;
++ guint current_result_page;
+
+ GtkListStore *result_store;
+ TotemVideoList *result_list;
+ };
+
++typedef struct {
++ TotemTrackerWidget *widget;
++ TrackerClient *client;
++ gchar *search_text;
++ guint cookie;
++} SearchResultsData;
++
+ enum {
+ IMAGE_COLUMN,
+ FILE_COLUMN,
+@@ -132,22 +139,22 @@
+ }
+
+ static void
+-populate_result (TotemTrackerWidget *widget, char *result)
+-{
+- GtkTreeIter iter;
++search_results_populate (TotemTrackerWidget *widget,
++ const gchar *uri)
++{
+ GFile *file;
+ GFileInfo *info;
+ GError *error = NULL;
+- GdkPixbuf *thumbnail = NULL;
+- const char *thumbnail_path;
+- char *file_uri;
+
+- file = g_file_new_for_path (result);
++ file = g_file_new_for_uri (uri);
+ info = g_file_query_info (file, "standard::display-name,thumbnail::path", G_FILE_QUERY_INFO_NONE, NULL, &error);
+
+ if (error == NULL) {
++ GtkTreeIter iter;
++ GdkPixbuf *thumbnail = NULL;
++ const gchar *thumbnail_path;
++
+ gtk_list_store_append (GTK_LIST_STORE (widget->priv->result_store), &iter); /* Acquire an iterator */
+- file_uri = g_file_get_uri (file);
+ thumbnail_path = g_file_info_get_attribute_byte_string (info, G_FILE_ATTRIBUTE_THUMBNAIL_PATH);
+
+ if (thumbnail_path != NULL)
+@@ -155,16 +162,15 @@
+
+ gtk_list_store_set (GTK_LIST_STORE (widget->priv->result_store), &iter,
+ IMAGE_COLUMN, thumbnail,
+- FILE_COLUMN, file_uri,
++ FILE_COLUMN, uri,
+ NAME_COLUMN, g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME),
+ -1);
+
+- g_free (file_uri);
+ if (thumbnail != NULL)
+ g_object_unref (thumbnail);
+ } else {
+ /* Display an error */
+- char *message = g_strdup_printf (_("Could not get metadata for file %s: %s"), result, error->message);
++ gchar *message = g_strdup_printf (_("Could not get name and thumbnail for %s: %s"), uri, error->message);
+ totem_interface_error_blocking (_("File Error"), message, NULL);
+ g_free (message);
+ g_error_free (error);
+@@ -174,92 +180,174 @@
+ g_object_unref (file);
+ }
+
+-static int
+-get_search_count (TrackerClient *client, const char *search)
++static SearchResultsData *
++search_results_new (TotemTrackerWidget *widget,
++ const gchar *search_text)
+ {
+- GError *error = NULL;
+- int count = 0;
++ SearchResultsData *srd;
++ TrackerClient *client;
+
+- dbus_g_proxy_call (client->proxy_search, "GetHitCount", &error, G_TYPE_STRING, "Videos",
+- G_TYPE_STRING, search,
+- G_TYPE_INVALID, G_TYPE_INT, &count, G_TYPE_INVALID);
++ if (!widget) {
++ return NULL;
++ }
+
+- if (error) {
+- g_warning ("%s", error->message);
+- g_error_free (error);
+- return -1;
++ client = tracker_client_new (TRACKER_CLIENT_ENABLE_WARNINGS, G_MAXINT);
++ if (!client) {
++ return NULL;
+ }
+
+- return count;
++ srd = g_slice_new0 (SearchResultsData);
++
++ srd->widget = g_object_ref (widget);
++ srd->client = client;
++ srd->search_text = g_strdup (search_text);
++
++ return srd;
+ }
+
+-struct SearchResultsData {
+- TotemTrackerWidget *widget;
+- char *search_text;
+- TrackerClient *client;
+-};
++static void
++search_results_free (SearchResultsData *srd)
++{
++ if (!srd) {
++ return;
++ }
++
++ if (srd->cookie != 0) {
++ tracker_cancel_call (srd->client, srd->cookie);
++ }
++
++ if (srd->widget) {
++ g_object_unref (srd->widget);
++ }
++
++ if (srd->client) {
++ g_object_unref (srd->client);
++ }
++
++ g_free (srd->search_text);
++ g_slice_free (SearchResultsData, srd);
++}
+
+ static void
+-search_results_cb (char **result, GError *error, gpointer userdata)
++search_results_cb (GPtrArray *results,
++ GError *error,
++ gpointer userdata)
+ {
+- struct SearchResultsData *data = (struct SearchResultsData*) userdata;
+- char *label;
+- int i, next_page;
+- TotemTrackerWidgetPrivate *priv = data->widget->priv;
+-
+- if (!error && result) {
+- for (i = 0; result [i] != NULL; i++)
+- populate_result (data->widget, result [i]);
++ TotemTrackerWidgetPrivate *priv;
++ SearchResultsData *srd;
++ gchar *str;
++ guint i, next_page, total_pages;
++
++ srd = userdata;
++ priv = srd->widget->priv;
++
++ gtk_widget_set_sensitive (priv->search_entry, TRUE);
++
++ if (error) {
++ g_warning ("Error getting the search results for '%s': %s",
++ srd->search_text,
++ error->message ? error->message : "No reason");
++
++ gtk_label_set_text (GTK_LABEL (priv->status_label), _("Could not connect to Tracker"));
++ search_results_free (srd);
++
++ return;
++ }
++
++ if (!results || results->len < 1) {
++ gtk_label_set_text (GTK_LABEL (priv->status_label), _("No results"));
++ search_results_free (srd);
++
++ return;
++ }
++
++ for (i = 0; i < results->len; i++) {
++ GStrv details;
++
++ details = g_ptr_array_index (results, i);
++ search_results_populate (srd->widget, details[0]);
++ }
++
++ next_page = (priv->current_result_page + 1) * TOTEM_TRACKER_MAX_RESULTS_SIZE;
++ total_pages = priv->total_result_count / TOTEM_TRACKER_MAX_RESULTS_SIZE + 1;
++
++ /* Set the new range on the page selector's adjustment and ensure the current page is correct */
++ gtk_spin_button_set_range (GTK_SPIN_BUTTON (priv->page_selector), 1, total_pages);
++ priv->current_result_page = gtk_spin_button_get_value (GTK_SPIN_BUTTON (priv->page_selector)) - 1;
++
++ /* Translators:
++ * This is used to show which items are listed in the list view, for example:
++ * Showing 10-20 of 128 matches
++ * This is similar to what web searches use, eg. Google on the top-right of their search results page show:
++ * Personalized Results 1 - 10 of about 4,130,000 for foobar */
++ str = g_strdup_printf (ngettext ("Showing %i - %i of %i match", "Showing %i - %i of %i matches", priv->total_result_count),
++ priv->current_result_page * TOTEM_TRACKER_MAX_RESULTS_SIZE,
++ next_page > priv->total_result_count ? priv->total_result_count : next_page,
++ priv->total_result_count);
++ gtk_label_set_text (GTK_LABEL (priv->status_label), str);
++ g_free (str);
++
++ /* Enable or disable the pager buttons */
++ if (priv->current_result_page < priv->total_result_count / TOTEM_TRACKER_MAX_RESULTS_SIZE) {
++ gtk_widget_set_sensitive (GTK_WIDGET (priv->page_selector), TRUE);
++ gtk_widget_set_sensitive (GTK_WIDGET (priv->next_button), TRUE);
++ }
+
+- next_page = (priv->current_result_page + 1) * TOTEM_TRACKER_MAX_RESULTS_SIZE;
++ if (priv->current_result_page > 0) {
++ gtk_widget_set_sensitive (GTK_WIDGET (priv->page_selector), TRUE);
++ gtk_widget_set_sensitive (GTK_WIDGET (priv->previous_button), TRUE);
++ }
+
+- /* Set the new range on the page selector's adjustment and ensure the current page is correct */
+- gtk_spin_button_set_range (GTK_SPIN_BUTTON (priv->page_selector), 1,
+- priv->total_result_count / TOTEM_TRACKER_MAX_RESULTS_SIZE + 1);
+- priv->current_result_page = gtk_spin_button_get_value (GTK_SPIN_BUTTON (priv->page_selector)) - 1;
+-
+- if (priv->total_result_count == 0) {
+- gtk_label_set_text (GTK_LABEL (priv->status_label), _("No results"));
+- } else {
+- /* Translators:
+- * This is used to show which items are listed in the list view, for example:
+- * Showing 10-20 of 128 matches
+- * This is similar to what web searches use, eg. Google on the top-right of their search results page show:
+- * Personalized Results 1 - 10 of about 4,130,000 for foobar */
+- label = g_strdup_printf (ngettext ("Showing %i - %i of %i match", "Showing %i - %i of %i matches", priv->total_result_count),
+- priv->current_result_page * TOTEM_TRACKER_MAX_RESULTS_SIZE,
+- next_page > priv->total_result_count ? priv->total_result_count : next_page,
+- priv->total_result_count);
+- gtk_label_set_text (GTK_LABEL (priv->status_label), label);
+- g_free (label);
+- }
++ if (priv->current_result_page >= total_pages - 1) {
++ gtk_widget_set_sensitive (GTK_WIDGET (priv->next_button), FALSE);
++ }
++
++ g_signal_handlers_unblock_by_func (priv->page_selector, page_selector_value_changed_cb, srd->widget);
++ search_results_free (srd);
++}
+
+- /* Enable or disable the pager buttons */
+- if (priv->current_result_page < priv->total_result_count / TOTEM_TRACKER_MAX_RESULTS_SIZE) {
+- gtk_widget_set_sensitive (GTK_WIDGET (priv->page_selector), TRUE);
+- gtk_widget_set_sensitive (GTK_WIDGET (priv->next_button), TRUE);
+- }
++static gchar *
++get_fts_string (GStrv search_words,
++ gboolean use_or_operator)
++{
++ GString *fts;
++ gint i, len;
+
+- if (priv->current_result_page > 0) {
+- gtk_widget_set_sensitive (GTK_WIDGET (priv->page_selector), TRUE);
+- gtk_widget_set_sensitive (GTK_WIDGET (priv->previous_button), TRUE);
+- }
++ if (!search_words) {
++ return NULL;
++ }
+
+- g_signal_handlers_unblock_by_func (priv->page_selector, page_selector_value_changed_cb, data->widget);
+- } else {
+- g_warning ("Error getting the search results for '%s': %s", data->search_text, error->message ? error->message : "No reason");
++ fts = g_string_new ("");
++ len = g_strv_length (search_words);
++
++ for (i = 0; i < len; i++) {
++ g_string_append (fts, search_words[i]);
++ g_string_append_c (fts, '*');
++
++ if (i < len - 1) {
++ if (use_or_operator) {
++ g_string_append (fts, " OR ");
++ } else {
++ g_string_append (fts, " ");
++ }
++ }
+ }
+
+- g_free (data->search_text);
+- tracker_disconnect (data->client);
+- g_free (data);
++ return g_string_free (fts, FALSE);
+ }
+
+ static void
+ do_search (TotemTrackerWidget *widget)
+ {
+- TrackerClient *client;
+- struct SearchResultsData *data;
++ SearchResultsData *srd;
++ GPtrArray *results;
++ GError *error = NULL;
++ const gchar *search_text;
++ gchar *fts, *query;
++ guint offset;
++
++ /* Cancel previous searches */
++ /* tracker_cancel_call (widget->priv->cookie_id); */
+
+ /* Clear the list store */
+ gtk_list_store_clear (GTK_LIST_STORE (widget->priv->result_store));
+@@ -270,33 +358,101 @@
+ gtk_widget_set_sensitive (GTK_WIDGET (widget->priv->next_button), FALSE);
+
+ /* Stop after clearing the list store if they're just emptying the search entry box */
+- if (strcmp (gtk_entry_get_text (GTK_ENTRY (widget->priv->search_entry)), "") == 0) {
+- gtk_label_set_text (GTK_LABEL (widget->priv->status_label), _("No results"));
+- return;
+- }
++ search_text = gtk_entry_get_text (GTK_ENTRY (widget->priv->search_entry));
+
+ g_signal_handlers_block_by_func (widget->priv->page_selector, page_selector_value_changed_cb, widget);
+
+ /* Get the tracker client */
+- client = tracker_connect (TRUE);
+- if (!client) {
+- g_warning ("Error trying to get the Tracker client.");
++ srd = search_results_new (widget, search_text);
++ if (!srd) {
++ gtk_label_set_text (GTK_LABEL (widget->priv->status_label), _("Could not connect to Tracker"));
+ return;
+ }
+
+- data = g_new0 (struct SearchResultsData, 1);
+- data->widget = widget;
+- data->client = client;
+-
+- /* Search text */
+- data->search_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (widget->priv->search_entry)));
+-
+- widget->priv->total_result_count = get_search_count (client, data->search_text);
+-
+- tracker_search_text_async (data->client, -1, SERVICE_VIDEOS, data->search_text,
+- widget->priv->current_result_page * TOTEM_TRACKER_MAX_RESULTS_SIZE,
+- TOTEM_TRACKER_MAX_RESULTS_SIZE,
+- search_results_cb, data);
++ offset = widget->priv->current_result_page * TOTEM_TRACKER_MAX_RESULTS_SIZE;
++
++ if (search_text && search_text[0] != '\0') {
++ GStrv strv;
++
++ strv = g_strsplit (search_text, " ", -1);
++ fts = get_fts_string (strv, FALSE);
++ g_strfreev (strv);
++ } else {
++ fts = NULL;
++ }
++
++ /* NOTE: We use FILTERS here for the type because we may want
++ * to show more items than just videos in the future - like
++ * music or some other specialised content.
++ */
++ if (fts) {
++ query = g_strdup_printf ("SELECT COUNT(?urn) "
++ "WHERE {"
++ " ?urn a nmm:Video ;"
++ " fts:match \"%s\" ;"
++ " tracker:available true . "
++ "}",
++ fts);
++ } else {
++ query = g_strdup_printf ("SELECT COUNT(?urn) "
++ "WHERE {"
++ " ?urn a nmm:Video ;"
++ " tracker:available true . "
++ "}");
++ }
++
++ results = tracker_resources_sparql_query (srd->client, query, &error);
++ g_free (query);
++
++ if (results && results->pdata && results->pdata[0]) {
++ GStrv count;
++
++ count = g_ptr_array_index (results, 0);
++ widget->priv->total_result_count = atoi (count[0]);
++ } else {
++ widget->priv->total_result_count = 0;
++
++ g_warning ("Could not get count for videos available, %s",
++ error ? error->message : "no error given");
++ g_clear_error (&error);
++ }
++
++ if (fts) {
++ query = g_strdup_printf ("SELECT nie:url(?urn) "
++ "WHERE {"
++ " ?urn a nmm:Video ;"
++ " fts:match \"%s\" ;"
++ " tracker:available true . "
++ "} "
++ "ORDER BY DESC(fts:rank(?urn)) ASC(nie:url(?urn)) "
++ "OFFSET %d "
++ "LIMIT %d",
++ fts,
++ offset,
++ TOTEM_TRACKER_MAX_RESULTS_SIZE);
++ } else {
++ query = g_strdup_printf ("SELECT nie:url(?urn) "
++ "WHERE {"
++ " ?urn a nmm:Video ; "
++ " tracker:available true . "
++ "} "
++ "ORDER BY DESC(fts:rank(?urn)) ASC(nie:url(?urn)) "
++ "OFFSET %d "
++ "LIMIT %d",
++ offset,
++ TOTEM_TRACKER_MAX_RESULTS_SIZE);
++ }
++
++ g_free (fts);
++
++ gtk_widget_set_sensitive (widget->priv->search_entry, FALSE);
++
++ /* Cookie is used for cancelling */
++ srd->cookie = tracker_resources_sparql_query_async (srd->client,
++ query,
++ search_results_cb,
++ srd);
++ g_free (query);
+ }
+
+ static void
+@@ -371,9 +527,19 @@
+ }
+
+ static void
++search_entry_changed_cb (GtkWidget *entry,
++ gpointer user_data)
++{
++ TotemTrackerWidget *widget = user_data;
++
++ gtk_label_set_text (GTK_LABEL (widget->priv->status_label), "");
++}
++
++static void
+ totem_tracker_widget_init (TotemTrackerWidget *widget)
+ {
+ GtkWidget *v_box; /* the main vertical box of the widget */
++ GtkWidget *h_box;
+ GtkWidget *pager_box; /* box that holds the next and previous buttons */
+ GtkScrolledWindow *scroll; /* make the result list scrollable */
+ GtkAdjustment *adjust; /* adjustment for the page selector spin button */
+@@ -383,14 +549,16 @@
+ init_result_list (widget);
+
+ v_box = gtk_vbox_new (FALSE, 6);
++ h_box = gtk_hbox_new (FALSE, 6);
+
+ /* Search entry */
+ widget->priv->search_entry = gtk_entry_new ();
+
+ /* Search button */
+ widget->priv->search_button = gtk_button_new_from_stock (GTK_STOCK_FIND);
+- gtk_box_pack_start (GTK_BOX (v_box), widget->priv->search_entry, FALSE, TRUE, 0);
+- gtk_box_pack_start (GTK_BOX (v_box), widget->priv->search_button, FALSE, TRUE, 0);
++ gtk_box_pack_start (GTK_BOX (h_box), widget->priv->search_entry, TRUE, TRUE, 0);
++ gtk_box_pack_start (GTK_BOX (h_box), widget->priv->search_button, FALSE, TRUE, 0);
++ gtk_box_pack_start (GTK_BOX (v_box), h_box, FALSE, TRUE, 0);
+
+ /* Insert the result list and initialize the viewport */
+ scroll = GTK_SCROLLED_WINDOW (gtk_scrolled_window_new (NULL, NULL));
+@@ -398,32 +566,35 @@
+ gtk_scrolled_window_add_with_viewport (scroll, GTK_WIDGET (widget->priv->result_list));
+ gtk_container_add (GTK_CONTAINER (v_box), GTK_WIDGET (scroll));
+
++ /* Status label */
++ widget->priv->status_label = gtk_label_new ("");
++ gtk_misc_set_alignment (GTK_MISC (widget->priv->status_label), 0.0, 0.5);
++ gtk_box_pack_start (GTK_BOX (v_box), widget->priv->status_label, FALSE, TRUE, 2);
++
+ /* Initialise the pager box */
+- pager_box = gtk_hbox_new (FALSE, 2);
++ pager_box = gtk_hbox_new (FALSE, 6);
+ widget->priv->next_button = gtk_button_new_from_stock (GTK_STOCK_GO_FORWARD);
+ widget->priv->previous_button = gtk_button_new_from_stock (GTK_STOCK_GO_BACK);
+ adjust = GTK_ADJUSTMENT (gtk_adjustment_new (1, 1, 1, 1, 5, 0));
+ widget->priv->page_selector = gtk_spin_button_new (adjust, 1, 0);
+- gtk_box_pack_start (GTK_BOX (pager_box), widget->priv->previous_button, FALSE, FALSE, 2);
+- gtk_box_pack_start (GTK_BOX (pager_box), gtk_label_new (_("Page")), FALSE, FALSE, 2);
+- gtk_box_pack_start (GTK_BOX (pager_box), widget->priv->page_selector, TRUE, TRUE, 2);
+- gtk_box_pack_start (GTK_BOX (pager_box), widget->priv->next_button, FALSE, FALSE, 2);
+- gtk_box_pack_start (GTK_BOX (v_box), pager_box, FALSE, FALSE, 2);
++ gtk_box_pack_start (GTK_BOX (pager_box), widget->priv->previous_button, TRUE, TRUE, 0);
++ gtk_box_pack_start (GTK_BOX (pager_box), gtk_label_new (_("Page")), TRUE, TRUE, 0);
++ gtk_box_pack_start (GTK_BOX (pager_box), widget->priv->page_selector, TRUE, TRUE, 0);
++ gtk_box_pack_start (GTK_BOX (pager_box), widget->priv->next_button, TRUE, TRUE, 0);
++ gtk_box_pack_start (GTK_BOX (v_box), pager_box, FALSE, TRUE, 0);
+
+ gtk_widget_set_sensitive (GTK_WIDGET (widget->priv->previous_button), FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (widget->priv->page_selector), FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (widget->priv->next_button), FALSE);
+
+- /* Status label */
+- widget->priv->status_label = gtk_label_new ("");
+- gtk_box_pack_start (GTK_BOX (v_box), widget->priv->status_label, FALSE, FALSE, 2);
+-
+ /* Add the main container to the widget */
+ gtk_container_add (GTK_CONTAINER (widget), v_box);
+
+ gtk_widget_show_all (GTK_WIDGET (widget));
+
+ /* Connect the search button clicked signal and the search entry */
++ g_signal_connect (widget->priv->search_entry, "changed",
++ G_CALLBACK (search_entry_changed_cb), widget);
+ g_signal_connect (widget->priv->search_button, "clicked",
+ G_CALLBACK (new_search), widget);
+ g_signal_connect (widget->priv->search_entry, "activate",
+Index: b/src/plugins/tracker/totem-tracker-widget.h
+===================================================================
+--- a/src/plugins/tracker/totem-tracker-widget.h
++++ b/src/plugins/tracker/totem-tracker-widget.h
+@@ -25,7 +25,7 @@
+ #include "totem.h"
+
+ #include <gtk/gtk.h>
+-#include <tracker.h>
++#include <libtracker-client/tracker-client.h>
+
+ #define TOTEM_TYPE_TRACKER_WIDGET (totem_tracker_widget_get_type ())
+ #define TOTEM_TRACKER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TOTEM_TYPE_TRACKER_WIDGET, TotemTrackerWidget))
Modified: desktop/unstable/totem/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/totem/debian/patches/series?rev=23826&op=diff
==============================================================================
--- desktop/unstable/totem/debian/patches/series [utf-8] (original)
+++ desktop/unstable/totem/debian/patches/series [utf-8] Fri Apr 16 00:16:30 2010
@@ -1,4 +1,5 @@
01_fake_keypresses.patch
02_python2.6.patch
+03_tracker_0.8.patch
70_bbc_plugin.patch
90_autotools.patch
More information about the pkg-gnome-commits
mailing list