Merge branch 'pr/311' into pull_request_311_with_develop
authormasensio <masensio@solidgear.es>
Fri, 14 Feb 2014 09:59:26 +0000 (10:59 +0100)
committermasensio <masensio@solidgear.es>
Fri, 14 Feb 2014 09:59:26 +0000 (10:59 +0100)
1  2 
res/menu/file_actions_menu.xml
res/values-de-rCH/strings.xml
res/values-de-rDE/strings.xml
res/values-de/strings.xml
res/values-en-rGB/strings.xml
res/values/strings.xml
src/com/owncloud/android/ui/fragment/OCFileListFragment.java
src/com/owncloud/android/ui/preview/PreviewImageFragment.java

@@@ -19,8 -19,7 +19,8 @@@
  -->
  <menu         xmlns:android="http://schemas.android.com/apk/res/android">
      
 -      <item   android:id="@+id/action_open_file_with"                 android:title="@string/actionbar_open_with"                     android:icon="@android:drawable/ic_menu_edit"                                   android:orderInCategory="1" />
 +      <item   android:id="@+id/action_share_file"                             android:title="@string/action_share_file"                       android:icon="@android:drawable/ic_menu_share"                                  android:orderInCategory="1" />
 +    <item     android:id="@+id/action_open_file_with"                 android:title="@string/actionbar_open_with"                     android:icon="@android:drawable/ic_menu_edit"                                   android:orderInCategory="1" />
        <item   android:id="@+id/action_download_file"                  android:title="@string/filedetails_download"            android:icon="@drawable/ic_action_download"                                             android:orderInCategory="1" />
      <item     android:id="@+id/action_sync_file"                              android:title="@string/filedetails_sync_file"           android:icon="@drawable/ic_action_refresh"                                              android:orderInCategory="1" />
        <item   android:id="@+id/action_cancel_download"                android:title="@string/common_cancel_download"          android:icon="@android:drawable/ic_menu_close_clear_cancel"             android:orderInCategory="1" />
@@@ -28,5 -27,6 +28,6 @@@
        <item   android:id="@+id/action_rename_file"                    android:title="@string/common_rename"                           android:icon="@android:drawable/ic_menu_set_as"                                 android:orderInCategory="1" />
      <item     android:id="@+id/action_remove_file"                    android:title="@string/common_remove"                           android:icon="@android:drawable/ic_menu_delete"                                 android:orderInCategory="1" />
      <item     android:id="@+id/action_see_details"                    android:title="@string/actionbar_see_details"           android:icon="@android:drawable/ic_menu_info_details"                   android:orderInCategory="1" />
+     <item     android:id="@+id/action_share_file"                             android:title="@string/actionbar_share_file"            android:icon="@android:drawable/ic_menu_info_details"                   android:orderInCategory="1" />
      
  </menu>
@@@ -10,6 -10,7 +10,7 @@@
    <string name="actionbar_mkdir">Ordner anlegen</string>
    <string name="actionbar_settings">Einstellungen</string>
    <string name="actionbar_see_details">Details</string>
+   <string name="actionbar_share_file">Teile Datei</string>
    <string name="prefs_category_general">Allgemein</string>
    <string name="prefs_category_more">Mehr</string>
    <string name="prefs_accounts">Konten</string>
@@@ -27,6 -28,7 +28,6 @@@
    <string name="prefs_feedback">Rückmeldungen</string>
    <string name="prefs_imprint">Impressum</string>
    <string name="auth_check_server">Server überprüfen</string>
 -  <string name="auth_host_url">Adresse des Servers</string>
    <string name="auth_username">Benutzername</string>
    <string name="auth_password">Passwort</string>
    <string name="auth_register">Ist %1$s neu für Sie?</string>
@@@ -10,6 -10,7 +10,7 @@@
    <string name="actionbar_mkdir">Ordner anlegen</string>
    <string name="actionbar_settings">Einstellungen</string>
    <string name="actionbar_see_details">Details</string>
+   <string name="actionbar_share_file">Teile Datei</string>
    <string name="prefs_category_general">Allgemein</string>
    <string name="prefs_category_more">Mehr</string>
    <string name="prefs_accounts">Konten</string>
@@@ -30,7 -31,7 +31,7 @@@
    <string name="recommend_subject">Probieren Sie %1$s auf Ihrem Smartphone!</string>
    <string name="recommend_text">Ich möchte Sie zum Benutzen von %1$s auf Ihrem Smartphone einladen!\nLaden Sie es hier herunter: %2$s</string>
    <string name="auth_check_server">Server überprüfen</string>
 -  <string name="auth_host_url">Adresse des Servers</string>
 +  <string name="auth_host_url">Server-Adresse https://…</string>
    <string name="auth_username">Benutzername</string>
    <string name="auth_password">Passwort</string>
    <string name="auth_register">Ist %1$s neu für Sie?</string>
@@@ -55,8 -56,6 +56,8 @@@
    <string name="filedetails_download">Herunterladen</string>
    <string name="filedetails_sync_file">Datei aktualisieren</string>
    <string name="filedetails_renamed_in_upload_msg">Datei wurde wärend des Uploads zu %1$s umbenannt</string>
 +  <string name="action_share_file">Link teilen</string>
 +  <string name="action_unshare_file">Link nicht mehr freigeben</string>
    <string name="common_yes">Ja</string>
    <string name="common_no">Nein</string>
    <string name="common_ok">OK</string>
    <string name="sync_file_fail_msg">Die entfernte Datei konnte nicht überprüft werden</string>
    <string name="sync_file_nothing_to_do_msg">Dateiinhalte bereits synchronisiert</string>
    <string name="create_dir_fail_msg">Das Verzeichnis konnte nicht erstellt werden.</string>
 +  <string name="filename_forbidden_characters">Verbotene Zeichen: / \\ &lt; &gt; : \" | ? *</string>
    <string name="wait_a_moment">Bitte warten Sie einen Moment.</string>
    <string name="filedisplay_unexpected_bad_get_content">Ein unerwartetes Problem ist aufgetreten. Bitte versuchen Sie, die Datei in einer anderen App zu öffnen.</string>
    <string name="filedisplay_no_file_selected">Es wurde keine Datei ausgewählt.</string>
 +  <string name="activity_chooser_title">Link senden an ...</string>
    <string name="oauth_check_onoff">Anmelden mit oAuth2</string>
    <string name="oauth_login_connection">Verbinde mit dem oAuth2-Server…</string>
    <string name="ssl_validator_header">Die Identität der Website konnte nicht überprüft werden</string>
    <string name="preview_image_description">Bildvorschau</string>
    <string name="preview_image_error_unknown_format">Dieses Bild kann nicht angezeigt werden</string>
    <string name="error__upload__local_file_not_copied">%1$s konnte nicht in den lokalen %2$s Ordner kopiert werden</string>
 +  <string name="actionbar_failed_instant_upload">Sofort-Upload fehlgeschlagen</string>
    <string name="failed_upload_headline_text">Sofortige Uploads fehlgeschlagen</string>
    <string name="failed_upload_headline_hint">Zusammenfassung aller fehlgeschlagenen Uploads</string>
    <string name="failed_upload_all_cb">Alle auswählen</string>
    <string name="failed_upload_retry_do_nothing_text">Nicht durchgeführt - Nicht online für sofortigen Upload</string>
    <string name="failed_upload_failure_text">Fehlermeldung:</string>
    <string name="failed_upload_quota_exceeded_text">Bitte überprüfen Sie Ihre Serverkonfiguration. Vielleicht ist Ihr Nutzungslimit überschritten.</string>
 +  <string name="share_link_no_support_share_api">Entschuldigung, Freigaben sind auf Ihrem Server nicht aktiviert. Bitte kontaktieren Sie Ihren Administrator.</string>
 +  <string name="share_link_file_no_exist">Die Freigabe der Datei oder des Ordners ist nicht möglich. Bitte stellen Sie sicher, dass diese existiert.</string>
 +  <string name="share_link_file_error">Es ist ein Fehler beim Freigeben der Datei oder des Ordners aufgetreten.</string>
 +  <string name="unshare_link_file_error">Es ist ein Fehler beim Entfernen der Freigabe für diese Datei oder den Ordner aufgetreten.</string>
  </resources>
@@@ -10,6 -10,7 +10,7 @@@
    <string name="actionbar_mkdir">Ordner anlegen</string>
    <string name="actionbar_settings">Einstellungen</string>
    <string name="actionbar_see_details">Details</string>
+   <string name="actionbar_share_file">Teile Datei</string>
    <string name="prefs_category_general">Allgemein</string>
    <string name="prefs_category_more">Mehr</string>
    <string name="prefs_accounts">Konten</string>
@@@ -28,9 -29,9 +29,9 @@@
    <string name="prefs_feedback">Rückmeldungen</string>
    <string name="prefs_imprint">Impressum</string>
    <string name="recommend_subject">Probiere %1$s auf Deinem Smartphone!</string>
 -  <string name="recommend_text">Ich möchte Dich zum Benutzen von %1$s auf Deinem Smartphone einladen!\nLade es hier herunter: %2$s</string>
 +  <string name="recommend_text">Ich möchte Dich zu %1$s für Dein Smartphone einladen!\nLade es hier herunter: %2$s</string>
    <string name="auth_check_server">Überprüfe den Server</string>
 -  <string name="auth_host_url">Adresse des Servers</string>
 +  <string name="auth_host_url">Server-Adresse https://…</string>
    <string name="auth_username">Benutzername</string>
    <string name="auth_password">Passwort</string>
    <string name="auth_register">Ist %1$s neu für dich?</string>
@@@ -55,8 -56,6 +56,8 @@@
    <string name="filedetails_download">Herunterladen</string>
    <string name="filedetails_sync_file">Datei aktualisieren</string>
    <string name="filedetails_renamed_in_upload_msg">Datei wurde wärend des Uploads zu %1$s umbenannt</string>
 +  <string name="action_share_file">Link Teilen</string>
 +  <string name="action_unshare_file">Link nicht mehr freigeben</string>
    <string name="common_yes">Ja</string>
    <string name="common_no">Nein</string>
    <string name="common_ok">OK</string>
@@@ -96,7 -95,7 +97,7 @@@
    <string name="sync_fail_in_favourites_content">Inhalte von %1$d konnte nicht synchronisiert werden (%2$d Konflikte)</string>
    <string name="sync_foreign_files_forgotten_ticker">Einige lokale Dateien wurden vergessen</string>
    <string name="sync_foreign_files_forgotten_content">%1$d Dateien aus dem Verzeichnis %2$s konnten nicht kopiert werden nach</string>
 -  <string name="sync_foreign_files_forgotten_explanation">\"Mit Version 1.3.16 werden Dateien die von diesem Gerät aus hochgeladen werden in den lokalen Ordner %1$s kopiert um Datenverlust zu vermeiden, wenn eine einzelne Datei mit mehreren Accounts synchronisiert wird.\n\nInfolge dieser Änderung wurden alle Dateien, die mit vorherigen Versionen dieser App hochgeladen wurden, in den Ordner %2$s verschoben. Jedoch ist während der Account-Synchronisation ein Fehler aufgetreten, der das Abschließen dieses Vorgangs verhindert. Du kannst die Datei(en) entweder wie sie sind belassen und den Link zu %3$s entfernen oder die Datei(en) in den %1$s Ordner verschieben und  den Link zu %4$s beibehalten.\n\nUnten befindet sich eine Liste der lokalen Datei(en) und der mit ihnen verbundenen Remote-Datei(en) in %5$s.</string>
 +  <string name="sync_foreign_files_forgotten_explanation">\"Mit Version 1.3.16 werden Dateien die von diesem Gerät aus hochgeladen werden in den lokalen Ordner %1$s kopiert, um Datenverlust zu vermeiden, wenn eine einzelne Datei mit mehreren Accounts synchronisiert wird.\n\nInfolge dieser Änderung wurden alle Dateien, die mit vorherigen Versionen dieser App hochgeladen wurden, in den Ordner %2$s verschoben. Jedoch ist während der Account-Synchronisation ein Fehler aufgetreten, der das Abschließen dieses Vorgangs verhindert. Du kannst die Datei(en) entweder wie sie sind belassen und den Link zu %3$s entfernen, oder die Datei(en) in den %1$s Ordner verschieben, und  den Link zu %4$s beibehalten.\n\nUnten befindet sich eine Liste der lokalen Datei(en) und der mit ihnen verbundenen Remote-Datei(en) in %5$s.</string>
    <string name="sync_current_folder_was_removed">Das Verzeichnis %1$s existiert nicht mehr</string>
    <string name="foreign_files_move">Verschiebe alle</string>
    <string name="foreign_files_success">Alle Dateien wurden verschoben</string>
    <string name="auth_oauth_error">Autorisierung nicht erfolgreich</string>
    <string name="auth_oauth_error_access_denied">Zugriff durch den Autorisierungsserver abgelehnt</string>
    <string name="auth_wtf_reenter_URL">Unerwarteter Zustand; bitte gib die URL des Servers nochmals ein</string>
 -  <string name="auth_expired_oauth_token_toast">Ihre Autorisierung ist abgelaufen. Bitte Autorisierung nochmals durchführen</string>
 +  <string name="auth_expired_oauth_token_toast">Deine Autorisierung ist abgelaufen. Bitte Autorisierung nochmals durchführen</string>
    <string name="auth_expired_basic_auth_toast">Bitte gib dein aktuelles Passwort ein</string>
 -  <string name="auth_expired_saml_sso_token_toast">Ihre Sitzung ist abgelaufen. Bitte Anmeldung nochmals durchführen</string>
 +  <string name="auth_expired_saml_sso_token_toast">Deine Sitzung ist abgelaufen. Bitte Anmeldung nochmals durchführen</string>
    <string name="auth_connecting_auth_server">Verbinde mit dem Authentifizierung-Server…</string>
    <string name="auth_unsupported_auth_method">Der Server unterstützt diese Authentifizierung-Methode nicht</string>
    <string name="auth_unsupported_multiaccount">%1$s unterstützt nicht mehrere Benutzerkonten</string>
    <string name="sync_file_fail_msg">Die entfernte Datei konnte nicht überprüft werden</string>
    <string name="sync_file_nothing_to_do_msg">Dateiinhalte bereits synchronisiert</string>
    <string name="create_dir_fail_msg">Das Verzeichnis konnte nicht erstellt werden.</string>
 +  <string name="filename_forbidden_characters">Verbotene Zeichen: / \\ &lt; &gt; : \" | ? *</string>
    <string name="wait_a_moment">Bitte warte einen Moment.</string>
    <string name="filedisplay_unexpected_bad_get_content">Ein unerwartetes Problem ist aufgetreten. Bitte versuche, die Datei in einer anderen App zu öffnen</string>
    <string name="filedisplay_no_file_selected">Es wurde keine Datei ausgewählt.</string>
 +  <string name="activity_chooser_title">Link senden an ...</string>
    <string name="oauth_check_onoff">Anmelden mit oAuth2</string>
    <string name="oauth_login_connection">Verbinde mit dem oAuth2-Server.</string>
    <string name="ssl_validator_header">Die Identität der Website konnte nicht überprüft werden</string>
    <string name="preview_image_description">Bildvorschau</string>
    <string name="preview_image_error_unknown_format">Dieses Bild kann nicht angezeigt werden</string>
    <string name="error__upload__local_file_not_copied">%1$s konnte nicht in den lokalen %2$s Ordner kopiert werden</string>
 +  <string name="actionbar_failed_instant_upload">Sofort-Upload fehlgeschlagen</string>
    <string name="failed_upload_headline_text">SofortUpload fehlgeschlagen</string>
    <string name="failed_upload_headline_hint">Übersicht aller fehlgeschlagenen SofortUploads</string>
    <string name="failed_upload_all_cb">Alles auswählen</string>
    <string name="failed_upload_retry_do_nothing_text">Nicht durchgeführt - Nicht online für sofortigen Upload</string>
    <string name="failed_upload_failure_text">Fehlermeldung:</string>
    <string name="failed_upload_quota_exceeded_text">Bitte überprüfe Deine Servereinstellungen. Eventuell ist Dein Nutzungslimit überschritten.</string>
 +  <string name="share_link_no_support_share_api">Entschuldigung, Freigaben sind auf Deinem Server nicht aktiviert. Bitte kontaktiere Deinen Administrator.</string>
 +  <string name="share_link_file_no_exist">Die Freigabe der Datei oder des Ordners ist nicht möglich. Bitte stelle sicher, dass diese existiert.</string>
 +  <string name="share_link_file_error">Es ist ein Fehler beim Freigeben der Datei oder des Ordners aufgetreten.</string>
 +  <string name="unshare_link_file_error">Es ist ein Fehler beim Entfernen der Freigabe für diese Datei oder den Ordner aufgetreten.</string>
  </resources>
@@@ -10,6 -10,7 +10,7 @@@
    <string name="actionbar_mkdir">Create directory</string>
    <string name="actionbar_settings">Settings</string>
    <string name="actionbar_see_details">Details</string>
+   <string name="actionbar_share_file">Share</string>
    <string name="prefs_category_general">General</string>
    <string name="prefs_category_more">More</string>
    <string name="prefs_accounts">Accounts</string>
@@@ -30,7 -31,7 +31,7 @@@
    <string name="recommend_subject">Try %1$s on your smartphone!</string>
    <string name="recommend_text">I want to invite you to use %1$s on your smartphone!\nDownload here: %2$s</string>
    <string name="auth_check_server">Check Server</string>
 -  <string name="auth_host_url">Server address</string>
 +  <string name="auth_host_url">Server address https://…</string>
    <string name="auth_username">Username</string>
    <string name="auth_password">Password</string>
    <string name="auth_register">New to %1$s?</string>
@@@ -55,8 -56,6 +56,8 @@@
    <string name="filedetails_download">Download</string>
    <string name="filedetails_sync_file">Refresh file</string>
    <string name="filedetails_renamed_in_upload_msg">File was renamed to %1$s during upload</string>
 +  <string name="action_share_file">Share link</string>
 +  <string name="action_unshare_file">Unshare link</string>
    <string name="common_yes">Yes</string>
    <string name="common_no">No</string>
    <string name="common_ok">OK</string>
    <string name="wait_a_moment">Wait a moment</string>
    <string name="filedisplay_unexpected_bad_get_content">Unexpected problem; please select the file from a different app</string>
    <string name="filedisplay_no_file_selected">No file was selected</string>
 +  <string name="activity_chooser_title">Send link to …</string>
    <string name="oauth_check_onoff">Log in with oAuth2</string>
    <string name="oauth_login_connection">Connecting to oAuth2 server…</string>
    <string name="ssl_validator_header">The identity of the site could not be verified</string>
    <string name="failed_upload_retry_do_nothing_text">do nothing you are not online for instant upload</string>
    <string name="failed_upload_failure_text">Failure Message: </string>
    <string name="failed_upload_quota_exceeded_text">Please check your server configuration, perhaps your quota is exceeded.</string>
 +  <string name="share_link_no_support_share_api">Sorry, sharing is not enabled on your server. Please contact your administrator.</string>
 +  <string name="share_link_file_no_exist">Unable to share this file or folder. Please, make sure it exists</string>
 +  <string name="share_link_file_error">An error occurred while trying to share this file or folder</string>
 +  <string name="unshare_link_file_error">An error occurred while trying to unshare this file or folder</string>
  </resources>
diff --combined res/values/strings.xml
@@@ -11,7 -11,7 +11,7 @@@
      <string name="actionbar_mkdir">Create directory</string>
      <string name="actionbar_settings">Settings</string>
      <string name="actionbar_see_details">Details</string>
-     
+     <string name="actionbar_share_file">Share</string>
      <string name="prefs_category_general">General</string>
      <string name="prefs_category_more">More</string>
      <string name="prefs_accounts">Accounts</string>
@@@ -34,7 -34,7 +34,7 @@@
        <string name="recommend_text">"I want to invite you to use %1$s on your smartphone!\nDownload here: %2$s"</string>  
  
      <string name="auth_check_server">Check Server</string>
 -    <string name="auth_host_url">Server address</string>
 +    <string name="auth_host_url">Server address https://…</string>
      <string name="auth_username">Username</string>
      <string name="auth_password">Password</string>
      <string name="auth_register">New to %1$s?</string>
@@@ -59,8 -59,6 +59,8 @@@
      <string name="filedetails_download">Download</string>
      <string name="filedetails_sync_file">Refresh file</string>
      <string name="filedetails_renamed_in_upload_msg">File was renamed to %1$s during upload</string>
 +    <string name="action_share_file">Share link</string>
 +    <string name="action_unshare_file">Unshare link</string>
      <string name="common_yes">Yes</string>
      <string name="common_no">No</string>
      <string name="common_ok">OK</string>
      <string name="wait_a_moment">Wait a moment</string>
      <string name="filedisplay_unexpected_bad_get_content">"Unexpected problem ; please select the file from a different app"</string>
      <string name="filedisplay_no_file_selected">No file was selected</string>
 +    <string name="activity_chooser_title">Send link to &#8230;</string>
      
      <string name="oauth_check_onoff">Login with oAuth2</string> 
      <string name="oauth_login_connection">Connecting to oAuth2 server…</string>    
      <string name="failed_upload_retry_do_nothing_text">do nothing you are not online for instant upload</string>
        <string name="failed_upload_failure_text">Failure Message: </string>
        <string name="failed_upload_quota_exceeded_text">Please check your server configuration,maybe your quota is exceeded.</string>
 +      
 +      <string name="share_link_no_support_share_api">Sorry, sharing is not enabled on your server. Please contact your administrator.</string>
 +      <string name="share_link_file_no_exist">Unable to share this file or folder. Please, make sure it exists</string>
 +      <string name="share_link_file_error">An error occurred while trying to share this file or folder</string>
 +      <string name="unshare_link_file_error">An error occurred while trying to unshare this file or folder</string>
  </resources>
@@@ -25,10 -25,11 +25,10 @@@ import com.owncloud.android.R
  import com.owncloud.android.authentication.AccountUtils;
  import com.owncloud.android.datamodel.FileDataStorageManager;
  import com.owncloud.android.datamodel.OCFile;
 -import com.owncloud.android.files.FileHandler;
  import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;
  import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
 -import com.owncloud.android.oc_framework.operations.OnRemoteOperationListener;
 -import com.owncloud.android.oc_framework.operations.RemoteOperation;
 +import com.owncloud.android.lib.operations.common.OnRemoteOperationListener;
 +import com.owncloud.android.lib.operations.common.RemoteOperation;
  import com.owncloud.android.operations.RemoveFileOperation;
  import com.owncloud.android.operations.RenameFileOperation;
  import com.owncloud.android.operations.SynchronizeFileOperation;
@@@ -42,9 -43,10 +42,10 @@@ import com.owncloud.android.ui.preview.
  import com.owncloud.android.ui.preview.PreviewMediaFragment;
  import com.owncloud.android.utils.Log_OC;
  
  import android.accounts.Account;
  import android.app.Activity;
+ import android.content.Intent;
+ import android.net.Uri;
  import android.os.Bundle;
  import android.os.Handler;
  import android.view.ContextMenu;
@@@ -182,8 -184,8 +183,8 @@@ public class OCFileListFragment extend
                          // media preview
                          mContainerActivity.startMediaPreview(file, 0, true);
                      } else {
 -                        // open with
 -                        mContainerActivity.openFile(file);
 +                        FileDisplayActivity activity = (FileDisplayActivity) getSherlockActivity();
 +                        activity.getFileOperationsHelper().openFile(file, activity);
                      }
                      
                  } else {
              toHide.add(R.id.action_cancel_upload);
              toHide.add(R.id.action_sync_file);
              toHide.add(R.id.action_see_details);
+             toHide.add(R.id.action_share_file);
              if (    mContainerActivity.getFileDownloaderBinder().isDownloading(AccountUtils.getCurrentOwnCloudAccount(getActivity()), targetFile) ||
                      mContainerActivity.getFileUploaderBinder().isUploading(AccountUtils.getCurrentOwnCloudAccount(getActivity()), targetFile)           ) {
                  toDisable.add(R.id.action_rename_file);
          AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();        
          mTargetFile = (OCFile) mAdapter.getItem(info.position);
          switch (item.getItemId()) {
 +            case R.id.action_share_file: {
 +                FileDisplayActivity activity = (FileDisplayActivity) getSherlockActivity();
 +                activity.getFileOperationsHelper().shareFileWithLink(mTargetFile, activity);
 +                return true;
 +            }
              case R.id.action_rename_file: {
                  String fileName = mTargetFile.getFileName();
                  int extensionStart = mTargetFile.isFolder() ? -1 : fileName.lastIndexOf(".");
                  ((FileFragment.ContainerActivity)getActivity()).showDetails(mTargetFile);
                  return true;
              }
+             case R.id.action_share_file: {
+                 Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
+                 // set MimeType
+                 sharingIntent.setType(mTargetFile.getMimetype());
+                 sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+mTargetFile.getStoragePath()));
+                 startActivity(Intent.createChooser(sharingIntent, "Share via")); 
+                 return true;
+             }
              default:
                  return super.onContextItemSelected(item); 
          }
       * 
       * @author David A. Velasco
       */
 -    public interface ContainerActivity extends TransferServiceGetter, OnRemoteOperationListener, FileHandler {
 +    public interface ContainerActivity extends TransferServiceGetter, OnRemoteOperationListener {
  
          /**
           * Callback method invoked when a the user browsed into a different folder through the list of files
@@@ -16,6 -16,7 +16,6 @@@
   */
  package com.owncloud.android.ui.preview;
  
 -import java.io.File;
  import java.lang.ref.WeakReference;
  import java.util.ArrayList;
  import java.util.List;
@@@ -52,12 -53,11 +52,12 @@@ import com.actionbarsherlock.view.MenuI
  import com.owncloud.android.R;
  import com.owncloud.android.datamodel.FileDataStorageManager;
  import com.owncloud.android.datamodel.OCFile;
 -import com.owncloud.android.oc_framework.network.webdav.WebdavUtils;
 -import com.owncloud.android.oc_framework.operations.OnRemoteOperationListener;
 -import com.owncloud.android.oc_framework.operations.RemoteOperation;
 -import com.owncloud.android.oc_framework.operations.RemoteOperationResult;
 +import com.owncloud.android.lib.network.webdav.WebdavUtils;
 +import com.owncloud.android.lib.operations.common.OnRemoteOperationListener;
 +import com.owncloud.android.lib.operations.common.RemoteOperation;
 +import com.owncloud.android.lib.operations.common.RemoteOperationResult;
  import com.owncloud.android.operations.RemoveFileOperation;
 +import com.owncloud.android.ui.activity.FileActivity;
  import com.owncloud.android.ui.fragment.ConfirmationDialogFragment;
  import com.owncloud.android.ui.fragment.FileFragment;
  import com.owncloud.android.utils.Log_OC;
@@@ -248,11 -248,6 +248,11 @@@ public class PreviewImageFragment exten
      @Override
      public boolean onOptionsItemSelected(MenuItem item) {
          switch (item.getItemId()) {
 +            case R.id.action_share_file: {
 +                FileActivity act = (FileActivity)getSherlockActivity();
 +                act.getFileOperationsHelper().shareFileWithLink(getFile(), act);
 +                return true;
 +            }
              case R.id.action_open_file_with: {
                  openFile();
                  return true;
                  seeDetails();
                  return true;
              }
+             case R.id.action_share_file: {
+                 shareFile();
+                 return true;
+             }
              
              default:
                  return false;
          }
      }
+     
+     private void shareFile(){
+         Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
+         // set MimeType
+         sharingIntent.setType(getFile().getMimetype());
+         sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+getFile().getStoragePath()));
+         startActivity(Intent.createChooser(sharingIntent, "Share via"));
+     }
  
      
      private void seeDetails() {
       */
      @Override
      public void onNeutral(String callerTag) {
 -        // TODO this code should be made in a secondary thread,
          OCFile file = getFile();
 -        if (file.isDown()) {   // checks it is still there
 -            File f = new File(file.getStoragePath());
 -            f.delete();
 -            file.setStoragePath(null);
 -            mStorageManager.saveFile(file);
 -            finish();
 -        }
 +        mStorageManager.removeFile(file, false, true);    // TODO perform in background task / new thread
 +        finish();
      }
      
      /**