Beispiel #1
0
        private async void Lists_Loaded(object sender, RoutedEventArgs e)
        {
            if (!isLoaded)
            {
                TabsViewerControls.Visibility = Visibility.Collapsed;

                foreach (int id in TabsAccessManager.GetTabsListID())
                {
                    var list = TabsAccessManager.GetTabsListViaID(id);
                    Lists.Items.Add(new ListItem {
                        ListID = list.ID, ListName = list.name, ListIcon = await ModulesAccessManager.GetModuleIconViaIDAsync(list.TabsListProjectTypeID, true)
                    });

                    if (AppSettings.Values.ContainsKey("Tabs_list-selected-index"))
                    {
                        if ((int)AppSettings.Values["Tabs_list-selected-index"] == id)
                        {
                            Lists.SelectedIndex = Lists.Items.Count - 1;
                        }
                    }
                }

                if (Lists.Items.Count == 0)
                {
                    await TabsWriteManager.CreateTabsListAsync("Default list");
                }
                else
                {
                    if (!AppSettings.Values.ContainsKey("Tabs_list-selected-index"))
                    {
                        Lists.SelectedIndex = 0;
                    }
                }


                isLoaded = true;
            }
        }
        private async void UpdateTabInformations()
        {
            //Set temp tab + tabs list ID
            try
            {
                current_tab = TabsAccessManager.GetTabViaID(new TabID {
                    ID_Tab = current_tab.ID, ID_TabsList = current_list
                });

                name_tab.Text = current_tab.TabName;

                //Tooltip name
                ToolTip ButtonTooltip = new ToolTip();
                ButtonTooltip.Content = current_tab.TabName;
                ToolTipService.SetToolTip(IconAndTabNameGrid, ButtonTooltip);

                switch (current_tab.TabContentType)
                {
                case ContentType.File:
                    string ModuleIDIcon = LanguagesHelper.GetModuleIDOfLangageType(current_tab.TabType);
                    TabIcon.Source = await ModulesAccessManager.GetModuleIconViaIDAsync(ModuleIDIcon, ModulesAccessManager.GetModuleViaID(ModuleIDIcon).ModuleSystem);

                    if (!string.IsNullOrEmpty(current_tab.TabOriginalPathContent))
                    {
                        switch (current_tab.TabStorageMode)
                        {
                        case StorageListTypes.LocalStorage:
                            path_tab.Text = current_tab.TabOriginalPathContent;
                            break;

                        case StorageListTypes.OneDrive:
                            path_tab.Text = "OneDrive file";
                            break;
                        }

                        Size_Stackpanel.Visibility     = Visibility.Visible;
                        Modified_Stackpanel.Visibility = Visibility.Visible;
                        Created_Stackpanel.Visibility  = Visibility.Visible;

                        Rename_Tab.IsEnabled = false;
                    }
                    else
                    {
                        Size_Stackpanel.Visibility     = Visibility.Collapsed;
                        Modified_Stackpanel.Visibility = Visibility.Collapsed;
                        Created_Stackpanel.Visibility  = Visibility.Collapsed;

                        Rename_Tab.IsEnabled = true;
                    }

                    Notification.ShowBadge = current_tab.TabNewModifications;

                    TabsListGrid.Visibility = Visibility.Collapsed;
                    TabIcon.Visibility      = Visibility.Visible;
                    FolderIcon.Visibility   = Visibility.Collapsed;
                    StackInfos.Visibility   = Visibility.Visible;

                    MaxHeightAnimShow.Value   = 200;
                    MaxHeightAnimRemove.Value = 200;
                    break;

                case ContentType.Folder:
                    Notification.ShowBadge = false;
                    Rename_Tab.IsEnabled   = false;

                    More_Tab.Visibility     = Visibility.Visible;
                    TabsListGrid.Visibility = Visibility.Visible;
                    StackInfos.Visibility   = Visibility.Collapsed;

                    TabIcon.Visibility    = Visibility.Collapsed;
                    FolderIcon.Visibility = Visibility.Visible;

                    if (TempTabID != current_tab.ID && TabsList.ListID != current_list)
                    {
                        if (current_tab.FolderOpened)
                        {
                            ShowInfos.Begin(); infos_opened = true;
                        }
                        else
                        {
                            infos_opened = false;
                        }

                        TabsList.ListTabs.Items.Clear();
                        TempTabID       = current_tab.ID;
                        TabsList.ListID = current_list;
                        foreach (int ID in current_tab.FolderContent)
                        {
                            try
                            {
                                if (TabsAccessManager.GetTabViaID(new TabID {
                                    ID_Tab = ID, ID_TabsList = current_list
                                }) != null)
                                {
                                    TabsList.ListTabs.Items.Add(new TabID {
                                        ID_Tab = ID, ID_TabsList = current_list
                                    });
                                    if ((int)AppSettings.Values["Tabs_tab-selected-index"] == ID && (int)AppSettings.Values["Tabs_list-selected-index"] == current_list)
                                    {
                                        TabsList.ListTabs.SelectedIndex = TabsList.ListTabs.Items.Count - 1;
                                    }
                                }
                            }
                            catch { }
                        }
                    }

                    MaxHeightAnimShow.Value   = 1500;
                    MaxHeightAnimRemove.Value = 1500;
                    break;
                }
            }
            catch { }
        }
Beispiel #3
0
        private async void UpdateTabInformations()
        {
            //Set temp tab + tabs list ID
            try
            {
                current_tab = TabsAccessManager.GetTabViaID(new TabID {
                    ID_Tab = current_tab.ID, ID_TabsList = current_list
                });

                name_tab.Text = current_tab.TabName;

                switch (current_tab.TabContentType)
                {
                case ContentType.File:
                    int ModuleIDIcon = LanguagesHelper.GetModuleIDOfLangageType(current_tab.TabType);
                    TabIcon.Source = await ModulesAccessManager.GetModuleIconViaIDAsync(ModuleIDIcon, ModulesAccessManager.GetModuleViaID(ModuleIDIcon).ModuleSystem);

                    if (!string.IsNullOrEmpty(current_tab.PathContent))
                    {
                        path_tab.Text       = current_tab.PathContent;
                        encoding_file.Text  = Encoding.GetEncoding(current_tab.TabEncoding).EncodingName;
                        More_Tab.Visibility = Visibility.Visible;
                    }
                    else
                    {
                        More_Tab.Visibility = Visibility.Collapsed;
                    }

                    TabsListGrid.Visibility = Visibility.Collapsed;
                    TabIcon.Visibility      = Visibility.Visible;
                    FolderIcon.Visibility   = Visibility.Collapsed;
                    StackInfos.Visibility   = Visibility.Visible;
                    break;

                case ContentType.Folder:
                    More_Tab.Visibility     = Visibility.Visible;
                    TabsListGrid.Visibility = Visibility.Visible;
                    StackInfos.Visibility   = Visibility.Collapsed;

                    TabIcon.Visibility    = Visibility.Collapsed;
                    FolderIcon.Visibility = Visibility.Visible;

                    if (TempTabID != current_tab.ID && TabsList.ListID != current_list)
                    {
                        ShowInfos.Begin();

                        TabsList.ListTabs.Items.Clear();
                        TempTabID       = current_tab.ID;
                        TabsList.ListID = current_list;
                        foreach (int ID in current_tab.FolderContent)
                        {
                            try
                            {
                                if (TabsAccessManager.GetTabViaID(new TabID {
                                    ID_Tab = ID, ID_TabsList = current_list
                                }) != null)
                                {
                                    TabsList.ListTabs.Items.Add(new TabID {
                                        ID_Tab = ID, ID_TabsList = current_list
                                    });
                                    if ((int)AppSettings.Values["Tabs_tab-selected-index"] == ID && (int)AppSettings.Values["Tabs_list-selected-index"] == current_list)
                                    {
                                        TabsList.ListTabs.SelectedIndex = TabsList.ListTabs.Items.Count - 1;
                                    }
                                }
                            }
                            catch { }
                        }
                    }

                    break;
                }
            }
            catch { }
        }
        private void SetMessenger()
        {
            Messenger.Default.Register <EditorViewNotification>(this, async(notification_ui) =>
            {
                await DispatcherHelper.ExecuteOnUIThreadAsync(() =>
                {
                    try
                    {
                        SetTheme();
                    }
                    catch { }
                });
            });

            Messenger.Default.Register <SheetViewMode>(this, async(notification_sheetview) =>
            {
                await DispatcherHelper.ExecuteOnUIThreadAsync(() =>
                {
                    try
                    {
                        switch (notification_sheetview)
                        {
                        case SheetViewMode.Deployed:
                            TabsViewerControls.Visibility = Visibility.Visible;
                            break;

                        case SheetViewMode.Minimized:
                            TabsViewerControls.Visibility = Visibility.Collapsed;
                            ShowCreatorGrid(false);

                            if (!string.IsNullOrWhiteSpace(Box_Search.Text))
                            {
                                Tabs.Visibility = Visibility.Collapsed;
                            }
                            break;
                        }
                    }
                    catch { }
                });
            });

            Messenger.Default.Register <STSNotification>(this, async(notification) =>
            {
                await DispatcherHelper.ExecuteOnUIThreadAsync(async() =>
                {
                    try
                    {
                        if (CurrentSelectedIDs.ID_TabsList == notification.ID.ID_TabsList)
                        {
                            switch (notification.Type)
                            {
                            case TypeUpdateTab.RefreshCurrentList:
                                ChangeSelectedList(CurrentSelectedIDs.ID_TabsList);
                                break;

                            case TypeUpdateTab.NewTab:
                                if (!TabsAccessManager.GetTabViaID(notification.ID).TabInvisibleByDefault)
                                {
                                    Tabs.Items.Add(notification.ID);

                                    //Auto selection
                                    Tabs.SelectedIndex = Tabs.Items.Count - 1;
                                }
                                break;

                            case TypeUpdateTab.SelectTab:
                                int Position = 0;
                                foreach (TabID CurrId in Tabs.Items)
                                {
                                    if (CurrId.ID_Tab == notification.ID.ID_Tab && CurrId.ID_TabsList == notification.ID.ID_TabsList)
                                    {
                                        Tabs.SelectedIndex = Position;
                                        break;
                                    }

                                    Position++;
                                }
                                break;

                            case TypeUpdateTab.SelectTabViaNumber:
                                if (Tabs.Items.Count >= notification.TabNumber)
                                {
                                    Tabs.SelectedIndex = (notification.TabNumber - 1);
                                }
                                break;

                            case TypeUpdateTab.TabDeleted:
                                if (await TabsWriteManager.DeleteTabAsync(notification.ID))
                                {
                                    object FindItem = Tabs.Items.SingleOrDefault(o => o.Equals(notification.ID));

                                    if (FindItem != null)
                                    {
                                        Tabs.Items.Remove(FindItem);

                                        //Auto selection
                                        if (CurrentSelectedIDs.ID_Tab == notification.ID.ID_Tab && Tabs.Items.Count - 1 >= 0)
                                        {
                                            Tabs.SelectedIndex = Tabs.Items.Count - 1;
                                        }
                                    }

                                    if (Tabs.Items.Count == 0)
                                    {
                                        CreateDefaultTab();
                                    }
                                }

                                break;

                            case TypeUpdateTab.NewList:
                                var list = TabsAccessManager.GetTabsListViaID(notification.ID.ID_TabsList);
                                Lists.Items.Add(new ListItem {
                                    ListID = list.ID, ListName = list.name, ListIcon = await ModulesAccessManager.GetModuleIconViaIDAsync(list.TabsListProjectTypeID, true)
                                });
                                Lists.SelectedIndex = Lists.Items.Count - 1;
                                break;

                            case TypeUpdateTab.ListDeleted:
                                Lists.Items.RemoveAt(Lists.SelectedIndex);
                                break;

                            case TypeUpdateTab.OpenTabsCreator:
                                ShowCreatorGrid(true);
                                break;

                            case TypeUpdateTab.OpenNewFiles:
                                OpenFiles();
                                break;
                            }
                        }
                        else
                        {
                            switch (notification.Type)
                            {
                            case TypeUpdateTab.NewList:
                                var list = TabsAccessManager.GetTabsListViaID(notification.ID.ID_TabsList);
                                Lists.Items.Add(new ListItem {
                                    ListID = list.ID, ListName = list.name, ListIcon = await ModulesAccessManager.GetModuleIconViaIDAsync(list.TabsListProjectTypeID, true)
                                });
                                Lists.SelectedIndex = Lists.Items.Count - 1;
                                break;

                            case TypeUpdateTab.ListDeleted:
                                Lists.Items.RemoveAt(Lists.SelectedIndex);
                                break;

                            case TypeUpdateTab.OpenTabsCreator:
                                ShowCreatorGrid(true);
                                break;

                            case TypeUpdateTab.OpenNewFiles:
                                OpenFiles();
                                break;
                            }
                        }
                    }
                    catch { }
                });
            });
        }
 public async void createNewSheet(string sheetName, string pathHTMLPage)
 {
     await DispatcherHelper.ExecuteOnUIThreadAsync(async() =>
     {
         ModuleHTMLView view = new ModuleHTMLView();
         view.LoadPage(pathHTMLPage, id);
         Messenger.Default.Send(new ModuleSheetNotification {
             id = id, sheetName = sheetName, type = ModuleSheetNotificationType.NewSheet, sheetContent = view, sheetIcon = await ModulesAccessManager.GetModuleIconViaIDAsync(id, ModulesAccessManager.GetModuleViaID(id).ModuleSystem), sheetSystem = false
         });
     });
 }