/* ============= * = FUNCTIONS = * ============= */ private void Current_Activated(object sender, Windows.UI.Core.WindowActivatedEventArgs e) { if (e.WindowActivationState != CoreWindowActivationState.Deactivated) { CheckIfTabHaveNewOutsideUpdate(TabsAccessManager.GetTabViaID(GlobalVariables.CurrentIDs)); } }
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 = ""; }
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; } }
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); } } } }
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 = ""; }
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()); } } } }
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 { } }
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); }
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 { } }
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 saveContentToFile() { await new StorageRouter(TabsAccessManager.GetTabViaID(new TabID { ID_Tab = id.tabID, ID_TabsList = id.listID }), id.listID).WriteFile(); }
/* ============= * = FUNCTIONS = * ============= */ public async void createTabFile() { await new StorageRouter(TabsAccessManager.GetTabViaID(new TabID { ID_Tab = id.tabID, ID_TabsList = id.listID }), id.listID).CreateFile(); }