Ejemplo n.º 1
0
        private void Heart_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            Image         obj     = (Image)sender;
            Grid          grid    = (Grid)obj.Parent;
            DoujinControl control = (DoujinControl)grid.Parent;
            int           nhId    = (int)control.img.Tag;

            if (DoujinUtility.CheckFavorised(new Doujin(nhId)))
            {
                DatabaseControler.favorites.FindBynHentaiID(nhId).favorite     = false;
                DatabaseControler.mainDataTable.FindBynHentaiID(nhId).favorite = false;
                control.heart.Source = new BitmapImage(new Uri("pack://application:,,,/heart_nofav.png"));
                DatabaseControler.favorites.RemoveDoujinDataRow(DatabaseControler.favorites.FindBynHentaiID(nhId));

                DatabaseControler.favorites.WriteXml(DatabaseControler.favDataPath);
            }
            else
            {
                Doujin doujin = new Doujin(nhId);
                DatabaseControler.mainDataTable.FindBynHentaiID(nhId).favorite = true;
                control.heart.Source = new BitmapImage(new Uri("pack://application:,,,/heart_fav.png"));
                DoujinUtility.AddDoujinDataRow(doujin, DatabaseControler.favorites);
                DatabaseControler.favorites.WriteXml(DatabaseControler.favDataPath);
                //.Add();

                var notify = Notifications.Notifications.NotificationNoImg(doujin.name, "", "The doujin got favorised and you can acess it at your favourite page");

                DoujinUtility.MainWindow.notificationPanellul.Children.Add(notify);
            }
        }
Ejemplo n.º 2
0
        public void Page(int page)
        {
            try
            {
                Result        result          = DoujinUtility.OutdatedSearch(generalSearch.Text, tagsSearch.Text, artistSearch.Text, charaSearch.Text, parodySearch.Text, popOrder, searchLang(), page);
                List <Doujin> localDoujinList = result.doujinshi;
                foreach (Doujin doujin in result.doujinshi)
                {
                    //Image img = new Image();


                    //Doujin doujin = result.doujinshi.ElementAt(result.images.IndexOf(img));
                    DoujinControl doujinControl = new DoujinControl(doujin);

                    //Console.WriteLine(result.doujinshi.ElementAt(result.images.IndexOf(img)).coverUrl);

                    foreach (Database.DoujinSet.DoujinDataRow row in Database.DatabaseControler.favorites)
                    {
                        if (row.nHentaiID == doujin.nhentaiId)
                        {
                            //doujin = new Doujin(row.nHentaiID);
                            doujin.favorised = true;

                            Console.WriteLine("fav matched");
                            doujinControl.heart.Source = new BitmapImage(new Uri("pack://application:,,,/UiElements/heart_fav.png"));
                        }
                    }

                    picgrid.Children.Add(doujinControl);

                    /*
                     * var source = new BitmapImage(new Uri(result.doujinshi.ElementAt(result.images.IndexOf(img)).coverUrl));
                     * doujinControl.img.Source = source;
                     * double ratio = source.Width / source.Height;
                     * doujinControl.img.ToolTip = doujin.name;
                     * doujinControl.img.Tag = doujin.nhentaiId;
                     * doujinControl.img.Width = 160;
                     * doujinControl.img.Height = 230;
                     * doujinControl.img.Margin = new Thickness(5, 3, 5, 3);
                     * doujinControl.img.MouseLeftButtonDown += Img_MouseLeftButtonDown;
                     * doujinControl.img.MouseRightButtonDown += Img_MouseRightButtonDown;
                     * doujinControl.heart.MouseLeftButtonDown += Heart_MouseLeftButtonDown;
                     * Thickness margin = doujinControl.Margin;
                     * margin.Right = 10;
                     * margin.Bottom = 10;
                     * doujinControl.Margin = margin;
                     * doujinControl.doujinName.Text = doujin.name;
                     * doujinControl.doujinCreator.Text = doujin.ArtistsConcat();
                     * doujinControl.doujinTags.Text = doujin.TagsConcat();
                     */
                    //DoujinUtility.AddDoujinDataRow(doujin, DatabaseControler.mainDataTable);
                }
                DatabaseControler.mainDataTable.Init(localDoujinList);
            }
            catch
            {
            }
        }
Ejemplo n.º 3
0
        public static NavBarLeftSide CreateNavBar(MainWindow window)
        {
            NavBarLeftSide navBar   = new NavBarLeftSide(window);
            List <Grid>    blocks   = new List <Grid>();
            Grid           prefGrid = new Grid();
            Dictionary <Grid, ProgressBar> refDict = new Dictionary <Grid, ProgressBar>()
            {
                { navBar.dashboardGrid, navBar.dashboardBar },
                { navBar.homeGrid, navBar.homeBar },
                { navBar.favGrid, navBar.favBar },
                { navBar.hgamesGrid, navBar.gamesBar },
                { navBar.notificationsGrid, navBar.notificationsBar },
                { navBar.accountGrid, navBar.accountBar },
                { navBar.settingsGrid, navBar.settingsBar },
                { navBar.updateFeedGrid, navBar.updateFeedBar }
            };

            //Bug fix deswegen 2 mal
            navBar.activeWindow.Background  = DoujinUtility.MainWindow.animatedBrush;
            navBar.activeWindow.BorderBrush = DoujinUtility.MainWindow.animatedBrush;
            navBar.Height = 2000;
            navBar.HorizontalAlignment = HorizontalAlignment.Left;
            navBar.VerticalAlignment   = VerticalAlignment.Top;
            navBar.Name = "navBar";
            navBar.RegisterName(navBar.Name, navBar);
            prefGrid.Margin = new Thickness(0, -54, 0, 0);
            if (alwaysMaxed == false)
            {
                navBar.Width       = 52;
                navBar.MouseEnter += delegate(object sender, MouseEventArgs e) { NavBar_MouseEnter(sender, e, navBar); };
                navBar.MouseLeave += delegate(object sender, MouseEventArgs e) { NavBar_MouseLeave(sender, e, navBar); };
            }
            else
            {
                navBar.Width = 280;
            }
            foreach (Grid obj in navBar.rootGrid.Children.OfType <Grid>())
            {
                DoujinUtility.FindChild <ProgressBar>(obj, null).Foreground = DoujinUtility.MainWindow.animatedBrush;


                blocks.Add(obj);
            }
            foreach (Grid grid in blocks)
            {
                navBar.Width     = 52;
                grid.MouseEnter += delegate(object sender, MouseEventArgs e) { NavBarText_MouseEnter(sender, e, navBar, grid, refDict[grid]); };
                grid.MouseLeave += delegate(object sender, MouseEventArgs e) { NavBarText_MouseLeave(sender, e, navBar, grid, refDict[grid]); };
                grid.Margin      = new Thickness(grid.Margin.Left, (prefGrid.Margin.Top + grid.Height + 11), grid.Margin.Right, grid.Margin.Bottom);
                Console.WriteLine(prefGrid.Margin.Top);
                prefGrid = grid;
            }
            return(navBar);
        }
        private void Heart_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            Image         img     = (Image)sender;
            Grid          grid    = (Grid)img.Parent;
            DoujinControl control = (DoujinControl)grid.Parent;

            DatabaseControler.favorites.RemoveDoujinDataRow(DatabaseControler.favorites.FindBynHentaiID((int)control.img.Tag));
            favgrid.Children.Remove(control);
            if (DoujinUtility.DoujinIsPartOfDataTable((int)control.img.Tag, DatabaseControler.mainDataTable))
            {
                var picGridItem = (DoujinControl)picgrid.Children[DatabaseControler.mainDataTable.FindBynHentaiID((int)control.img.Tag).ID];
                picGridItem.heart.Source = new BitmapImage(new Uri("pack://application:,,,/heart_nofav.png"));
            }
        }
        public AccountElement()
        {
            InitializeComponent();
            List <Grid> tabSelectorGrids = new List <Grid>();
            Grid        prefGrid         = new Grid();

            prefGrid.Margin         = new Thickness(0, 0, 0, 0);
            currentWindowButtonGrid = showcaseGrid;
            Dictionary <Grid, ProgressBar> refDict = new Dictionary <Grid, ProgressBar>()
            {
                { this.showcaseGrid, this.showcaseBar },
                { this.recommendedGrid, this.recommendedBar },
                { this.friendsGrid, this.friendsBar }
            };

            foreach (Grid obj in this.tabSelectorGrid.Children.OfType <Grid>())
            {
                DoujinUtility.FindChild <ProgressBar>(obj, null).Foreground = DoujinUtility.MainWindow.animatedBrush;
                tabSelectorGrids.Add(obj);
            }
            foreach (Grid grid in tabSelectorGrids)
            {
                grid.MouseEnter += delegate(object sender, MouseEventArgs e) { Example_EnterAnimationEvent(sender, e, this, grid, refDict[grid]); };
                grid.MouseLeave += delegate(object sender, MouseEventArgs e) { Example_LeaveAnimationEvent(sender, e, this, grid, refDict[grid]); };

                Console.WriteLine(prefGrid.Margin.Top);
                prefGrid = grid;
            }

            void Example_EnterAnimationEvent(object sender, MouseEventArgs e, AccountElement navBar, Grid grid, ProgressBar progressBar)
            {
            }

            void Example_LeaveAnimationEvent(object sender, MouseEventArgs e, AccountElement navBar, Grid grid, ProgressBar progressBar)
            {
            }
        }
        public void Init()
        {
            //client.RegisterToServer("*****@*****.**", "David@1&1.de", "David@1&1.de").Wait();

            //Doujin_Interface.Properties.Settings.Default.User = null;

            //-----------------------------------------------------------------------------
            //For Damian
            //On stackoverflow they said the way the task is called migth cause deadlock so it might be a good idea to start looking here
            //-------------------------------------------------------------------------------
            DoujinUtility.MainWindow = this;
            DoujinUtility.MainWindow.animatedBrush.Color = Color.FromArgb(255, 138, 0, 219);
            //var test = new HIDoujin("Bokurano@Mii-chan | Our @Mii-chan","english", 1278968);

            //test2.AddObject("petenshi",Doujin_Interface.UpdateFeed.Types.Arist);
            //(throw new NotImplementedException();

            //Application.Current.Resources["UiDarkGray"] = new SolidColorBrush(Color.FromArgb(100, 200, 20, 20));
            //Color.FromArgb(100, 200, 20, 20);
            this.KeyDown += MainWindow_KeyDown;
            this.KeyUp   += MainWindow_KeyUp;

            var searchElement = new SE();

            search = SE.CreateSearchElement(picgrid, rootGrid, this);
            rootGrid.Children.Add(search);

            registerAndLoginElement = new RegisterElementE();
            rootGrid.Children.Add(registerAndLoginElement);
            registerAndLoginElement.Visibility = Visibility.Hidden;
            accountElement = new AccountElement();
            rootGrid.Children.Add(accountElement);
            accountElement.Visibility = Visibility.Hidden;
            accountElement.Margin     = new Thickness(52, 0, 0, 0);
            rootGrid.Children.Add(notifyer);


            //has to be added last
            var navBar = new NavBar();

            rootGrid.Children.Add(NavBar.CreateNavBar(this));

            Thickness margin = settingElement.Margin;

            margin.Left           = 283;
            settingElement.Margin = margin;
            rootGrid.Children.Add(settingElement);

            if (File.Exists(DatabaseControler.favDataPath))
            {
                DatabaseControler.favorites.ReadXml(DatabaseControler.favDataPath);
                foreach (var row in DatabaseControler.favorites)
                {
                    row.favorite = true;
                    favId.Add(row.nHentaiID);
                    favDoujin.Add(DoujinUtility.DataRowToDoujin(row));
                    Console.WriteLine("fav added to list " + row.nHentaiID);
                }
            }
            if (File.Exists("cache.xml"))
            {
                DatabaseControler.doujinCache.ReadXml("cache.xml");
            }
            //Page(1);
        }
        public void DisplayFavorites()
        {
            search.Visibility    = Visibility.Hidden;
            favscroll.Visibility = Visibility.Visible;
            favscroll.IsEnabled  = true;


            if (favgrid.Children.Count < DatabaseControler.favorites.Count)
            {
                foreach (DoujinDataRow row in DatabaseControler.favorites)
                {
                    /*
                     * DoujinControl doujinControl = new DoujinControl(row.nHentaiID);
                     * doujinControl.heart.Source = new BitmapImage(new Uri("pack://application:,,,/UiElements/heart_fav.png"));
                     * favgrid.Children.Add(doujinControl);
                     */

                    Doujin doujin = DoujinUtility.DataRowToDoujin(row);
                    if (DoujinUtility.DoujinIsPartOfDataTable(doujin, DatabaseControler.localDummy))
                    {
                        continue;
                    }
                    DoujinControl doujinControl = new DoujinControl();

                    favgrid.Children.Insert(0, doujinControl);

                    var source = new BitmapImage(new Uri(row.coverUrl));
                    doujinControl.img.Source                 = source;
                    doujinControl.img.ToolTip                = doujin.name;
                    doujinControl.img.Tag                    = doujin.nhentaiId;
                    doujinControl.img.Width                  = 160;
                    doujinControl.img.Height                 = 230;
                    doujinControl.img.Margin                 = new Thickness(5, 3, 5, 3);
                    doujinControl.img.MouseLeftButtonDown   += Img_MouseLeftButtonDown;
                    doujinControl.img.MouseRightButtonDown  += Img_MouseRightButtonDown;
                    doujinControl.heart.Source               = new BitmapImage(new Uri("pack://application:,,,/UiElements/heart_fav.png"));
                    doujinControl.heart.MouseLeftButtonDown += Heart_MouseLeftButtonDown;
                    Thickness margin = doujinControl.Margin;
                    margin.Right                     = 10;
                    margin.Bottom                    = 10;
                    doujinControl.Margin             = margin;
                    doujinControl.doujinName.Text    = doujin.name;
                    doujinControl.doujinCreator.Text = doujin.ArtistsConcat();
                    doujinControl.doujinTags.Text    = doujin.TagsConcat();



                    DatabaseControler.localDummy.AddDoujinDataRow(DatabaseControler.mainDataTable.Rows.Count, row.nHentaiID, row.mediaID, row.name, row.fullName, row.artist, row.character, row.parody, row.group, row.tags, row.language, true, row.pages, row.coverUrl, row.extension);
                }
            }
            else if (favgrid.Children.Count > DatabaseControler.favorites.Count)
            {
                List <DoujinControl> controlList = new List <DoujinControl>();
                foreach (DoujinControl doujinControl in favgrid.Children)
                {
                    if (!DoujinUtility.DoujinIsPartOfDataTable((int)doujinControl.img.Tag, DatabaseControler.favorites))
                    {
                        controlList.Add(doujinControl);
                        DatabaseControler.localDummy.RemoveDoujinDataRow(DatabaseControler.localDummy.FindBynHentaiID((int)doujinControl.img.Tag));
                    }
                }
                foreach (DoujinControl doujinControl in controlList)
                {
                    favgrid.Children.Remove(doujinControl);
                }
            }
        }