Example #1
0
        public async void ManageQueueTabs()
        {
            while (!CanManageQueue)
            {
                await Task.Delay(20);
            }

            if (CanManageQueue)
            {
                CanManageQueue = false;

                try
                {
                    if (GlobalVariables.CurrentIDs.ID_Tab != 0)
                    {
                        //Code content
                        string content = await ContentViewer.GetCode();

                        SerrisModulesServer.Manager.AsyncHelpers.RunSync(() => TabsWriteManager.PushTabContentViaIDAsync(GlobalVariables.CurrentIDs, content, false));

                        //Cursor position
                        PositionSCEE CursorPosition = await ContentViewer.GetCursorPosition();

                        InfosTab Tab = TabsAccessManager.GetTabViaID(GlobalVariables.CurrentIDs);
                        Tab.TabCursorPosition = new CursorPosition {
                            column = CursorPosition.column, row = CursorPosition.row
                        };
                        await TabsWriteManager.PushUpdateTabAsync(Tab, GlobalVariables.CurrentIDs.ID_TabsList, false);
                    }
                }
                catch { }

                foreach (CoreApplicationView view in CoreApplication.Views)
                {
                    if (Dispatcher != view.Dispatcher)
                    {
                        await view.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                        {
                            Messenger.Default.Send(new STSNotification {
                                Type = TypeUpdateTab.TabUpdated, ID = GlobalVariables.CurrentIDs
                            });
                        });
                    }
                }

                GlobalVariables.CurrentIDs = new TabID {
                    ID_Tab = Queue_Tabs[0].tabID, ID_TabsList = Queue_Tabs[0].tabsListID
                };
                ContentViewer.MonacoModelID        = Queue_Tabs[0].monacoModelID;
                ContentViewer.CursorPositionColumn = Queue_Tabs[0].cursorPositionColumn;
                ContentViewer.CursorPositionRow    = Queue_Tabs[0].cursorPositionLineNumber;
                ContentViewer.CodeLanguage         = Queue_Tabs[0].typeLanguage;
                ContentViewer.Code = Queue_Tabs[0].code;
                ChangePushed       = false;

                Queue_Tabs.RemoveAt(0);

                CanManageQueue = true;
            }
        }
Example #2
0
        private async void Current_Suspending(object sender, Windows.ApplicationModel.SuspendingEventArgs e)
        {
            var deferral = e.SuspendingOperation.GetDeferral();

            try
            {
                if (GlobalVariables.CurrentIDs.ID_Tab != 0)
                {
                    //Code content
                    string content = await ContentViewer.GetCode();

                    await TabsWriteManager.PushTabContentViaIDAsync(GlobalVariables.CurrentIDs, content, false);

                    //Cursor position
                    PositionSCEE CursorPosition = await ContentViewer.GetCursorPosition();

                    InfosTab Tab = TabsAccessManager.GetTabViaID(GlobalVariables.CurrentIDs);
                    Tab.TabCursorPosition = new CursorPosition {
                        column = CursorPosition.column, row = CursorPosition.row
                    };
                    await TabsWriteManager.PushUpdateTabAsync(Tab, GlobalVariables.CurrentIDs.ID_TabsList, false);

                    deferral.Complete();
                }
                else
                {
                    deferral.Complete();
                }
            }
            catch
            {
                deferral.Complete();
            }
        }
        private void CreateTab()
        {
            EncodingType SelectedEncoding = (EncodingType)EncodingList.SelectedItem;

            if (CurrentSelectedIDs.ID_Tab != 0)
            {
                StorageListTypes SelectedType = ((StorageTypeDefinition)TabStorageType.SelectedValue).Type;

                switch (TabsAccessManager.GetTabViaID(GlobalVariables.CurrentIDs).TabContentType)
                {
                case ContentType.File:
                    TabsCreatorAssistant.CreateNewTab(CurrentSelectedIDs.ID_TabsList, TextBoxNewFileProject.Text, Encoding.GetEncoding(SelectedEncoding.EncodingCodepage), SelectedEncoding.EncodingBOM, SelectedType, TabTemplateContent);
                    break;

                //Create file in the selected folder !
                case ContentType.Folder:
                    TabsCreatorAssistant.CreateNewTabInFolder(GlobalVariables.CurrentIDs.ID_TabsList, CurrentSelectedIDs, TextBoxNewFileProject.Text, Encoding.GetEncoding(SelectedEncoding.EncodingCodepage), SelectedEncoding.EncodingBOM, SelectedType, TabTemplateContent);
                    break;
                }
            }
            else
            {
                TabsCreatorAssistant.CreateNewTab(CurrentSelectedIDs.ID_TabsList, TextBoxNewFileProject.Text, Encoding.GetEncoding(SelectedEncoding.EncodingCodepage), SelectedEncoding.EncodingBOM, StorageListTypes.LocalStorage, TabTemplateContent);
            }


            TextBoxNewFileProject.Text = "";
        }
Example #4
0
        /* =============
         * = FUNCTIONS =
         * =============
         */


        private void Current_Activated(object sender, Windows.UI.Core.WindowActivatedEventArgs e)
        {
            if (e.WindowActivationState != CoreWindowActivationState.Deactivated)
            {
                CheckIfTabHaveNewOutsideUpdate(TabsAccessManager.GetTabViaID(GlobalVariables.CurrentIDs));
            }
        }
        private void Box_Search_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(Box_Search.Text))
            {
                TabsResult.Visibility = Visibility.Collapsed;
                Tabs.Visibility       = Visibility.Visible;

                TabsResult.Items.Clear();
            }
            else
            {
                TabsResult.Visibility = Visibility.Visible;
                Tabs.Visibility       = Visibility.Collapsed;

                TabsResult.Items.Clear();
                foreach (InfosTab Tab in TabsAccessManager.GetTabs(GlobalVariables.CurrentIDs.ID_TabsList))
                {
                    if (Tab.TabName.Contains(Box_Search.Text))
                    {
                        TabsResult.Items.Add(new TabID {
                            ID_Tab = Tab.ID, ID_TabsList = GlobalVariables.CurrentIDs.ID_TabsList
                        });
                    }
                    else if (!string.IsNullOrWhiteSpace(Tab.TabOriginalPathContent))
                    {
                        if (Tab.TabOriginalPathContent.Contains(Box_Search.Text))
                        {
                            TabsResult.Items.Add(new TabID {
                                ID_Tab = Tab.ID, ID_TabsList = GlobalVariables.CurrentIDs.ID_TabsList
                            });
                        }
                    }
                }
            }
        }
        public async Task WriteFile()
        {
            await DispatcherHelper.ExecuteOnUIThreadAsync(async() =>
            {
                try
                {
                    StorageFile file = await StorageFile.GetFileFromPathAsync(Tab.PathContent);

                    if (file != null)
                    {
                        await FileIO.WriteTextAsync(file, string.Empty);
                        using (var rd = new StreamWriter(await file.OpenStreamForWriteAsync(), Encoding.GetEncoding(Tab.TabEncoding)))
                        {
                            rd.Write(await TabsAccessManager.GetTabContentViaIDAsync(new TabID {
                                ID_Tab = Tab.ID, ID_TabsList = ListTabsID
                            }));
                            rd.Flush(); rd.Dispose();
                        }
                    }
                }
                catch
                {
                    await CreateFile().ContinueWith(async(e) =>
                    {
                        await WriteFile();
                    });
                }
            });
        }
Example #7
0
        public async Task WriteFile()
        {
            await DispatcherHelper.ExecuteOnUIThreadAsync(async() =>
            {
                if (string.IsNullOrWhiteSpace(Tab.TabOriginalPathContent))
                {
                    await CreateFile().ContinueWith((e) =>
                    {
                        //await WriteFile();
                    });
                }
                else
                {
                    try
                    {
                        await OneDriveAuthHelper.OneDriveAuthentification();

                        MemoryStream stream = new MemoryStream();
                        StreamWriter writer = new StreamWriter(stream, Encoding.GetEncoding(Tab.TabEncoding));
                        writer.Write(await TabsAccessManager.GetTabContentViaIDAsync(new TabID {
                            ID_Tab = Tab.ID, ID_TabsList = ListTabsID
                        }));
                        writer.Flush();
                        stream.Position = 0;

                        var item = await TabsDataCache.OneDriveClient.Drive.Items[Tab.TabOriginalPathContent].Content.Request().PutAsync <Item>(stream);
                    }
                    catch
                    {
                        await new MessageDialog("Please verify your internet connection or verify if the file still exist in your OneDrive or if you have enough stockage for saving the file.", "OneDrive error").ShowAsync();
                    }
                }
            });
        }
Example #8
0
        private async void UpdateTabInformations()
        {
            //Set temp tab + tabs list ID
            try
            {
                current_tab = await TabsAccessManager.GetTabViaIDAsync(new TabID { ID_Tab = current_tab.ID, ID_TabsList = current_list });

                foreach (CoreApplicationView view in CoreApplication.Views)
                {
                    if (current_tab.TabName.Length >= 4)
                    {
                        Extension_tab.Text = current_tab.TabName.Substring(0, 4);
                    }
                    else
                    {
                        Extension_tab.Text = current_tab.TabType.ToUpper();
                    }

                    name_tab.Text = current_tab.TabName;

                    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;
                    }
                }
            }
            catch { }
        }
Example #9
0
 public string getContent()
 {
     try
     {
         return(TabsAccessManager.GetTabContentViaID(new TabID {
             ID_Tab = id.tabID, ID_TabsList = id.listID
         }));
     }
     catch { return(""); }
 }
Example #10
0
        private async void Tabs_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ListView List = sender as ListView;

            if (List.SelectedItem != null)
            {
                if (((TabID)List.SelectedItem).ID_Tab != GlobalVariables.CurrentIDs.ID_Tab)
                {
                    CurrentSelectedIDs = (TabID)List.SelectedItem;
                    var    tab = TabsAccessManager.GetTabViaID(CurrentSelectedIDs);
                    string MonacoID;

                    if (string.IsNullOrEmpty(tab.TabMonacoModelID))
                    {
                        MonacoID = Guid.NewGuid().ToString();
                    }
                    else
                    {
                        MonacoID = tab.TabMonacoModelID;
                    }

                    if (tab.TabContentType == ContentType.File)
                    {
                        int    EncodingType = tab.TabEncoding;
                        string TabType      = "";

                        if (EncodingType == 0)
                        {
                            EncodingType = Encoding.UTF8.CodePage;
                        }

                        if (string.IsNullOrEmpty(tab.TabType))
                        {
                            TabType = "TXT";
                        }
                        else
                        {
                            TabType = tab.TabType.ToUpper();
                        }

                        if (tab != null)
                        {
                            Messenger.Default.Send(new TabSelectedNotification {
                                tabID = CurrentSelectedIDs.ID_Tab, tabsListID = CurrentSelectedIDs.ID_TabsList, code = await TabsAccessManager.GetTabContentViaIDAsync(CurrentSelectedIDs), contactType = ContactTypeSCEE.SetCodeForEditor, typeLanguage = TabType, typeCode = Encoding.GetEncoding(EncodingType).EncodingName, cursorPositionColumn = tab.TabCursorPosition.column, cursorPositionLineNumber = tab.TabCursorPosition.row, tabName = tab.TabName, monacoModelID = MonacoID
                            });
                        }

                        AppSettings.Values["Tabs_tab-selected-index"]  = ((TabID)List.SelectedItem).ID_Tab;
                        AppSettings.Values["Tabs_list-selected-index"] = ((TabID)List.SelectedItem).ID_TabsList;

                        CheckIfTabHaveNewOutsideUpdate(tab);
                    }
                }
            }
        }
Example #11
0
        public IList <TabIDs> getTabsIDOfTheCurrentList()
        {
            int            currentList = getCurrentSelectedTabAndTabsListID().listID;
            List <int>     ids         = TabsAccessManager.GetTabsID(currentList);
            IList <TabIDs> list_ids    = new List <TabIDs>();

            foreach (int id in ids)
            {
                list_ids.Add(new TabIDs {
                    listID = currentList, tabID = id
                });
            }

            return(list_ids);
        }
Example #12
0
        private void CreateTab()
        {
            switch (TabsAccessManager.GetTabViaID(CurrentSelectedIDs).TabContentType)
            {
            case ContentType.File:
                TabsCreatorAssistant.CreateNewTab(CurrentSelectedIDs.ID_TabsList, TextBoxNewFileProject.Text, Encoding.UTF8, StorageListTypes.LocalStorage, TabTemplateContent);
                break;

            //Create file in the selected folder !
            case ContentType.Folder:
                TabsCreatorAssistant.CreateNewTabInFolder(CurrentSelectedIDs.ID_TabsList, CurrentSelectedIDs, TextBoxNewFileProject.Text, Encoding.UTF8, StorageListTypes.LocalStorage, TabTemplateContent);
                break;
            }

            TextBoxNewFileProject.Text = "";
        }
Example #13
0
        private async void ListTabs_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (ListTabs.SelectedItem != null)
            {
                if (((TabID)ListTabs.SelectedItem).ID_Tab != GlobalVariables.CurrentIDs.ID_Tab)
                {
                    CurrentSelectedIDs = (TabID)ListTabs.SelectedItem;
                    var tab = TabsAccessManager.GetTabViaID(CurrentSelectedIDs);

                    if (tab.TabContentType == ContentType.File)
                    {
                        int    EncodingType = tab.TabEncoding;
                        string TabType      = "";

                        if (EncodingType == 0)
                        {
                            EncodingType = Encoding.UTF8.CodePage;
                        }

                        if (string.IsNullOrEmpty(tab.TabType))
                        {
                            TabType = "TXT";
                        }
                        else
                        {
                            TabType = tab.TabType.ToUpper();
                        }

                        if (tab != null)
                        {
                            Messenger.Default.Send(new TabSelectedNotification {
                                tabID = CurrentSelectedIDs.ID_Tab, tabsListID = CurrentSelectedIDs.ID_TabsList, code = await TabsAccessManager.GetTabContentViaIDAsync(CurrentSelectedIDs), contactType = ContactTypeSCEE.SetCodeForEditor, typeLanguage = TabType, typeCode = Encoding.GetEncoding(EncodingType).EncodingName
                            });
                        }

                        AppSettings.Values["Tabs_tab-selected-index"]  = ((TabID)ListTabs.SelectedItem).ID_Tab;
                        AppSettings.Values["Tabs_list-selected-index"] = ((TabID)ListTabs.SelectedItem).ID_TabsList;

                        ListTabSelectionChanged?.Invoke(this, new EventArgs());
                    }
                }
            }
        }
Example #14
0
        private async void Accept_Click(object sender, RoutedEventArgs e)
        {
            OneDriveLoadStart();
            InfosTab RequestedTab = TabsAccessManager.GetTabViaID(TabIDRequest);

            switch (CurrentExplorerMode)
            {
            case OnedriveExplorerMode.CreateFile:
                MemoryStream stream = new MemoryStream();
                var          file   = await TabsDataCache.OneDriveClient.Drive.Items[CurrentTab.TabOriginalPathContent].ItemWithPath(RequestedTab.TabName).Content.Request().PutAsync <Item>(stream);

                RequestedTab.TabOriginalPathContent = file.Id;
                RequestedTab.TabDateModified        = file.LastModifiedDateTime.ToString();
                await TabsWriteManager.PushUpdateTabAsync(RequestedTab, TabIDRequest.ID_TabsList, false);

                break;

            case OnedriveExplorerMode.SelectFile:
                var tab = new InfosTab {
                    TabName = CurrentTab.TabName, TabStorageMode = Storage.StorageListTypes.OneDrive, TabContentType = ContentType.File, CanBeDeleted = true, CanBeModified = true, TabOriginalPathContent = CurrentTab.TabOriginalPathContent, TabInvisibleByDefault = false, TabType = LanguagesHelper.GetLanguageType(CurrentTab.TabName)
                };

                int id_tab = await TabsWriteManager.CreateTabAsync(tab, TabIDRequest.ID_TabsList, false);

                if (await new StorageRouter(TabsAccessManager.GetTabViaID(new TabID {
                    ID_Tab = id_tab, ID_TabsList = TabIDRequest.ID_TabsList
                }), TabIDRequest.ID_TabsList).ReadFile(true))
                {
                    Messenger.Default.Send(new STSNotification {
                        Type = TypeUpdateTab.NewTab, ID = new TabID {
                            ID_Tab = id_tab, ID_TabsList = TabIDRequest.ID_TabsList
                        }
                    });
                }
                break;
            }

            OnedriveLoadFinished();
            try { Window.Current.Close(); } catch { }
        }
        private void ChangeSelectedList(int id_list)
        {
            Tabs.Items.Clear();
            CurrentSelectedIDs.ID_TabsList = id_list;
            List <int> list_ids = TabsAccessManager.GetTabsID(id_list);

            if (list_ids.Count == 0)
            {
                CreateDefaultTab();
            }
            else
            {
                foreach (int id in list_ids)
                {
                    Tabs.Items.Add(new TabID {
                        ID_Tab = id, ID_TabsList = id_list
                    });

                    if (GlobalVariables.CurrentIDs.ID_TabsList == CurrentSelectedIDs.ID_TabsList && GlobalVariables.CurrentIDs.ID_Tab == id)
                    {
                        Tabs.SelectedIndex = Tabs.Items.Count - 1;
                    }

                    //Select the last selected tab when TabsViewer is initialized
                    if (AppSettings.Values.ContainsKey("Tabs_tab-selected-index"))
                    {
                        if (!LastTabLoaded && (int)AppSettings.Values["Tabs_tab-selected-index"] == id && (int)AppSettings.Values["Tabs_list-selected-index"] == id_list)
                        {
                            Tabs.SelectedIndex = Tabs.Items.Count - 1;
                            LastTabLoaded      = true;
                        }
                    }
                    else
                    {
                        LastTabLoaded = true;
                    }
                }
            }
        }
Example #16
0
        private async void Lists_Loaded(object sender, RoutedEventArgs e)
        {
            if (!isLoaded)
            {
                TabsViewerControls.Visibility = Visibility.Collapsed;

                foreach (int id in await TabsAccessManager.GetTabsListIDAsync())
                {
                    var list = await TabsAccessManager.GetTabsListViaIDAsync(id);

                    Lists.Items.Add(new ListItem {
                        ListID = list.ID, ListName = list.name
                    });

                    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;
            }
        }
Example #17
0
        public Tab getTabViaID(TabIDs id)
        {
            var tab = TabsAccessManager.GetTabViaID(new TabID {
                ID_Tab = id.tabID, ID_TabsList = id.listID
            });
            Tab newTab = new Tab();

            //Convert InfosTab (.NET Lib) to Tab (WinRT Component)
            newTab.id = id;
            newTab.dateTabContentUpdated = tab.DateTabContentUpdated;

            if (tab.TabOriginalPathContent == null)
            {
                newTab.pathContent = "";
            }
            else
            {
                newTab.pathContent = tab.TabOriginalPathContent;
            }

            switch (tab.TabContentType)
            {
            case ContentType.File:
                newTab.tabContentType = ContentTypeInfos.File;
                break;

            case ContentType.Folder:
                newTab.tabContentType = ContentTypeInfos.Folder;
                break;
            }
            newTab.tabDateModified     = tab.TabDateModified;
            newTab.tabName             = tab.TabName;
            newTab.tabNewModifications = tab.TabNewModifications;
            newTab.tabType             = tab.TabType;
            newTab.encoding            = EncodingsHelper.EncodingName(tab.TabEncoding, tab.TabEncodingWithBOM);

            return(newTab);
        }
Example #18
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(GlobalVariables.GlobalizationRessources.GetString("tabslist-defaultlistname"));
                }
                else
                {
                    if (!AppSettings.Values.ContainsKey("Tabs_list-selected-index"))
                    {
                        Lists.SelectedIndex = 0;
                    }
                }


                isLoaded = true;
            }
        }
Example #19
0
        public async Task WriteFile()
        {
            await DispatcherHelper.ExecuteOnUIThreadAsync(async() =>
            {
                try
                {
                    StorageFile file = await StorageFile.GetFileFromPathAsync(Tab.TabOriginalPathContent);

                    if (file != null)
                    {
                        await FileIO.WriteTextAsync(file, string.Empty);

                        Encoding TempEncoding = Encoding.GetEncoding(Tab.TabEncoding);

                        if (TempEncoding == Encoding.UTF8 && !Tab.TabEncodingWithBOM)
                        {
                            TempEncoding = new UTF8Encoding(false);
                        }

                        string Content = await TabsAccessManager.GetTabContentViaIDAsync(new TabID {
                            ID_Tab = Tab.ID, ID_TabsList = ListTabsID
                        });

                        using (var rd = new StreamWriter(await file.OpenStreamForWriteAsync(), TempEncoding))
                        {
                            rd.Write(Content);
                            rd.Flush(); rd.Dispose();
                        }

                        //Update DateModified (updated push with "PushUpdateTabAsync" in StorageRouter.WriteFile())
                        BasicProperties properties = await file.GetBasicPropertiesAsync();
                        Tab.TabDateModified        = properties.DateModified.ToString();

                        if (TempEncoding.CodePage == Encoding.ASCII.CodePage && Tab.TabEncodingReplacingRequest != EncodingReplacingRequest.Never)
                        {
                            var stream = new MemoryStream();
                            var writer = new StreamWriter(stream);
                            writer.Write(Content);
                            writer.Flush();
                            stream.Position = 0;

                            using (MemoryStream str = stream)
                            {
                                var cdet = new Ude.CharsetDetector();
                                cdet.Reset();
                                cdet.Feed(str);
                                cdet.DataEnd();
                                if (cdet.Charset != null)
                                {
                                    if (Encoding.GetEncoding(cdet.Charset).CodePage == Encoding.UTF8.CodePage)
                                    {
                                        await DispatcherHelper.ExecuteOnUIThreadAsync(async() =>
                                        {
                                            MessageDialog Dialog = new MessageDialog(new ResourceLoader().GetString("popup-changeencodingcontent"), string.Format(new ResourceLoader().GetString("popup-changeencodingtitle"), TempEncoding.EncodingName, cdet.Charset));
                                            Dialog.Commands.Add(new UICommand {
                                                Label = new ResourceLoader().GetString("popup-changeencodingaccept"), Invoked = async(e) => { Tab.TabEncoding = Encoding.GetEncoding(cdet.Charset).CodePage; Tab.TabEncodingWithBOM = false; Tab.TabEncodingReplacingRequest = EncodingReplacingRequest.NotRequested; await TabsWriteManager.PushUpdateTabAsync(Tab, ListTabsID, false); }
                                            });
                                            Dialog.Commands.Add(new UICommand {
                                                Label = new ResourceLoader().GetString("popup-changeencodinglater"), Invoked = async(e) => { Tab.TabEncodingReplacingRequest = EncodingReplacingRequest.MaybeLater; await TabsWriteManager.PushUpdateTabAsync(Tab, ListTabsID, false); }
                                            });
                                            Dialog.Commands.Add(new UICommand {
                                                Label = new ResourceLoader().GetString("popup-changeencodingno"), Invoked = async(e) => { Tab.TabEncodingReplacingRequest = EncodingReplacingRequest.Never; await TabsWriteManager.PushUpdateTabAsync(Tab, ListTabsID, false); }
                                            });
                                            await Dialog.ShowAsync();
                                        });
                                    }
                                }
                            }
                        }
                    }
                }
                catch
                {
                    await CreateFile().ContinueWith(async(e) =>
                    {
                        if (e.Result)
                        {
                            await WriteFile();
                        }
                    });
                }
            });
        }
Example #20
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 { }
                });
            });
        }
Example #22
0
        /* =============
         * = FUNCTIONS =
         * =============
         */



        public async void createTabFile()
        {
            await new StorageRouter(TabsAccessManager.GetTabViaID(new TabID {
                ID_Tab = id.tabID, ID_TabsList = id.listID
            }), id.listID).CreateFile();
        }
Example #23
0
 public IAsyncOperation <string> getContent()
 {
     return(TabsAccessManager.GetTabContentViaIDAsync(new TabID {
         ID_Tab = id.tabID, ID_TabsList = id.listID
     }).AsAsyncOperation());
 }
Example #24
0
 public async void saveContentToFile()
 {
     await new StorageRouter(TabsAccessManager.GetTabViaID(new TabID {
         ID_Tab = id.tabID, ID_TabsList = id.listID
     }), id.listID).WriteFile();
 }
Example #25
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;

                //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 { }
        }
Example #26
0
        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;
                            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.NewTab:
                                Tabs.Items.Add(notification.ID);

                                //Auto selection
                                Tabs.SelectedIndex = Tabs.Items.Count - 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 = await TabsAccessManager.GetTabsListViaIDAsync(notification.ID.ID_TabsList);
                                Lists.Items.Add(new ListItem {
                                    ListID = list.ID, ListName = list.name
                                });
                                Lists.SelectedIndex = Lists.Items.Count - 1;
                                break;

                            case TypeUpdateTab.ListDeleted:
                                Lists.Items.RemoveAt(Lists.SelectedIndex);
                                break;
                            }
                        }
                        else
                        {
                            switch (notification.Type)
                            {
                            case TypeUpdateTab.NewList:
                                var list = await TabsAccessManager.GetTabsListViaIDAsync(notification.ID.ID_TabsList);
                                Lists.Items.Add(new ListItem {
                                    ListID = list.ID, ListName = list.name
                                });
                                Lists.SelectedIndex = Lists.Items.Count - 1;
                                break;

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