示例#1
0
static void
cycle_job (GSWindow  *window,
           GSJob     *job,
           GSManager *manager)
{
	gs_job_stop (job);
	manager_select_theme_for_job (manager, job);
	manager_maybe_start_job_for_window (manager, window);
}
示例#2
0
static void
remove_job (GSJob *job)
{
	if (job == NULL)
	{
		return;
	}

	gs_job_stop (job);
	g_object_unref (job);
}
示例#3
0
static void
throttle_job (GSWindow  *window,
              GSJob     *job,
              GSManager *manager)
{
	if (manager->priv->throttled)
	{
		gs_job_stop (job);
	}
	else
	{
		manager_maybe_start_job_for_window (manager, window);
	}
}
示例#4
0
static void
manager_maybe_stop_job_for_window (GSManager *manager,
                                   GSWindow  *window)
{
	GSJob *job;

	job = lookup_job_for_window (manager, window);

	if (job == NULL)
	{
		gs_debug ("Job not found for window");
		return;
	}

	gs_job_stop (job);
}
static void
preview_set_theme (GtkWidget  *widget,
                   const char *theme,
                   const char *name)
{
	GtkWidget *label;
	char      *markup;

	if (job != NULL)
	{
		gs_job_stop (job);
	}

	preview_clear (widget);

	label = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_theme_label"));
	markup = g_markup_printf_escaped ("<i>%s</i>", name);
	gtk_label_set_markup (GTK_LABEL (label), markup);
	g_free (markup);

	if ((theme && strcmp (theme, "__blank-only") == 0))
	{

	}
	else if (theme && strcmp (theme, "__random") == 0)
	{
		gchar **themes;

		themes = get_all_theme_ids (theme_manager);
		if (themes != NULL)
		{
			gint32  i;

			i = g_random_int_range (0, g_strv_length (themes));
                        job_set_theme (job, themes[i]);
                        g_strfreev (themes);

			gs_job_start (job);
		}
	}
	else
	{
		job_set_theme (job, theme);
		gs_job_start (job);
	}
}