Example #1
0
        /*
         * Downloads file for sharing
         * Displays Share UI
         */
        public static async void ShareImage(object sender, RoutedEventArgs e, Image img)
        {
            string fileName = img.Name + ".gif";

            if (await ApplicationData.Current.TemporaryFolder.TryGetItemAsync(fileName) == null)
            {
                var httpClient = new HttpClient();

                var OriginalUrl = ((BitmapImage)img.Source).UriSource.OriginalString;
                var RequestUri  = Uri.IsWellFormedUriString(GiphyImage.ConvertSourceType(OriginalUrl, SettingsItem.GifQuality), UriKind.Absolute) ?
                                  new Uri(GiphyImage.ConvertSourceType(OriginalUrl, SettingsItem.GifQuality)) :
                                  new Uri(GiphyImage.ConvertSourceType(OriginalUrl, "High"));

                HttpResponseMessage message = await httpClient.GetAsync(RequestUri);

                StorageFolder myfolder   = ApplicationData.Current.TemporaryFolder;
                StorageFile   SampleFile = await myfolder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);

                byte[] file = await message.Content.ReadAsByteArrayAsync();

                await FileIO.WriteBytesAsync(SampleFile, file);

                var files = await myfolder.GetFilesAsync();
            }

            Global.shareFileName = fileName;
            DataTransferManager.ShowShareUI();

            //Add to Recents database
            var data = new Recents();

            data.Giphy_Id = img.Name;
            data.Url      = ((BitmapImage)img.Source).UriSource.OriginalString;
            GifologyDatabase.InsertUpdateRecent(data);
        }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        public HomeViewModel()
        {
            //Headers.CollectionChanged += Headers_CollectionChanged;

            Headers.Add(new Header {
                IsSelected = false, Name = "Recents", Tag = "Recents", HeaderType = HeaderType.Recents
            });
            Headers.Add(new Header {
                IsSelected = false, Name = "Devices", Tag = "Devices", HeaderType = HeaderType.Devices
            });
            Headers.Add(new Header {
                IsSelected = true, Name = "Home", Tag = "Home", HeaderType = HeaderType.Home
            });
            Headers.Add(new Header {
                IsSelected = false, Name = "Onyx", Tag = "Onyx", HeaderType = HeaderType.Onyx
            });
#if DEBUG
            Headers.Add(new Header {
                IsSelected = false, Name = "Development", Tag = "Development", HeaderType = HeaderType.Development
            });
#endif

            for (var i = 0; i < new Random().Next(8, 16); i++)
            {
                Recents.Add(new Recent {
                    Name = string.Format("Test {0}", i)
                });
            }

            Recents.CollectionChanged += RecentsOnCollectionChanged;
            Headers.CollectionChanged += HeadersOnCollectionChanged;
            RecentsOnCollectionChanged(null, null);
        }
        public static void Push(Emojicon emojicon)
        {
            if (Recents.Contains(emojicon))
            {
                Recents.Remove(emojicon);
            }

            Recents.Insert(0, emojicon);
            SaveRecents();
        }
        private static void SaveRecents()
        {
            if (Recents.Count == MAX_SAVE)
            {
                Recents.RemoveRange(0, 1);
            }

            var saveString = string.Empty;

            foreach (var emoji in Recents.Where(x => x.Value != string.Empty))
            {
                saveString += emoji.Value.Replace(":", string.Empty) + "#";
            }

            Preferences.Edit().PutString(PREF_RECENTS, saveString).Commit();
        }
Example #5
0
        /*
         * Event handler to copy image URL to clipboard
         */
        public static void CopyImageUrl(object sender, RoutedEventArgs e, Image img)
        {
            DataPackage dataPackage = new DataPackage();
            var         url         = ConvertSourceType(((BitmapImage)img.Source).UriSource.OriginalString, "original");

            dataPackage.RequestedOperation = DataPackageOperation.Copy;
            dataPackage.SetText(url);
            Clipboard.SetContent(dataPackage);
            Clipboard.Flush();

            //Add to Recents database
            var data = new Recents();

            data.Giphy_Id = img.Name;
            data.Url      = url;
            GifologyDatabase.InsertUpdateRecent(data);
        }
Example #6
0
        public async Task LoadAsync(object param)
        {
            await Task.Run(() =>
            {
                var settings      = App.liteDB.GetCollection <SettingsPreferences>().FindById(0);
                var sortedRecents = App.liteDB.GetCollection <RecentVisualized>().FindAll().OrderByDescending(p => p.Date).ToList();

                if (!settings.ShowNSFW)
                {
                    var collection = sortedRecents.Where(p => !p.FavoritedAnime.IsNSFW);
                    Recents.ReplaceRange(collection);
                }
                else
                {
                    Recents.ReplaceRange(sortedRecents);
                }
            });
        }
        public IHttpActionResult updateRecents(Recents rec)
        {
            var collection = mongoDb.GetCollection <Users>("Users");
            WriteConcernResult result;

            IMongoQuery query = Query.EQ("UserName", rec.user);

            BsonArray test = new BsonArray();

            test.Add(rec.From);
            test.Add(rec.To);
            IMongoUpdate update = Update
                                  .Push("Recents", test);

            result = collection.Update(query, update);

            return(Ok(rec.From));
        }
Example #8
0
        private async Task OnClearAllRecent()
        {
            if (Recents.Count == 0)
            {
                return;
            }

            bool canNavigate = await NavigationManager.CanPopUpNavigateAsync <ChoiceModalViewModel>();

            if (canNavigate)
            {
                var confirmDelegateAction = new Action(() =>
                {
                    App.liteDB.GetCollection <RecentVisualized>().DeleteAll();

                    Recents.Clear();
                });

                await NavigationManager.NavigatePopUpAsync <ChoiceModalViewModel>(Lang.Lang.ClearRecentList, Lang.Lang.ClearCannotBeUndone, confirmDelegateAction);
            }
        }
Example #9
0
        public IEnumerable <Recents> GetRecents(Users users)
        {
            try
            {
                var collection = mongoDb.GetCollection <Users>("Users");
                var user       = collection.FindOne(Query.EQ("UserName", users.UserName));

                List <Recents> recentsList = new List <Recents>();
                foreach (BsonArray recentBson in user.Recents)
                {
                    var recents = new Recents();
                    recents.From = recentBson[0].ToString();
                    recents.To   = recentBson[1].ToString();
                    recentsList.Add(recents);
                }

                return(recentsList);
            }
            catch (Exception e)
            {
                throw new ApplicationException(e.ToString());
            }
        }
 public static void Remove(Emojicon emojicon)
 {
     Recents.Remove(emojicon);
     SaveRecents();
 }
 public static void Add(int index, Emojicon emojicon)
 {
     Recents.Insert(index, emojicon);
 }
 public static void Add(Emojicon emojicon)
 {
     Recents.Add(emojicon);
     SaveRecents();
 }