#include <gtk/gtk.h>
+#ifdef G_OS_UNIX
void
copy (void)
{
g_print ("clipboard contents now: %s, local: %d\n", s, gdk_clipboard_is_local (clipboard));
}
+#else /* G_OS_UNIX */
+
+void
+hello (void)
+{
+ g_print ("hello world\n");
+}
+
+#endif /* !G_OS_UNIX */
+
int
main (int argc, char *argv[])
{
- GtkWidget *window, *button, *box;
+ GtkWidget *window, *box;
+ GtkWidget *button = NULL;
GdkClipboard *clipboard;
gtk_init ();
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
- box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
-
button = gtk_button_new ();
+
+#ifdef G_OS_UNIX /* portal usage is supported on *nix only */
+ box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
gtk_button_set_label (GTK_BUTTON (button), "copy");
g_signal_connect (button, "clicked", G_CALLBACK (copy), NULL);
gtk_container_add (GTK_CONTAINER (box), button);
clipboard = gdk_display_get_clipboard (gdk_display_get_default ());
g_signal_connect (clipboard, "changed", G_CALLBACK (clipboard_changed), NULL);
+#else /* G_OS_UNIX -- original non-portal-enabled code */
+
+ gtk_button_set_label (GTK_BUTTON (button), "hello world");
+ g_signal_connect (button, "clicked", G_CALLBACK (hello), NULL);
+ gtk_container_add (GTK_CONTAINER (window), button);
+
+#endif /* !G_OS_UNIX */
+
gtk_widget_show (window);
gtk_main ();
}
}
+#ifdef G_OS_UNIX /* portal usage supported on *nix only */
+
static GSList *
get_file_list (const char *dir)
{
return g_slist_reverse (list);
}
+#else /* G_OS_UNIX -- original non-portal-enabled code */
+
+static GList *
+get_file_list (const char *dir)
+{
+ GFileEnumerator *enumerator;
+ GFile *file;
+ GList *list = NULL;
+
+ file = g_file_new_for_path (dir);
+ enumerator = g_file_enumerate_children (file, "standard::name", 0, NULL, NULL);
+ g_object_unref (file);
+ if (enumerator == NULL)
+ return NULL;
+
+ while (g_file_enumerator_iterate (enumerator, NULL, &file, NULL, NULL) && file != NULL)
+ list = g_list_prepend (list, g_object_ref (file));
+
+ return g_list_reverse (list);
+}
+
+#endif /* !G_OS_UNIX */
+
static void
format_list_add_row (GtkWidget *list,
const char *format_name,