Ejemplo n.º 1
0
        private async void StartWithArguments()
        {
            CommandlineArgs args = CommandLineHelper.GetCommandlineArguments();

            switch (args.Argument)
            {
            case CommandLineHelper.Argument.Autostart:
                //Tray with Hotkeys
                await StartTray.Initialize(this);

                break;

            case CommandLineHelper.Argument.Gif:
                //GIF Recording Capture
                using (GifWindow window = new GifWindow())
                    window.ShowDialog();
                break;

            case CommandLineHelper.Argument.Snipe:
                //Normal Image Capture
                using (ScreenshotWindow window = new ScreenshotWindow())
                    window.ShowDialog();
                break;

            case CommandLineHelper.Argument.Upload:
                //Context Menu Instant Upload
                if (args.UploadFiles.Count > 1)
                {
                    //1 or more files
                    //TODO: Implement "%1" more than 1
                    await StartUpload.UploadMultiple(args.UploadFiles);
                }
                else if (args.UploadFiles.Count == 1)
                {
                    //1 File
                    await StartUpload.UploadSingle(args.UploadFiles[0]);
                }
                else
                {
                    //No Image File detected
                    await Statics.ShowNotificationAsync(Properties.strings.notAnImage, NotificationWindow.NotificationType.Error);
                }
                break;
            }

            //Wait for every Notification to close
            if (NotificationWindow.IsShown)
            {
                await Task.Delay(NotificationWindow.ShowDuration);
            }

            Application.Current.Shutdown();
        }
Ejemplo n.º 2
0
        public FileTransferManager(string UploadLocation)
        {
            _files = new ObservableCollection<FileTransfer>();
            _entryDispatcher = Dispatcher.CurrentDispatcher;
            _fileEnqueuedEvent += new FileTransferChange(OnFileEnqueued);
            _fileDequeuedEvent += new FileTransferChange(OnFileDequeued);
            _startUploadEvent += new StartUpload(StartNextUpload);

            _reset = new AutoResetEvent(false);

            _uploadLocation = UploadLocation;
            _uploadThread = new Thread(new ParameterizedThreadStart(run));

            _wc = new WebClient();
            _wc.UploadProgressChanged += new UploadProgressChangedEventHandler(UploadProgressChanged);
            _wc.UploadFileCompleted += new UploadFileCompletedEventHandler(UploadFileCompleted);
        }