32#include <gtkosxapplication.h>
36#include <gdk/gdkwin32.h>
37#ifndef ITaskbarList3_SetProgressValue
38 #define ITaskbarList3_SetProgressValue(This,hwnd,ullCompleted,ullTotal) (This)->lpVtbl->SetProgressValue(This,hwnd,ullCompleted,ullTotal)
40#ifndef ITaskbarList3_SetProgressState
41 #define ITaskbarList3_SetProgressState(This,hwnd,tbpFlags) (This)->lpVtbl->SetProgressState(This,hwnd,tbpFlags)
43#ifndef ITaskbarList3_HrInit
44 #define ITaskbarList3_HrInit(This) (This)->lpVtbl->HrInit(This)
75 GVariantBuilder builder;
76 g_variant_builder_init(&builder, G_VARIANT_TYPE(
"a{sv}"));
78 g_variant_builder_add(&builder,
"{sv}",
"progress-visible", g_variant_new_boolean(
TRUE));
79 GVariant *params = g_variant_new(
"(sa{sv})",
"application://photos.ansel.ansel.desktop", &builder);
82 "com.canonical.Unity",
84 "com.canonical.Unity.LauncherEntry",
90 fprintf(stderr,
"[progress_create] dbus error: %s\n",
error->message);
101 if(CoCreateInstance(&CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, &IID_ITaskbarList3, (
void **)&taskbarlist) == S_OK)
102 if(ITaskbarList3_HrInit((ITaskbarList3 *)taskbarlist) == S_OK)
109 if(ITaskbarList3_SetProgressState(control->
progress_system.taskbarlist, hwnd, TBPF_NORMAL) != S_OK)
110 fprintf(stderr,
"[progress_create] SetProgressState failed\n");
112 fprintf(stderr,
"[progress_create] SetProgressValue failed\n");
126 GError *
error = NULL;
128 GVariantBuilder builder;
129 g_variant_builder_init(&builder, G_VARIANT_TYPE(
"a{sv}"));
131 GVariant *params = g_variant_new(
"(sa{sv})",
"application://photos.ansel.ansel.desktop", &builder);
134 "com.canonical.Unity",
136 "com.canonical.Unity.LauncherEntry",
142 fprintf(stderr,
"[progress_set] dbus error: %s\n",
error->message);
153 fprintf(stderr,
"[progress_create] SetProgressValue failed\n");
177 GError *
error = NULL;
179 GVariantBuilder builder;
180 g_variant_builder_init(&builder, G_VARIANT_TYPE(
"a{sv}"));
182 g_variant_builder_add(&builder,
"{sv}",
"progress-visible", g_variant_new_boolean(
FALSE));
184 GVariant *params = g_variant_new(
"(sa{sv})",
"application://photos.ansel.ansel.desktop", &builder);
187 "com.canonical.Unity",
189 "com.canonical.Unity.LauncherEntry",
195 fprintf(stderr,
"[progress_destroy] dbus error: %s\n",
error->message);
210 if(ITaskbarList3_SetProgressState(control->
progress_system.taskbarlist, hwnd, TBPF_NOPROGRESS) != S_OK)
211 fprintf(stderr,
"[progress_create] SetProgressState failed\n");
215 if(ITaskbarList3_SetProgressValue(control->
progress_system.taskbarlist, hwnd,
217 fprintf(stderr,
"[progress_create] SetProgressValue failed\n");
230 GError *
error = NULL;
232 GVariantBuilder builder;
233 g_variant_builder_init(&builder, G_VARIANT_TYPE(
"a{sv}"));
234 g_variant_builder_add(&builder,
"{sv}",
"progress-visible", g_variant_new_boolean(
FALSE));
235 GVariant *params = g_variant_new(
"(sa{sv})",
"application://photos.ansel.ansel.desktop", &builder);
238 "com.canonical.Unity",
240 "com.canonical.Unity.LauncherEntry",
246 fprintf(stderr,
"[progress_init] dbus error: %s\n",
error->message);
263 const gchar *message)
270 progress->
message = g_strdup(message);
283 has_progress_bar, message);
316 progress->
cancel = cancel;
384 const gchar *res = progress->
message;
393 progress->
message = g_strdup(message);
static void error(char *msg)
static const dt_aligned_pixel_simd_t const dt_adaptation_t const float p
static const dt_aligned_pixel_simd_t value
#define IS_NULL_PTR(p)
C is way too permissive with !=, == and if(var) checks, which can mean too many things depending on w...
static int dt_pthread_mutex_unlock(dt_pthread_mutex_t *mutex) RELEASE(mutex) NO_THREAD_SAFETY_ANALYSIS
static int dt_pthread_mutex_init(dt_pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr)
static int dt_pthread_mutex_destroy(dt_pthread_mutex_t *mutex)
static int dt_pthread_mutex_lock(dt_pthread_mutex_t *mutex) ACQUIRE(mutex) NO_THREAD_SAFETY_ANALYSIS
GtkWidget * dt_ui_main_window(dt_ui_t *ui)
get the main window widget
void dt_control_job_cancel(_dt_job_t *job)
void dt_control_progress_set_progress(dt_control_t *control, dt_progress_t *progress, double value)
static void dt_control_progress_cancel_callback(dt_progress_t *progress, void *data)
void dt_control_progress_set_message(dt_control_t *control, dt_progress_t *progress, const char *message)
double dt_control_progress_get_progress(dt_progress_t *progress)
gboolean dt_control_progress_cancellable(dt_progress_t *progress)
const gchar * dt_control_progress_get_message(dt_progress_t *progress)
static void global_progress_set(dt_control_t *control, dt_progress_t *progress, double value)
static void global_progress_start(dt_control_t *control, dt_progress_t *progress)
void dt_control_progress_make_cancellable(struct dt_control_t *control, dt_progress_t *progress, dt_progress_cancel_callback_t cancel, void *data)
dt_progress_t * dt_control_progress_create(dt_control_t *control, gboolean has_progress_bar, const gchar *message)
void dt_control_progress_init(struct dt_control_t *control)
void dt_control_progress_destroy(dt_control_t *control, dt_progress_t *progress)
void dt_control_progress_set_gui_data(dt_progress_t *progress, void *data)
void dt_control_progress_cancel(dt_control_t *control, dt_progress_t *progress)
void dt_control_progress_attach_job(dt_control_t *control, dt_progress_t *progress, dt_job_t *job)
static void global_progress_end(dt_control_t *control, dt_progress_t *progress)
gboolean dt_control_progress_has_progress_bar(dt_progress_t *progress)
void * dt_control_progress_get_gui_data(dt_progress_t *progress)
void(* dt_progress_cancel_callback_t)(dt_progress_t *progress, void *data)
dt_progress_cancel_callback_t cancel
gboolean has_progress_bar
struct dt_gui_gtk_t * gui
void(* destroyed)(dt_lib_module_t *self, struct dt_lib_backgroundjob_element_t *instance)
struct dt_control_t::@13 progress_system
struct dt_control_t::@13::@15 proxy
void(* message_updated)(dt_lib_module_t *self, struct dt_lib_backgroundjob_element_t *instance, const char *message)
void(* updated)(dt_lib_module_t *self, struct dt_lib_backgroundjob_element_t *instance, double value)
dt_lib_module_t *void *(* added)(dt_lib_module_t *self, gboolean has_progress_bar, const gchar *message)
void(* cancellable)(dt_lib_module_t *self, struct dt_lib_backgroundjob_element_t *instance, dt_progress_t *progress)
GDBusConnection * dbus_connection