From 212533a1f5405a17c4388ed104360a3871f8443e Mon Sep 17 00:00:00 2001 From: Julian Sparber Date: Wed, 19 Apr 2017 18:28:08 +0200 Subject: [PATCH] [feat] dynamicaly create remote device list --- src/Makefile | 2 +- src/get.c | 1 + src/teleportapp.gresource.xml | 1 + src/teleportappwin.c | 50 +++++----- src/window.ui | 170 +--------------------------------- 5 files changed, 32 insertions(+), 192 deletions(-) diff --git a/src/Makefile b/src/Makefile index af9c062..f7402ff 100644 --- a/src/Makefile +++ b/src/Makefile @@ -11,7 +11,7 @@ OBJS = $(BUILT_SRC:.c=.o) $(SRC:.c=.o) all: teleportapp -resources.c: teleportapp.gresource.xml window.ui settings.ui +resources.c: teleportapp.gresource.xml window.ui settings.ui remote_list.ui $(GLIB_COMPILE_RESOURCES) teleportapp.gresource.xml --target=$@ --sourcedir=. --generate-source %.o: %.c diff --git a/src/get.c b/src/get.c index 8db3112..d08596b 100644 --- a/src/get.c +++ b/src/get.c @@ -100,6 +100,7 @@ get (char *url, const gchar *output_file_path) int main () { + //url and absoulte path to download dir get ("http://juliansparber.com/index.html", "./test_download"); return 0; } diff --git a/src/teleportapp.gresource.xml b/src/teleportapp.gresource.xml index d30277b..fd71213 100644 --- a/src/teleportapp.gresource.xml +++ b/src/teleportapp.gresource.xml @@ -3,5 +3,6 @@ window.ui settings.ui + remote_list.ui diff --git a/src/teleportappwin.c b/src/teleportappwin.c index 028ca5c..db49d1f 100644 --- a/src/teleportappwin.c +++ b/src/teleportappwin.c @@ -14,6 +14,7 @@ struct _TeleportAppWindowPrivate { GSettings *settings; GtkWidget *gears; + GtkWidget *remote_devices_list; }; G_DEFINE_TYPE_WITH_PRIVATE(TeleportAppWindow, teleport_app_window, GTK_TYPE_APPLICATION_WINDOW); @@ -23,7 +24,12 @@ teleport_app_window_init (TeleportAppWindow *win) { TeleportAppWindowPrivate *priv; GtkBuilder *builder; + GtkBuilder *builder_remote_list; GtkWidget *menu; + GtkWidget *remote_list_row; + GtkLabel *remote_name; + GtkWidget *line; + GtkListStore *store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_BOOLEAN); //GAction *action; priv = teleport_app_window_get_instance_private (win); @@ -34,30 +40,28 @@ teleport_app_window_init (TeleportAppWindow *win) gtk_menu_button_set_popover(GTK_MENU_BUTTON (priv->gears), menu); - //action = g_settings_create_action (priv->settings, "show-words"); - //g_action_map_add_action (G_ACTION_MAP (win), action); - /* - const gchar *authors[] = { - "Julian Sparber ", - NULL - }; + builder_remote_list = gtk_builder_new_from_resource ("/org/gtk/teleportapp/remote_list.ui"); - gtk_show_about_dialog (parent, - "authors", authors, - "comments", "", - "copyright", "Copyright \xc2\xa9 2017 Julian Sparber", - "license-type", GTK_LICENSE_AGPL_3_0, - "logo-icon-name", "", - "program-name", "", - "translator-credits", "translator-credits", - "version", "20", - "website", "https://wiki.gnome.org/Apps/teleport", - "website-label", "Teleport website", - NULL); - */ + remote_list_row = GTK_WIDGET (gtk_builder_get_object (builder_remote_list, "remote_device_row")); + remote_name = GTK_LABEL (gtk_builder_get_object (builder_remote_list, "device_name")); + gtk_label_set_text(remote_name, "Tobias's Laptop"); + gtk_list_box_insert(GTK_LIST_BOX(priv->remote_devices_list), remote_list_row, -1); - //g_object_unref (action); - //g_object_unref (builder); + + line = GTK_WIDGET (gtk_builder_get_object (builder_remote_list, "remote_space_row")); + gtk_list_box_insert(GTK_LIST_BOX(priv->remote_devices_list), line, -1); + +builder_remote_list = gtk_builder_new_from_resource ("/org/gtk/teleportapp/remote_list.ui"); + + remote_list_row = GTK_WIDGET (gtk_builder_get_object (builder_remote_list, "remote_device_row")); + remote_name = GTK_LABEL (gtk_builder_get_object (builder_remote_list, "device_name")); + gtk_label_set_text(remote_name, "Tobias's Laptop"); + gtk_list_box_insert(GTK_LIST_BOX(priv->remote_devices_list), remote_list_row, -1); + + + g_object_unref (builder); + g_object_unref (menu); + g_object_unref (remote_list_row); } static void @@ -83,6 +87,8 @@ teleport_app_window_class_init (TeleportAppWindowClass *class) "/org/gtk/teleportapp/window.ui"); gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), TeleportAppWindow, gears); + gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (class), TeleportAppWindow, remote_devices_list); + } TeleportAppWindow * diff --git a/src/window.ui b/src/window.ui index 41c895e..4ab9e96 100644 --- a/src/window.ui +++ b/src/window.ui @@ -198,83 +198,10 @@ False vertical - + True True none - - - True - True - false - - - True - False - 0 - 32 - 12 - 6 - 6 - 6 - center - - - True - False - True - 0 - end - Jan's Librem - True - - - 0 - 0 - 1 - 1 - - - - - True - False - 0 - Drop here to send - - - - - - - 0 - 1 - 1 - 1 - - - - - - True - True - end - center - Send File - - - 1 - 0 - 1 - 2 - - - - - - @@ -283,101 +210,6 @@ horizontal - - - True - True - none - - - True - True - false - - - True - False - 0 - 16 - 12 - 6 - 6 - 6 - center - - - True - False - 0 - Sending app-mockup.png - - - - - - 0 - 0 - 1 - 1 - - - - - True - False - True - 0.80 - - - 0 - 1 - 1 - 1 - - - - - True - False - 0 - 100 MB / 5 GB - - - - - - - 0 - 3 - 1 - 1 - - - - - - - True - True - end - center - Cancel - - - 1 - 1 - 1 - 2 - - - - - - - -