From 7afe34b43ad79ec228f76c698ed9c6829b072790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wilson=20J=C3=BAnior?= Date: Mon, 9 May 2011 10:24:43 -0300 Subject: [PATCH] ja esta fazendo chamada no gio para mountar --- src/Makefile | 2 +- src/gui.ui | 5 +-- src/matricula | Bin 9920 -> 12975 bytes src/mountmatricula.c | 76 ++++++++++++++++++++++++++++++++++++++++--- 4 files changed, 75 insertions(+), 8 deletions(-) diff --git a/src/Makefile b/src/Makefile index e5b2bfc..3249c6a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,2 +1,2 @@ all: - gcc `pkg-config --libs --cflags gtk+-2.0` mountmatricula.c -o matricula \ No newline at end of file + gcc `pkg-config --libs --cflags gtk+-2.0 gmodule-export-2.0` mountmatricula.c -o matricula \ No newline at end of file diff --git a/src/gui.ui b/src/gui.ui index 97f38c2..3adc36c 100644 --- a/src/gui.ui +++ b/src/gui.ui @@ -31,9 +31,10 @@ - + gtk-connect True + False True True False @@ -167,7 +168,7 @@ button2 - button1 + btn_connect diff --git a/src/matricula b/src/matricula index 13153ed978052f1acb70905b78c1fcc2cc4f9130..d97a43d03f3d2d5499ea04d6e9fb3448b3bd124c 100755 GIT binary patch literal 12975 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 #include +gchar SERVIDOR[] = "localhost"; + +static void +mount_mountable_done_cb (GObject *object, + GAsyncResult *res, + gpointer user_data) +{ + GFile *target; + GError *error = NULL; + + target = g_file_mount_mountable_finish (G_FILE (object), res, &error); + + g_print ("Destino, %s", target); + + if (target == NULL) + g_printerr ("Error mounting location: %s\n", error->message); + else + g_object_unref (target); + /* + outstanding_mounts--; + + if (outstanding_mounts == 0) + g_main_loop_quit (main_loop); + */ +} + +void mount (char *username, char *password) { + GFile *file; + gchar *cmd; + GMountOperation *op; + + cmd = g_strdup_printf("ssh://%s@%s:/home/%s", + username, SERVIDOR, username); + + g_print ("mountando: %s\n", cmd); + + file = g_file_new_for_commandline_arg (cmd); + op = g_mount_operation_new (); + g_mount_operation_set_password (op, password); + g_file_mount_mountable (file, 0, op, NULL, mount_mountable_done_cb, op); + +} void values_changed_cb (GtkWidget *widget, GtkBuilder *builder) { - g_print ("values changed"); + GObject *obj; + gint u, p; + + obj = gtk_builder_get_object(builder, "username"); + u = gtk_entry_get_text_length (GTK_ENTRY(obj)); + + obj = gtk_builder_get_object(builder, "password"); + p = gtk_entry_get_text_length (GTK_ENTRY(obj)); + + obj = gtk_builder_get_object(builder, "btn_connect"); + + if ((u < 1) || (p < 1)) + gtk_widget_set_sensitive (GTK_WIDGET(obj), FALSE); + else + gtk_widget_set_sensitive (GTK_WIDGET(obj), TRUE); + } int main (int argc, char *argv[]) { GtkBuilder *builder; - GtkWidget *dialog; - + GtkWidget *dialog, *obj; + gchar *username, *password; gtk_init(&argc, &argv); builder = gtk_builder_new(); @@ -34,8 +91,17 @@ int main (int argc, char *argv[]) { gtk_builder_connect_signals (builder, builder); - dialog = gtk_builder_get_object (builder, "dialog"); - gtk_dialog_run (GTK_DIALOG(dialog)); + dialog = GTK_WIDGET(gtk_builder_get_object (builder, "dialog")); + gint result = gtk_dialog_run (GTK_DIALOG(dialog)); + + if (result) { + obj = gtk_builder_get_object (builder, "username"); + username = gtk_entry_get_text (GTK_ENTRY(obj)); + obj = gtk_builder_get_object (builder, "password"); + password = gtk_entry_get_text (GTK_ENTRY(obj)); + mount (username, password); + + } gtk_main(); }