void giggle_clipboard_copy (GiggleClipboard *clipboard) { GiggleClipboardIface *iface; g_return_if_fail (GIGGLE_IS_CLIPBOARD (clipboard)); iface = GIGGLE_CLIPBOARD_GET_IFACE (clipboard); if (iface->do_copy) iface->do_copy (clipboard); }
gboolean giggle_clipboard_can_copy (GiggleClipboard *clipboard) { GiggleClipboardIface *iface; g_return_val_if_fail (GIGGLE_IS_CLIPBOARD (clipboard), FALSE); iface = GIGGLE_CLIPBOARD_GET_IFACE (clipboard); if (iface->can_copy) return iface->can_copy (clipboard); return FALSE; }
static GiggleClipboard * window_find_clipboard (GiggleWindow *window) { GtkWidget *child; child = gtk_window_get_focus (GTK_WINDOW (window)); if (child && !GIGGLE_IS_CLIPBOARD (child)) child = gtk_widget_get_ancestor (child, GIGGLE_TYPE_CLIPBOARD); if (child) return GIGGLE_CLIPBOARD (child); return NULL; }
void giggle_clipboard_changed (GiggleClipboard *clipboard) { g_return_if_fail (GIGGLE_IS_CLIPBOARD (clipboard)); g_signal_emit (clipboard, signals[CLIPBOARD_CHANGED], 0); }