public ImgurHistoryViewModel(
     IImgurConfiguration imgurConfiguration,
     ImgurApi imgurApi,
     IImgurLanguage imgurLanguage,
     IGreenshotLanguage greenshotLanguage
     )
 {
     ImgurConfiguration = imgurConfiguration;
     ImgurApi           = imgurApi;
     ImgurLanguage      = imgurLanguage;
     GreenshotLanguage  = greenshotLanguage;
 }
 public ImgurConfigViewModel(
     IImgurConfiguration imgurConfiguration,
     IImgurLanguage imgurLanguage,
     IWindowManager windowManager,
     Func <Owned <ImgurHistoryViewModel> > imgurHistoryViewModelFactory,
     FileConfigPartViewModel fileConfigPartViewModel
     )
 {
     ImgurConfiguration           = imgurConfiguration;
     ImgurLanguage                = imgurLanguage;
     WindowManager                = windowManager;
     ImgurHistoryViewModelFactory = imgurHistoryViewModelFactory;
     FileConfigPartViewModel      = fileConfigPartViewModel;
 }
Example #3
0
 public ImgurDestination(
     ICoreConfiguration coreConfiguration,
     IGreenshotLanguage greenshotLanguage,
     IImgurConfiguration imgurConfiguration,
     IImgurLanguage imgurLanguage,
     ImgurApi imgurApi,
     ImgurHistoryViewModel imgurHistoryViewModel,
     Func <CancellationTokenSource, Owned <PleaseWaitForm> > pleaseWaitFormFactory,
     IResourceProvider resourceProvider) : base(coreConfiguration, greenshotLanguage)
 {
     _imgurConfiguration    = imgurConfiguration;
     _imgurLanguage         = imgurLanguage;
     _imgurApi              = imgurApi;
     _imgurHistoryViewModel = imgurHistoryViewModel;
     _pleaseWaitFormFactory = pleaseWaitFormFactory;
     _resourceProvider      = resourceProvider;
 }
Example #4
0
        public ImgurApi(
            IImgurConfiguration imgurConfiguration,
            ICoreConfiguration coreConfiguration,
            INetworkConfiguration networkConfiguration)
        {
            _imgurConfiguration = imgurConfiguration;
            _coreConfiguration  = coreConfiguration;
            // Configure the OAuth2 settings for Imgur communication
            _oauth2Settings = new OAuth2Settings
            {
                AuthorizationUri = new Uri("https://api.imgur.com").AppendSegments("oauth2", "authorize").
                                   ExtendQuery(new Dictionary <string, string>
                {
                    { "response_type", "code" },
                    { "client_id", "{ClientId}" },
                    { "redirect_uri", "{RedirectUrl}" },
                    // TODO: Add version?
                    { "state", "{State}" }
                }),
                TokenUrl         = new Uri("https://api.imgur.com/oauth2/token"),
                CloudServiceName = "Imgur",
                ClientId         = imgurConfiguration.ClientId,
                ClientSecret     = imgurConfiguration.ClientSecret,
                RedirectUrl      = "https://getgreenshot.org/oauth/imgur",
                AuthorizeMode    = AuthorizeModes.OutOfBoundAuto,
                Token            = imgurConfiguration
            };

            Behaviour = new HttpBehaviour
            {
                HttpSettings        = networkConfiguration,
                JsonSerializer      = new JsonNetJsonSerializer(),
                OnHttpClientCreated = httpClient =>
                {
                    httpClient.SetAuthorization("Client-ID", _imgurConfiguration.ClientId);
                    httpClient.DefaultRequestHeaders.ExpectContinue = false;
                }
            };
        }
Example #5
0
 public ImgurDestination(IImgurConfiguration imgurConfiguration, IImgurLanguage imgurLanguage)
 {
     _imgurConfiguration = imgurConfiguration;
     _imgurLanguage      = imgurLanguage;
     // Configure the OAuth2 settings for Imgur communication
     _oauth2Settings = new Dapplo.HttpExtensions.OAuth.OAuth2Settings
     {
         AuthorizationUri = new Uri("https://api.imgur.com").AppendSegments("oauth2", "authorize").
                            ExtendQuery(new Dictionary <string, string>
         {
             { "response_type", "code" },
             { "client_id", "{ClientId}" },
             { "redirect_uri", "{RedirectUrl}" },
             { "state", "{State}" }
         }),
         TokenUrl         = new Uri("https://api.imgur.com/oauth2/token"),
         CloudServiceName = "Imgur",
         ClientId         = imgurConfiguration.ClientId,
         ClientSecret     = imgurConfiguration.ClientSecret,
         RedirectUrl      = "http://getgreenshot.org",
         AuthorizeMode    = AuthorizeModes.EmbeddedBrowser,
         Token            = imgurConfiguration
     };
 }