diff options
author | Jens Georg <mail@jensge.org> | 2016-08-18 10:29:31 +0200 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2016-12-17 09:47:40 +0100 |
commit | ef02625498ed9f17d62128bf86f8e75da438d23b (patch) | |
tree | dbff7c10fb239969f297cccb23fc8c674348aebf | |
parent | 05f8b8af616e08b98626b7c0e8d7f7f08f46434a (diff) | |
download | gupnp-tools-ef02625498ed9f17d62128bf86f8e75da438d23b.tar.gz |
av-cp: Add proper title to search dialog
Signed-off-by: Jens Georg <mail@jensge.org>
-rw-r--r-- | src/av-cp/playlist-treeview.c | 3 | ||||
-rw-r--r-- | src/av-cp/search-dialog.c | 31 | ||||
-rw-r--r-- | src/av-cp/search-dialog.h | 3 |
3 files changed, 37 insertions, 0 deletions
diff --git a/src/av-cp/playlist-treeview.c b/src/av-cp/playlist-treeview.c index 767d8b7..00883bf 100644 --- a/src/av-cp/playlist-treeview.c +++ b/src/av-cp/playlist-treeview.c @@ -341,6 +341,7 @@ on_search_menu_item_activated (GtkMenuItem *menuitem, GtkTreeModel *model; GtkTreeIter iter; char *id = NULL; + char *title = NULL; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); g_assert (selection != NULL); @@ -351,6 +352,7 @@ on_search_menu_item_activated (GtkMenuItem *menuitem, gtk_tree_model_get (model, &iter, + 1, &title, 2, &server, 4, &id, -1); @@ -361,6 +363,7 @@ on_search_menu_item_activated (GtkMenuItem *menuitem, search_dialog_set_server (SEARCH_DIALOG (search_dialog), server); search_dialog_set_container_id (SEARCH_DIALOG (search_dialog), id); + search_dialog_set_container_title (SEARCH_DIALOG (search_dialog), title); gtk_dialog_run (search_dialog); } diff --git a/src/av-cp/search-dialog.c b/src/av-cp/search-dialog.c index cc33509..5bd1dbf 100644 --- a/src/av-cp/search-dialog.c +++ b/src/av-cp/search-dialog.c @@ -18,6 +18,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +#include <glib/gi18n.h> #include <libgupnp-av/gupnp-av.h> #include <string.h> @@ -38,6 +39,7 @@ struct _SearchDialogPrivate { GtkListStore *search_dialog_liststore; GtkEntry *search_dialog_entry; char *id; + char *title; AVCPMediaServer *server; guint pulse_timer; }; @@ -197,10 +199,39 @@ void search_dialog_set_container_id (SearchDialog *self, char *id) { SearchDialogPrivate *priv = search_dialog_get_instance_private (self); + g_free (priv->id); priv->id = id; } +void +search_dialog_set_container_title (SearchDialog *self, char *title) +{ + char *name = NULL; + char *window_title = NULL; + + SearchDialogPrivate *priv = search_dialog_get_instance_private (self); + g_free (priv->title); + + priv->title = title; + name = gupnp_device_info_get_friendly_name + (GUPNP_DEVICE_INFO (priv->server)); + + if (g_str_equal (priv->id, "0")) { + window_title = g_strdup_printf (_("Searching on %s"), + name); + } else { + window_title = g_strdup_printf (_("Searching in %s on %s"), + title, + name); + } + + gtk_window_set_title (GTK_WINDOW (self), window_title); + + g_free (name); + g_free (window_title); +} + static gboolean pulse_timer (gpointer user_data) { diff --git a/src/av-cp/search-dialog.h b/src/av-cp/search-dialog.h index ce009b1..0d9b60e 100644 --- a/src/av-cp/search-dialog.h +++ b/src/av-cp/search-dialog.h @@ -41,4 +41,7 @@ search_dialog_set_server (SearchDialog *self, AVCPMediaServer *server); void search_dialog_set_container_id (SearchDialog *self, char *id); +void +search_dialog_set_container_title (SearchDialog *self, char *title); + #endif /* SEARCH_DIALOG_H */ |