mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-01 09:47:22 +13:00
OneDrive folder upload support in UI
Fixed Box selected folder not being saved
This commit is contained in:
parent
1af3dc6a9d
commit
83b915b024
5 changed files with 24 additions and 21 deletions
|
@ -220,6 +220,8 @@ public OneDrivePathInfo GetPathInfo(string path)
|
|||
Dictionary<string, string> args = new Dictionary<string, string>();
|
||||
args.Add("access_token", AuthInfo.Token.access_token);
|
||||
|
||||
if (!path.EndsWith("files")) path += "/files";
|
||||
|
||||
string url = CreateQuery(URLHelpers.CombineURL("https://apis.live.net/v5.0", path), args);
|
||||
|
||||
string response = SendRequest(HttpMethod.GET, url);
|
||||
|
|
|
@ -339,6 +339,7 @@ public void LoadSettings(UploadersConfig uploadersConfig)
|
|||
}
|
||||
|
||||
cbOneDriveCreateShareableLink.Checked = Config.OneDriveAutoCreateShareableLink;
|
||||
lblOneDriveFolderID.Text = Resources.UploadersConfigForm_LoadSettings_Selected_folder_ + " " + Config.OneDriveSelectedFolder.name;
|
||||
|
||||
// Minus
|
||||
|
||||
|
@ -1148,6 +1149,19 @@ private void btnOneDriveRefreshFolders_Click(object sender, EventArgs e)
|
|||
OneDriveListFolders();
|
||||
}
|
||||
|
||||
private void lvOneDriveFolders_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (lvOneDriveFolders.SelectedItems.Count > 0)
|
||||
{
|
||||
ListViewItem lvi = lvOneDriveFolders.SelectedItems[0];
|
||||
OneDriveFileInfo file = lvi.Tag as OneDriveFileInfo;
|
||||
if (file != null)
|
||||
{
|
||||
lblOneDriveFolderID.Text = Resources.UploadersConfigForm_LoadSettings_Selected_folder_ + " " + file.name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void lvOneDriveFolders_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.Button == MouseButtons.Left && lvOneDriveFolders.SelectedItems.Count > 0)
|
||||
|
@ -1158,6 +1172,7 @@ private void lvOneDriveFolders_MouseDoubleClick(object sender, MouseEventArgs e)
|
|||
{
|
||||
lvOneDriveFolders.Items.Clear();
|
||||
OneDriveListFolders(file);
|
||||
Config.OneDriveSelectedFolder = file;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1277,6 +1292,7 @@ private void lvBoxFolders_MouseDoubleClick(object sender, MouseEventArgs e)
|
|||
{
|
||||
lvBoxFolders.Items.Clear();
|
||||
BoxListFolders(file);
|
||||
Config.BoxSelectedFolder = file;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -992,14 +992,10 @@ public void OneDriveListFolders(OneDriveFileInfo fileEntry)
|
|||
else
|
||||
{
|
||||
OneDrive onedrive = new OneDrive(Config.OneDriveOAuth2Info);
|
||||
//OneDriveFileInfo files = onedrive.GetFiles(fileEntry);
|
||||
//if (files != null && files.entries != null && files.entries.Length > 0)
|
||||
//{
|
||||
// foreach (OneDriveFileInfo folder in files.entries.Where(x => x.type == "folder"))
|
||||
// {
|
||||
// OneDriveAddFolder(folder);
|
||||
// }
|
||||
//}
|
||||
foreach (OneDriveFileInfo folder in onedrive.GetPathInfo(fileEntry.id).data.Where(x => x.id.StartsWith("folder.")))
|
||||
{
|
||||
OneDriveAddFolder(folder);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1010,19 +1006,6 @@ private void OneDriveAddFolder(OneDriveFileInfo folder)
|
|||
lvOneDriveFolders.Items.Add(lvi);
|
||||
}
|
||||
|
||||
private void lvOneDriveFolders_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (lvOneDriveFolders.SelectedItems.Count > 0)
|
||||
{
|
||||
ListViewItem lvi = lvOneDriveFolders.SelectedItems[0];
|
||||
OneDriveFileInfo file = lvi.Tag as OneDriveFileInfo;
|
||||
if (file != null)
|
||||
{
|
||||
lblOneDriveFolderID.Text = Resources.UploadersConfigForm_LoadSettings_Selected_folder_ + " " + file.name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion OneDrive
|
||||
|
||||
#region Minus
|
||||
|
|
|
@ -124,6 +124,7 @@ public class UploadersConfig : SettingsBase<UploadersConfig>
|
|||
// OneDrive
|
||||
|
||||
public OAuth2Info OneDriveOAuth2Info = null;
|
||||
public OneDriveFileInfo OneDriveSelectedFolder = OneDrive.RootFolder;
|
||||
public bool OneDriveAutoCreateShareableLink = true;
|
||||
|
||||
// Copy
|
||||
|
|
|
@ -832,6 +832,7 @@ public UploadResult UploadFile(Stream stream, string fileName)
|
|||
case FileDestination.OneDrive:
|
||||
fileUploader = new OneDrive(Program.UploadersConfig.OneDriveOAuth2Info)
|
||||
{
|
||||
FolderID = Program.UploadersConfig.OneDriveSelectedFolder.id,
|
||||
AutoCreateShareableLink = Program.UploadersConfig.OneDriveAutoCreateShareableLink
|
||||
};
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue