diff --git a/settings/main.c b/settings/main.c index 76bf6ca6..a31d4cf2 100644 --- a/settings/main.c +++ b/settings/main.c @@ -1751,6 +1751,34 @@ xfdesktop_settings_setup_image_iconview(AppearancePanel *panel) G_CALLBACK(cb_thumbnail_ready), panel); } +static void +cb_xfdesktop_icon_orientation_changed(GtkComboBox *combo, + gpointer user_data) +{ + const gchar *cmd = "xfdesktop --arrange"; + GError *error = NULL; + + GtkWindow *window = GTK_WINDOW (gtk_widget_get_toplevel(GTK_WIDGET(combo))); + + if(!xfce_dialog_confirm(window, "view-sort-ascending", _("Arrange icons"), NULL, + _("Would you like to arrange all existing icons according to the selected orientation?"))) + { + return; + } + + if(!g_spawn_command_line_async(cmd, &error)) + { + /* printf is to be translator-friendly */ + gchar *primary = g_strdup_printf(_("Unable to launch \"%s\":"), cmd); + xfce_message_dialog(window, _("Launch Error"), + "dialog-error", primary, error->message, + XFCE_BUTTON_TYPE_MIXED, "window-close", _("_Close"), + GTK_RESPONSE_ACCEPT, NULL); + g_free(primary); + g_clear_error(&error); + } +} + static void xfdesktop_settings_dialog_setup_tabs(GtkBuilder *main_gxml, AppearancePanel *panel) @@ -2050,6 +2078,8 @@ xfdesktop_settings_dialog_setup_tabs(GtkBuilder *main_gxml, gtk_combo_box_set_active(GTK_COMBO_BOX(w), 0); xfconf_g_property_bind(channel, DESKTOP_ICONS_GRAVITY_PROP, G_TYPE_INT, G_OBJECT(w), "active"); + g_signal_connect(G_OBJECT(w), "changed", + G_CALLBACK(cb_xfdesktop_icon_orientation_changed), NULL); /* bindings */ xfconf_g_property_bind(channel, DESKTOP_ICONS_FONT_SIZE_PROP, G_TYPE_DOUBLE, diff --git a/src/xfdesktop-file-icon-manager.c b/src/xfdesktop-file-icon-manager.c index 7a73dba9..c0623933 100644 --- a/src/xfdesktop-file-icon-manager.c +++ b/src/xfdesktop-file-icon-manager.c @@ -3539,6 +3539,8 @@ xfdesktop_file_icon_manager_drag_data_received(XfdesktopIconViewManager *manager drop_ok = TRUE; } else if(info == TARGET_NETSCAPE_URL) { + g_print ("HERE222\n"); + /* data is "URL\nTITLE" */ GFile *source_file = NULL; gchar *exo_desktop_item_edit = g_find_program_in_path("exo-desktop-item-edit");