static void gmpc_meta_data_widgets_similar_songs_add_clicked (GmpcMetaDataWidgetsSimilarSongs* self, GtkWidget* item) {
	GtkTreeView* _tmp0_;
	GtkTreeView* tree;
	GtkTreeSelection* _tmp1_ = NULL;
	GtkTreeSelection* _tmp2_;
	GtkTreeSelection* sel;
	GtkTreeModel* model;
	GtkTreeIter iter = {0};
	GtkTreeModel* _tmp3_ = NULL;
	GList* _tmp4_ = NULL;
	GtkTreeModel* _tmp5_;
	GList* list;
	g_return_if_fail (self != NULL);
	g_return_if_fail (item != NULL);
	_tmp0_ = _g_object_ref0 (GTK_TREE_VIEW (self->priv->pchild));
	tree = _tmp0_;
	_tmp1_ = gtk_tree_view_get_selection (tree);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	sel = _tmp2_;
	model = NULL;
	_tmp4_ = gtk_tree_selection_get_selected_rows (sel, &_tmp3_);
	_g_object_unref0 (model);
	_tmp5_ = _g_object_ref0 (_tmp3_);
	model = _tmp5_;
	list = _tmp4_;
	{
		GList* path_collection;
		GList* path_it;
		path_collection = list;
		for (path_it = path_collection; path_it != NULL; path_it = path_it->next) {
			GtkTreePath* _tmp6_;
			GtkTreePath* path;
			_tmp6_ = _gtk_tree_path_copy0 ((GtkTreePath*) path_it->data);
			path = _tmp6_;
			{
				GtkTreeIter _tmp7_ = {0};
				gboolean _tmp8_;
				_tmp8_ = gtk_tree_model_get_iter (model, &_tmp7_, path);
				iter = _tmp7_;
				if (_tmp8_) {
					const mpd_Song* song;
					song = NULL;
					gtk_tree_model_get (model, &iter, 0, &song, -1, -1);
					if (song != NULL) {
						mpd_playlist_queue_add (connection, song->file);
					}
				}
				_gtk_tree_path_free0 (path);
			}
		}
	}
	mpd_playlist_queue_commit (connection);
	__g_list_free__gtk_tree_path_free0_0 (list);
	_g_object_unref0 (model);
	_g_object_unref0 (sel);
	_g_object_unref0 (tree);
}
GeeList* steadyflow_file_list_controller_get_selected_files (SteadyflowFileListController* self) {
	GeeList* result = NULL;
	GeeArrayList* _tmp0_;
	GeeArrayList* list;
	GtkTreeView* _tmp1_;
	GtkTreeSelection* _tmp2_ = NULL;
	GList* _tmp3_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = gee_array_list_new (STEADYFLOW_CORE_TYPE_IDOWNLOAD_FILE, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL);
	list = _tmp0_;
	_tmp1_ = self->priv->tree;
	_tmp2_ = gtk_tree_view_get_selection (_tmp1_);
	_tmp3_ = gtk_tree_selection_get_selected_rows (_tmp2_, NULL);
	{
		GList* path_collection = NULL;
		GList* path_it = NULL;
		path_collection = _tmp3_;
		for (path_it = path_collection; path_it != NULL; path_it = path_it->next) {
			GtkTreePath* _tmp4_;
			GtkTreePath* path = NULL;
			_tmp4_ = _gtk_tree_path_copy0 ((GtkTreePath*) path_it->data);
			path = _tmp4_;
			{
				GtkTreeIter iter = {0};
				GtkListStore* _tmp5_;
				GtkTreePath* _tmp6_;
				GtkTreeIter _tmp7_ = {0};
				gboolean _tmp8_ = FALSE;
				_tmp5_ = self->priv->model;
				_tmp6_ = path;
				_tmp8_ = gtk_tree_model_get_iter ((GtkTreeModel*) _tmp5_, &_tmp7_, _tmp6_);
				iter = _tmp7_;
				if (_tmp8_) {
					GeeArrayList* _tmp9_;
					GtkTreeIter _tmp10_;
					SteadyflowCoreIDownloadFile* _tmp11_ = NULL;
					SteadyflowCoreIDownloadFile* _tmp12_;
					_tmp9_ = list;
					_tmp10_ = iter;
					_tmp11_ = steadyflow_file_list_controller_file_from_iter (self, &_tmp10_);
					_tmp12_ = _tmp11_;
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp9_, _tmp12_);
					_g_object_unref0 (_tmp12_);
				}
				_gtk_tree_path_free0 (path);
			}
		}
		__g_list_free__gtk_tree_path_free0_0 (path_collection);
	}
	result = (GeeList*) list;
	return result;
}
static gboolean gmpc_mpd_data_treeview_tooltip_query_tooltip_callback (GmpcMpdDataTreeviewTooltip* self, gint x, gint y, gboolean keyboard_tip, GtkTooltip* tooltip) {
	gboolean result = FALSE;
	gchar* tag;
	gint row_type;
	GtkTreePath* path;
	GtkTreeIter iter = {0};
	GtkTreeModel* _tmp0_ = NULL;
	GtkTreeModel* _tmp1_;
	GtkTreeModel* model;
	gint _tmp2_;
	gboolean _tmp3_ = FALSE;
	gint _tmp4_;
	gint _tmp5_;
	GtkTreeModel* _tmp6_ = NULL;
	GtkTreePath* _tmp7_ = NULL;
	GtkTreeIter _tmp8_ = {0};
	gboolean _tmp9_;
	GtkTreeModel* _tmp10_;
	GtkTreePath* _tmp11_;
	mpd_Song* _tmp12_ = NULL;
	mpd_Song* song;
	gchar* _tmp18_ = NULL;
	gchar* new_check;
	gboolean _tmp19_ = FALSE;
	GtkImageType _tmp23_;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (tooltip != NULL, FALSE);
	tag = NULL;
	row_type = 0;
	path = NULL;
	_tmp0_ = gtk_tree_view_get_model (self->priv->par_widget);
	_tmp1_ = _g_object_ref0 (_tmp0_);
	model = _tmp1_;
	_tmp2_ = cfg_get_single_value_as_int_with_default (config, "GmpcTreeView", "show-tooltip", 1);
	if (_tmp2_ != 1) {
		result = FALSE;
		_g_object_unref0 (model);
		_gtk_tree_path_free0 (path);
		_g_free0 (tag);
		return result;
	}
	if (self->mtype != META_ARTIST_ART) {
		_tmp3_ = self->mtype != META_ALBUM_ART;
	} else {
		_tmp3_ = FALSE;
	}
	if (_tmp3_) {
		_g_free0 (self->priv->checksum);
		self->priv->checksum = NULL;
		result = FALSE;
		_g_object_unref0 (model);
		_gtk_tree_path_free0 (path);
		_g_free0 (tag);
		return result;
	}
	_tmp9_ = gtk_tree_view_get_tooltip_context (self->priv->par_widget, &_tmp4_, &_tmp5_, keyboard_tip, &_tmp6_, &_tmp7_, &_tmp8_);
	x = _tmp4_;
	y = _tmp5_;
	_g_object_unref0 (model);
	_tmp10_ = _g_object_ref0 (_tmp6_);
	model = _tmp10_;
	_gtk_tree_path_free0 (path);
	_tmp11_ = _gtk_tree_path_copy0 (_tmp7_);
	path = _tmp11_;
	iter = _tmp8_;
	if (!_tmp9_) {
		_g_free0 (self->priv->checksum);
		self->priv->checksum = NULL;
		result = FALSE;
		_g_object_unref0 (model);
		_gtk_tree_path_free0 (path);
		_g_free0 (tag);
		return result;
	}
	_tmp12_ = mpd_newSong ();
	song = _tmp12_;
	gtk_tree_model_get (model, &iter, 26, &row_type, -1);
	if (row_type == MPD_DATA_TYPE_SONG) {
		gchar* album;
		gchar* _tmp13_;
		gchar* _tmp14_;
		album = NULL;
		gtk_tree_model_get (model, &iter, 5, &tag, 6, &album, -1);
		_tmp13_ = g_strdup (tag);
		_g_free0 (song->artist);
		song->artist = _tmp13_;
		_tmp14_ = g_strdup (album);
		_g_free0 (song->album);
		song->album = _tmp14_;
		_g_free0 (album);
	} else {
		if (row_type == MPD_DATA_TYPE_TAG) {
			if (self->mtype == META_ARTIST_ART) {
				gchar* _tmp15_;
				gtk_tree_model_get (model, &iter, 7, &tag, -1);
				_tmp15_ = g_strdup (tag);
				_g_free0 (song->artist);
				song->artist = _tmp15_;
			} else {
				if (self->mtype == META_ALBUM_ART) {
					gchar* _tmp16_;
					gchar* _tmp17_;
					gtk_tree_model_get (model, &iter, 7, &tag, -1);
					_tmp16_ = g_strdup (self->request_artist);
					_g_free0 (song->artist);
					song->artist = _tmp16_;
					_tmp17_ = g_strdup (tag);
					_g_free0 (song->album);
					song->album = _tmp17_;
				}
			}
		}
	}
	_tmp18_ = mpd_song_checksum (song);
	new_check = _tmp18_;
	if (g_strcmp0 (new_check, self->priv->checksum) != 0) {
		_tmp19_ = self->priv->checksum != NULL;
	} else {
		_tmp19_ = FALSE;
	}
	if (_tmp19_) {
		_g_free0 (self->priv->checksum);
		self->priv->checksum = NULL;
		result = FALSE;
		_g_free0 (new_check);
		_mpd_freeSong0 (song);
		_g_object_unref0 (model);
		_gtk_tree_path_free0 (path);
		_g_free0 (tag);
		return result;
	}
	if (g_strcmp0 (new_check, self->priv->checksum) != 0) {
		gchar* _tmp20_;
		MetaData* met;
		MetaData* _tmp21_ = NULL;
		MetaDataResult _tmp22_;
		MetaDataResult _result_;
		_tmp20_ = g_strdup (new_check);
		_g_free0 (self->priv->checksum);
		self->priv->checksum = _tmp20_;
		met = NULL;
		_tmp22_ = gmpc_meta_watcher_get_meta_path (gmw, song, self->mtype, &_tmp21_);
		_meta_data_free0 (met);
		met = _tmp21_;
		_result_ = _tmp22_;
		gmpc_mpd_data_treeview_tooltip_metadata_changed (self, gmw, song, self->mtype, _result_, met);
		_meta_data_free0 (met);
	}
	_tmp23_ = gtk_image_get_storage_type (self->priv->image);
	if (_tmp23_ == GTK_IMAGE_EMPTY) {
		result = FALSE;
		_g_free0 (new_check);
		_mpd_freeSong0 (song);
		_g_object_unref0 (model);
		_gtk_tree_path_free0 (path);
		_g_free0 (tag);
		return result;
	}
	result = TRUE;
	_g_free0 (new_check);
	_mpd_freeSong0 (song);
	_g_object_unref0 (model);
	_gtk_tree_path_free0 (path);
	_g_free0 (tag);
	return result;
}
Example #4
0
static void __lambda5_ (Block9Data* _data9_) {
	GraphMediaModelosSentimientos* self;
	GList* paths = NULL;
	GtkIconView* _tmp0_ = NULL;
	GList* _tmp1_ = NULL;
	GList* _tmp2_ = NULL;
	GtkTreePath* path = NULL;
	GList* _tmp3_ = NULL;
	gconstpointer _tmp4_ = NULL;
	GtkTreePath* _tmp5_ = NULL;
	GValue title = {0};
	GValue icon = {0};
	GValue index = {0};
	gboolean tmp = FALSE;
	GtkListStore* _tmp6_ = NULL;
	GtkTreePath* _tmp7_ = NULL;
	GtkTreeIter _tmp8_ = {0};
	gboolean _tmp9_ = FALSE;
	gboolean _tmp10_ = FALSE;
	GtkListStore* _tmp11_ = NULL;
	GtkTreeIter _tmp12_ = {0};
	GValue _tmp13_ = {0};
	GtkListStore* _tmp14_ = NULL;
	GtkTreeIter _tmp15_ = {0};
	GValue _tmp16_ = {0};
	GtkListStore* _tmp17_ = NULL;
	GtkTreeIter _tmp18_ = {0};
	GValue _tmp19_ = {0};
	GValue _tmp20_ = {0};
	GValue _tmp21_ = {0};
	GValue _tmp22_ = {0};
	GValue _tmp23_ = {0};
	self = _data9_->self;
	_tmp0_ = _data9_->vista;
	_tmp1_ = gtk_icon_view_get_selected_items (_tmp0_);
	paths = _tmp1_;
	_tmp2_ = paths;
	if (_tmp2_ == NULL) {
		__g_list_free__gtk_tree_path_free0_0 (paths);
		return;
	}
	_tmp3_ = paths;
	_tmp4_ = g_list_nth_data (_tmp3_, (guint) 0);
	_tmp5_ = _gtk_tree_path_copy0 ((GtkTreePath*) _tmp4_);
	path = _tmp5_;
	_tmp6_ = _data9_->model;
	_tmp7_ = path;
	_tmp9_ = gtk_tree_model_get_iter ((GtkTreeModel*) _tmp6_, &_tmp8_, _tmp7_);
	_data9_->iter = _tmp8_;
	tmp = _tmp9_;
	_tmp10_ = tmp;
	_vala_assert (_tmp10_ == TRUE, "tmp == true");
	_tmp11_ = _data9_->model;
	_tmp12_ = _data9_->iter;
	gtk_tree_model_get_value ((GtkTreeModel*) _tmp11_, &_tmp12_, 0, &_tmp13_);
	G_IS_VALUE (&icon) ? (g_value_unset (&icon), NULL) : NULL;
	icon = _tmp13_;
	_tmp14_ = _data9_->model;
	_tmp15_ = _data9_->iter;
	gtk_tree_model_get_value ((GtkTreeModel*) _tmp14_, &_tmp15_, 1, &_tmp16_);
	G_IS_VALUE (&title) ? (g_value_unset (&title), NULL) : NULL;
	title = _tmp16_;
	_tmp17_ = _data9_->model;
	_tmp18_ = _data9_->iter;
	gtk_tree_model_get_value ((GtkTreeModel*) _tmp17_, &_tmp18_, 2, &_tmp19_);
	G_IS_VALUE (&index) ? (g_value_unset (&index), NULL) : NULL;
	index = _tmp19_;
	_tmp20_ = index;
	graph_media_modelos_app_gui_index_actual = g_value_get_int64 (&_tmp20_);
	_tmp21_ = title;
	_tmp22_ = icon;
	_tmp23_ = index;
	g_warning ("sentimientos.vala:220: %s: %p - %lld \n", g_value_get_string (&_tmp21_), g_value_get_object (&_tmp22_), g_value_get_int64 (&_tmp23_));
	G_IS_VALUE (&index) ? (g_value_unset (&index), NULL) : NULL;
	G_IS_VALUE (&icon) ? (g_value_unset (&icon), NULL) : NULL;
	G_IS_VALUE (&title) ? (g_value_unset (&title), NULL) : NULL;
	_gtk_tree_path_free0 (path);
	__g_list_free__gtk_tree_path_free0_0 (paths);
}