diff options
-rw-r--r-- | docs/reference/gtk/gtk3-sections.txt | 2 | ||||
-rw-r--r-- | gtk/gtk.symbols | 2 | ||||
-rw-r--r-- | gtk/gtkapplication.c | 124 | ||||
-rw-r--r-- | gtk/gtkapplication.h | 10 | ||||
-rw-r--r-- | tests/testlogout.c | 45 |
5 files changed, 0 insertions, 183 deletions
diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 4674beb913..cdcad3f662 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -7019,8 +7019,6 @@ GtkApplicationInhibitFlags gtk_application_inhibit gtk_application_uninhibit gtk_application_is_inhibited -GtkApplicationEndSessionStyle -gtk_application_end_session <SUBSECTION> gtk_application_get_app_menu diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 9a49a41ec5..8742cb9685 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -227,8 +227,6 @@ gtk_app_chooser_widget_set_show_other gtk_app_chooser_widget_set_show_recommended gtk_application_add_accelerator gtk_application_add_window -gtk_application_end_session -gtk_application_end_session_style_get_type gtk_application_get_app_menu gtk_application_get_menubar gtk_application_get_type diff --git a/gtk/gtkapplication.c b/gtk/gtkapplication.c index d5bdd73037..241122601d 100644 --- a/gtk/gtkapplication.c +++ b/gtk/gtkapplication.c @@ -113,9 +113,6 @@ * An application can be informed when the session is about to end * by connecting to the #GtkApplication::quit signal. * - * An application can request the session to be ended by calling - * gtk_application_end_session(). - * * An application can block various ways to end the session with * the gtk_application_inhibit() function. Typical use cases for * this kind of inhibiting are long-running, uninterruptible operations, @@ -1499,67 +1496,6 @@ gtk_application_is_inhibited (GtkApplication *application, return inhibited; } -/** - * GtkApplicationEndSessionStyle: - * @GTK_APPLICATION_LOGOUT: End the session by logging out - * @GTK_APPLICATION_REBOOT: Restart the computer - * @GTK_APPLICATION_SHUTDOWN: Shut the computer down - * - * Different ways to end a user session, for use with - * gtk_application_end_session(). - */ - -/** - * gtk_application_end_session: - * @application: the #GtkApplication - * @style: the desired kind of session end - * @request_confirmation: whether or not the user should get a chance - * to confirm the action - * - * Requests that the session manager end the current session. - * @style indicates how the session should be ended, and - * @request_confirmation indicates whether or not the user should be - * given a chance to confirm the action. Both of these parameters are - * merely hints though; the session manager may choose to ignore them. - * - * Return value: %TRUE if the request was sent; %FALSE if it could not - * be sent (eg, because it could not connect to the session manager) - * - * Since: 3.4 - */ -gboolean -gtk_application_end_session (GtkApplication *application, - GtkApplicationEndSessionStyle style, - gboolean request_confirmation) -{ - g_return_val_if_fail (GTK_IS_APPLICATION (application), FALSE); - g_return_val_if_fail (!g_application_get_is_remote (G_APPLICATION (application)), FALSE); - g_return_val_if_fail (application->priv->sm_proxy != NULL, FALSE); - - switch (style) - { - case GTK_APPLICATION_LOGOUT: - g_dbus_proxy_call (application->priv->sm_proxy, - "Logout", - g_variant_new ("(u)", request_confirmation ? 0 : 1), - G_DBUS_CALL_FLAGS_NONE, - G_MAXINT, - NULL, NULL, NULL); - break; - case GTK_APPLICATION_REBOOT: - case GTK_APPLICATION_SHUTDOWN: - g_dbus_proxy_call (application->priv->sm_proxy, - "Shutdown", - NULL, - G_DBUS_CALL_FLAGS_NONE, - G_MAXINT, - NULL, NULL, NULL); - break; - } - - return TRUE; -} - #elif defined(GDK_WINDOWING_QUARTZ) /* OS X implementation copied from EggSMClient, but simplified since @@ -1683,58 +1619,6 @@ gtk_application_is_inhibited (GtkApplication *application, return FALSE; } -gboolean -gtk_application_end_session (GtkApplication *application, - GtkApplicationEndSessionStyle style, - gboolean request_confirmation) -{ - static const ProcessSerialNumber loginwindow_psn = { 0, kSystemProcess }; - AppleEvent event = { typeNull, NULL }; - AppleEvent reply = { typeNull, NULL }; - AEAddressDesc target; - AEEventID id; - OSErr err; - - switch (style) - { - case GTK_APPLICATION_LOGOUT: - id = request_confirmation ? kAELogOut : kAEReallyLogOut; - break; - case GTK_APPLICATION_REBOOT: - id = request_confirmation ? kAEShowRestartDialog : kAERestart; - break; - case GTK_APPLICATION_SHUTDOWN: - id = request_confirmation ? kAEShowShutdownDialog : kAEShutDown; - break; - } - - err = AECreateDesc (typeProcessSerialNumber, &loginwindow_psn, - sizeof (loginwindow_psn), &target); - if (err != noErr) - { - g_warning ("Could not create descriptor for loginwindow: %d", err); - return FALSE; - } - - err = AECreateAppleEvent (kCoreEventClass, id, &target, - kAutoGenerateReturnID, kAnyTransactionID, - &event); - AEDisposeDesc (&target); - if (err != noErr) - { - g_warning ("Could not create logout AppleEvent: %d", err); - return FALSE; - } - - err = AESend (&event, &reply, kAENoReply, kAENormalPriority, - kAEDefaultTimeout, NULL, NULL); - AEDisposeDesc (&event); - if (err == noErr) - AEDisposeDesc (&reply); - - return err == noErr; -} - #else /* Trivial implementation. @@ -1765,12 +1649,4 @@ gtk_application_is_inhibited (GtkApplication *application, return FALSE; } -gboolean -gtk_application_end_session (GtkApplication *application, - GtkApplicationEndSessionStyle style, - gboolean request_confirmation) -{ - return FALSE; -} - #endif diff --git a/gtk/gtkapplication.h b/gtk/gtkapplication.h index b9a9ad7898..092d90c130 100644 --- a/gtk/gtkapplication.h +++ b/gtk/gtkapplication.h @@ -110,16 +110,6 @@ void gtk_application_uninhibit (GtkApplication gboolean gtk_application_is_inhibited (GtkApplication *application, GtkApplicationInhibitFlags flags); -typedef enum { - GTK_APPLICATION_LOGOUT, - GTK_APPLICATION_REBOOT, - GTK_APPLICATION_SHUTDOWN -} GtkApplicationEndSessionStyle; - -gboolean gtk_application_end_session (GtkApplication *application, - GtkApplicationEndSessionStyle style, - gboolean request_confirmation); - G_END_DECLS #endif /* __GTK_APPLICATION_H__ */ diff --git a/tests/testlogout.c b/tests/testlogout.c index 6c17f1a936..8fda9e7f0c 100644 --- a/tests/testlogout.c +++ b/tests/testlogout.c @@ -7,32 +7,6 @@ static GtkWidget *inhibit_switch; static GtkWidget *inhibit_suspend; static GtkWidget *inhibit_idle; static GtkWidget *inhibit_label; -static GtkWidget *end_combo; -static GtkWidget *end_confirm; - -static void -end_session (GtkButton *button, GtkApplication *app) -{ - const gchar *id; - GtkApplicationEndSessionStyle style; - gboolean confirm; - - id = gtk_combo_box_get_active_id (GTK_COMBO_BOX (end_combo)); - if (g_strcmp0 (id, "logout") == 0) - style = GTK_APPLICATION_LOGOUT; - else if (g_strcmp0 (id, "reboot") == 0) - style = GTK_APPLICATION_REBOOT; - else if (g_strcmp0 (id, "shutdown") == 0) - style = GTK_APPLICATION_SHUTDOWN; - else - style = GTK_APPLICATION_LOGOUT; - - confirm = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (end_confirm)); - - g_print ("Calling gtk_application_end_session: %d, %d\n", style, confirm); - - gtk_application_end_session (app, style, confirm); -} static void inhibitor_toggled (GtkToggleButton *button, GtkApplication *app) @@ -150,25 +124,6 @@ activate (GtkApplication *app, gtk_grid_set_row_spacing (GTK_GRID (grid), 6); gtk_grid_set_column_spacing (GTK_GRID (grid), 6); - gtk_container_add (GTK_CONTAINER (box), grid); - - end_combo = gtk_combo_box_text_new (); - gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (end_combo), "logout", "Logout"); - gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (end_combo), "reboot", "Reboot"); - gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (end_combo), "shutdown", "Shutdown"); - gtk_combo_box_set_active_id (GTK_COMBO_BOX (end_combo), "logout"); - gtk_grid_attach (GTK_GRID (grid), end_combo, 0, 0, 1, 1); - - end_confirm = gtk_check_button_new_with_label ("Confirm"); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (end_confirm), TRUE); - gtk_grid_attach (GTK_GRID (grid), end_confirm, 1, 0, 1, 1); - - button = gtk_button_new_with_label ("Go"); - g_signal_connect (button, "clicked", - G_CALLBACK (end_session), app); - - gtk_grid_attach (GTK_GRID (grid), button, 2, 0, 1, 1); - gtk_widget_show_all (win); gtk_application_add_window (app, GTK_WINDOW (win)); |