mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-10-31 08:22:16 +01:00 
			
		
		
		
	gio-tool-mount: Add option to show progress when unmounting
This commit is contained in:
		
				
					committed by
					
						 Philip Withnall
						Philip Withnall
					
				
			
			
				
	
			
			
			
						parent
						
							4a7409a0ac
						
					
				
				
					commit
					c083a4d1a6
				
			| @@ -320,6 +320,31 @@ mount_done_cb (GObject *object, | |||||||
|     g_main_loop_quit (main_loop); |     g_main_loop_quit (main_loop); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | static void | ||||||
|  | show_unmount_progress (GMountOperation *self, | ||||||
|  |                        const gchar     *message, | ||||||
|  |                        gint64           time_left, | ||||||
|  |                        gint64           bytes_left, | ||||||
|  |                        gpointer         user_data) | ||||||
|  | { | ||||||
|  |   GStrv lines = NULL; | ||||||
|  |   gchar *one_line = NULL; | ||||||
|  |  | ||||||
|  |   if (message == NULL) | ||||||
|  |     return; | ||||||
|  |  | ||||||
|  |   lines = g_strsplit (message, "\n", -1); | ||||||
|  |   one_line = g_strjoinv (" - ", lines); | ||||||
|  |  | ||||||
|  |   /* Print just the message, the GVfsUDisks2VolumeMonitor doesn't report time or | ||||||
|  |    * bytes. | ||||||
|  |    */ | ||||||
|  |   g_print ("%s\n", one_line); | ||||||
|  |  | ||||||
|  |   g_free (one_line); | ||||||
|  |   g_strfreev (lines); | ||||||
|  | } | ||||||
|  |  | ||||||
| static GMountOperation * | static GMountOperation * | ||||||
| new_mount_op (void) | new_mount_op (void) | ||||||
| { | { | ||||||
| @@ -331,6 +356,7 @@ new_mount_op (void) | |||||||
|  |  | ||||||
|   g_signal_connect (op, "ask_password", G_CALLBACK (ask_password_cb), NULL); |   g_signal_connect (op, "ask_password", G_CALLBACK (ask_password_cb), NULL); | ||||||
|   g_signal_connect (op, "ask_question", G_CALLBACK (ask_question_cb), NULL); |   g_signal_connect (op, "ask_question", G_CALLBACK (ask_question_cb), NULL); | ||||||
|  |   g_signal_connect (op, "show-unmount-progress", G_CALLBACK (show_unmount_progress), NULL); | ||||||
|  |  | ||||||
|   /* TODO: we *should* also connect to the "aborted" signal but since the |   /* TODO: we *should* also connect to the "aborted" signal but since the | ||||||
|    * main thread is blocked handling input we won't get that signal anyway... |    * main thread is blocked handling input we won't get that signal anyway... | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user