protected void GetAddingEventById(long id) { AddinsGetAddinDetailsByIdResult addinToEdit = new AddinsManager().GetAddinDetailsById(id); if (addinToEdit != null) { ddlAddinType.SelectedValue = addinToEdit.Type; //ddlAddinType_SelectedIndexChanged(ddlAddinType, new EventArgs()); ddlLanguage.SelectedValue = addinToEdit.LanguageID.ToString(); //ddlEventType.SelectedValue = addinToEdit.Type; txtPriority.Text = addinToEdit.Priority.ToString(); txtName.Text = addinToEdit.Title; //tURL.Text = addinToEdit.Details; txtShortDesc.Text = addinToEdit.ShortDesc; cbViewHome.Checked = (bool)addinToEdit.ViewHome; cbActive.Checked = (bool)addinToEdit.Active; //hfImageName.Value = addinToEdit.main_picture; editorDetails.Value = addinToEdit.Details; //cbPicThisMonth.Checked = (addinToEdit.ThisMonth != null ? (bool)(addinToEdit.ThisMonth) : false); //txtYoutubeId.Text = addinToEdit.main_picture; //if (addinToEdit.main_picture != null) { SelectedBackgroundImage.ImageUrl = "../../Public/image/library/" + addinToEdit.main_picture; hfImageName.Value = addinToEdit.main_picture; } // if (addinToEdit.Timestamp != null) { txtDatetime.Text = addinToEdit.Timestamp.ToString(); } } else { Response.RedirectPermanent("AddinView.aspx"); //?langId=" + ddlLanguageID.SelectedValue); } }
public AddinManagerCtrl(AddinsManager manager) { InitializeComponent(); _addinManager = manager; GetAddins(); }
//protected void ddlAddinType_SelectedIndexChanged(object sender, EventArgs e) //{ // ShowHideMediaControls(ddlAddinType.SelectedIndex); //} //private void ShowHideMediaControls(int selected) //{ // switch (selected) // { // case 2: // media photo // { // lblYoutube.Visible = txtYoutubeId.Visible = false; // lblFile.Visible = FileUpload1.Visible = true; // cbPicThisMonth.Visible = true; // break; // } // case 3: // media youtube // { // lblYoutube.Visible = txtYoutubeId.Visible = true; // cbPicThisMonth.Visible = lblFile.Visible = FileUpload1.Visible = false; // break; // } // default: // { // cbPicThisMonth.Visible = lblYoutube.Visible = txtYoutubeId.Visible = false; // lblFile.Visible = FileUpload1.Visible = true; // break; // } // } //} private void EditAdding() { Addin addinToEdit = new Addin(); AddinsManager addmgr = new AddinsManager(); if (txtName.Text != String.Empty && txtShortDesc.Text != String.Empty) { if (Request.QueryString["id"] != null) { addinToEdit.ID = Convert.ToInt32(Request.QueryString["id"]); } addinToEdit.Active = cbActive.Checked; //addinToEdit.ur = txtURL.Text; addinToEdit.LanguageID = Convert.ToInt32(ddlLanguage.SelectedValue); addinToEdit.Priority = Convert.ToInt32(txtPriority.Text); addinToEdit.Title = txtName.Text; addinToEdit.ViewHome = cbViewHome.Checked; addinToEdit.ShortDesc = txtShortDesc.Text; addinToEdit.Details = editorDetails.Value; addinToEdit.Timestamp = DateTime.Now; //addinToEdit.main_picture = UploadFile(); addinToEdit.Type = ddlAddinType.SelectedValue; //if (ddlAddinType.SelectedIndex == 3) // youtube video. //{ addinToEdit.main_picture = txtYoutubeId.Text; } //else if (ddlAddinType.SelectedIndex == 2) //{ // if (FileUpload1.HasFile) // { addinToEdit.main_picture = UploadFile(); } // else // { addinToEdit.main_picture = hfImageName.Value; } // addinToEdit.ThisMonth = cbPicThisMonth.Checked; //} if (addmgr.UpdateAddin(addinToEdit)) { Response.RedirectPermanent("AddinView.aspx"); //?langId=" + ddlLanguageID.SelectedValue); } else { lblError.Text = Resources.AdminResources_en.ErrorSave; } } else { lblError.Text = Resources.AdminResources_en.DataRequired; } }
public PreferencesForm(AddinsManager addinsManager) { InitializeComponent(); AddinTree.Sort(); _addinManager = addinsManager; _addinPages = new Dictionary <string, IPreferencePageExtension>(); InitAddinManager(); RefreshTreeView(); _addinManager.OnApplicationAddinListChanged += OnAppAddinListChanged; }
private void AddNewAdding() { Addin addinToAdd = new Addin(); AddinsManager addmgr = new AddinsManager(); if (txtName.Text != String.Empty && txtShortdesc.Text != String.Empty) { addinToAdd.ShortDesc = txtShortdesc.Text; addinToAdd.Details = editorDetails.Value; addinToAdd.LanguageID = Convert.ToInt32(ddlLanguage.SelectedValue); addinToAdd.Priority = Convert.ToInt32(txtPriority.Text); addinToAdd.Title = txtName.Text; addinToAdd.Active = cbActive.Checked; addinToAdd.ViewHome = cbViewHome.Checked; addinToAdd.Timestamp = DateTime.Now; addinToAdd.Type = ddlAddinType.SelectedValue; //if (ddlAddinType.SelectedIndex == 3) // youtube video. //{ addinToAdd.main_picture = txtYoutubeId.Text; } //else if (ddlAddinType.SelectedIndex == 2) //{ // addinToAdd.main_picture = UploadFile(); // addinToAdd.ThisMonth = cbPicThisMonth.Checked; //} if (addmgr.AddNewAddin(addinToAdd)) { Response.RedirectPermanent("AddinView.aspx"); //?lang=" + ddlLanguageID.SelectedValue); } else { lblError.Text += Resources.AdminResources_en.ErrorSave; } } else { lblError.Text += Resources.AdminResources_en.DataRequired; } }
protected void gvNews_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Delete") { // Get link id to delete. int catID = Convert.ToInt32(e.CommandArgument); // Delete event. AddinsManager addinObj = new AddinsManager(); if (addinObj.DeleteAddin(catID)) { lblError.Text = Resources.AdminResources_en.SuccessDelete; } else { lblError.Text = Resources.AdminResources_en.ErrorDelete; } } }
public void TestInitializationFromScratch() { CoreServices.Init(); App.Init(); Assert.AreEqual(homePath, App.Current.HomeDir); Assert.AreEqual(homePath, App.Current.ConfigDir); Assert.AreEqual(homePath, Directory.GetParent(App.Current.DBDir).ToString()); Assert.AreEqual(homePath, Directory.GetParent(App.Current.PlayListDir).ToString()); Assert.AreEqual(homePath, Directory.GetParent(App.Current.SnapshotsDir).ToString()); Assert.AreEqual(homePath, Directory.GetParent(App.Current.VideosDir).ToString()); AddinsManager.Initialize(App.Current.PluginsConfigDir, App.Current.PluginsDir); App.Current.DrawingToolkit = drawingToolkitMock.Object; App.Current.MultimediaToolkit = multimediaToolkitMock.Object; App.Current.GUIToolkit = guiToolkitMock.Object; App.Current.LicenseManager = mockLicenseManager.Object; App.Current.LicenseLimitationsService = mockLicenseLimitationService.Object; App.Current.PreviewService = new Mock <IPreviewService> ().Object; CoreServices.Start(App.Current.GUIToolkit, App.Current.MultimediaToolkit); // Check database dirs Assert.AreEqual(Path.Combine(homePath, "db"), Directory.GetParent(App.Current.TeamsDir).ToString()); Assert.AreEqual(Path.Combine(homePath, "db"), Directory.GetParent(App.Current.AnalysisDir).ToString()); Assert.AreEqual(1, App.Current.DatabaseManager.Databases.Count); // Check templates and db are initialized Assert.AreEqual(2, App.Current.TeamTemplatesProvider.Templates.Count); Assert.AreEqual(1, App.Current.CategoriesTemplatesProvider.Templates.Count); Assert.AreEqual(0, App.Current.DatabaseManager.ActiveDB.Count <LMProject> ()); CoreServices.Stop(); // Simulate an application restart CoreServices.Init(); CoreServices.Start(App.Current.GUIToolkit, App.Current.MultimediaToolkit); Assert.AreEqual(2, App.Current.TeamTemplatesProvider.Templates.Count); Assert.AreEqual(1, App.Current.CategoriesTemplatesProvider.Templates.Count); Assert.AreEqual(0, App.Current.DatabaseManager.ActiveDB.Count <LMProject> ()); }
public static void Main(string[] args) { /* Init Gtk */ Application.Init(); Core.Init(); /* Init GStreamer */ GStreamer.Init(); if (!GStreamer.CheckInstallation()) { return; } GLib.ExceptionManager.UnhandledException += new GLib.UnhandledExceptionHandler(OnException); Version version = Assembly.GetExecutingAssembly().GetName().Version; try { AddinsManager manager = new AddinsManager(Config.PluginsConfigDir, Config.PluginsDir); manager.LoadConfigModifierAddins(); GUIToolkit guiToolkit = new GUIToolkit(version); IMultimediaToolkit multimediaToolkit = new MultimediaFactory(); manager.LoadExportProjectAddins(guiToolkit.MainWindow); manager.LoadImportProjectAddins(guiToolkit.MainWindow); try { Core.Start(guiToolkit, multimediaToolkit); } catch (DBLockedException locked) { string msg = Catalog.GetString("The database seems to be locked by another instance and " + "the application will closed."); Log.Exception(locked); return; } Application.Run(); } catch (Exception ex) { ProcessExecutionError(ex); } }
public async Task TestGameAnalysis() { Guid projectID; App.Init(); CoreServices.Init(); App.Current.DependencyRegistry.Register <VAS.DB.IFileStorage, FileStorage> (0); AddinsManager.Initialize(App.Current.PluginsConfigDir, App.Current.PluginsDir); App.Current.DrawingToolkit = drawingToolkitMock.Object; App.Current.MultimediaToolkit = multimediaToolkitMock.Object; App.Current.GUIToolkit = guiToolkitMock.Object; App.Current.Dialogs = mockDialogs.Object; App.Current.Config.AutoSave = true; App.Current.LicenseManager = mockLicenseManager.Object; App.Current.LicenseLimitationsService = mockLicenseLimitationService.Object; App.Current.PreviewService = new Mock <IPreviewService> ().Object; CoreServices.Start(App.Current.GUIToolkit, App.Current.MultimediaToolkit); // Start importing templates App.Current.TeamTemplatesProvider.Save( App.Current.TeamTemplatesProvider.LoadFile(Utils.SaveResource("spain.ltt", tmpPath))); App.Current.TeamTemplatesProvider.Save( App.Current.TeamTemplatesProvider.LoadFile(Utils.SaveResource("france.ltt", tmpPath))); App.Current.CategoriesTemplatesProvider.Save( App.Current.CategoriesTemplatesProvider.LoadFile(Utils.SaveResource("basket.lct", tmpPath))); Assert.AreEqual(4, App.Current.TeamTemplatesProvider.Templates.Count); Assert.AreEqual(2, App.Current.CategoriesTemplatesProvider.Templates.Count); // Create a new project and open it LMProject p = CreateProject(); projectID = p.ID; LMProjectAnalysisVM viewModel; viewModel = new LMProjectAnalysisVM(); IVideoPlayerController playerController = new Mock <IVideoPlayerController> ().Object; viewModel.Project = new LMProjectVM { Model = p }; viewModel.VideoPlayer = new VideoPlayerVM { Player = playerController }; eventsController.SetViewModel(viewModel); // Do controllers start in here since the EventBroker is instantiante again in the test await eventsController.Start(); toolsManager.Start(); App.Current.DatabaseManager.ActiveDB.Store <LMProject> (p, true); // Tag some events Assert.AreEqual(0, p.Timeline.Count); AddEvent(p, 5, 3000, 3050, 3025); Assert.AreEqual(1, p.Timeline.Count); LMProject savedP = App.Current.DatabaseManager.ActiveDB.Retrieve <LMProject> (p.ID); Assert.AreEqual(1, savedP.Timeline.Count); AddEvent(p, 6, 3000, 3050, 3025); AddEvent(p, 7, 3000, 3050, 3025); AddEvent(p, 8, 3000, 3050, 3025); AddEvent(p, 5, 3000, 3050, 3025); Assert.AreEqual(5, p.Timeline.Count); savedP = App.Current.DatabaseManager.ActiveDB.Retrieve <LMProject> (p.ID); Assert.AreEqual(5, savedP.Timeline.Count); // Delete some events var events = new List <TimelineEvent> { p.Timeline [0], p.Timeline [1] }; await App.Current.EventsBroker.Publish <EventsDeletedEvent> ( new EventsDeletedEvent { TimelineEvents = events.Select(e => new TimelineEventVM() { Model = e }) } ); Assert.AreEqual(3, p.Timeline.Count); savedP = App.Current.DatabaseManager.ActiveDB.Retrieve <LMProject> (p.ID); Assert.AreEqual(3, savedP.Timeline.Count); // Now create a new LMProject with the same templates LMProject newProject = CreateProject(); viewModel.Project.Model = newProject; App.Current.DatabaseManager.ActiveDB.Store <LMProject> (newProject); Assert.AreEqual(2, App.Current.DatabaseManager.ActiveDB.Count <LMProject> ()); // Add some events and than remove it from the DB AddEvent(newProject, 6, 3000, 3050, 3025); AddEvent(newProject, 7, 3000, 3050, 3025); AddEvent(newProject, 8, 3000, 3050, 3025); AddEvent(newProject, 5, 3000, 3050, 3025); App.Current.DatabaseManager.ActiveDB.Delete <LMProject> (newProject); // Reopen the old project savedP = App.Current.DatabaseManager.ActiveDB.RetrieveAll <LMProject> ().FirstOrDefault(pr => pr.ID == projectID); viewModel.Project.Model = savedP; await App.Current.EventsBroker.Publish <SaveProjectEvent> ( new SaveProjectEvent { Project = savedP, ProjectType = ProjectType.FileProject } ); // Export this project to a new file savedP = App.Current.DatabaseManager.ActiveDB.Retrieve <LMProject> (projectID); Assert.AreEqual(3, savedP.Timeline.Count); Assert.AreEqual(12, savedP.LocalTeamTemplate.List.Count); Assert.AreEqual(12, savedP.VisitorTeamTemplate.List.Count); string tmpFile = Path.Combine(tmpPath, "longomatch.lgm"); mockDialogs.Setup(g => g.SaveFile(It.IsAny <string> (), It.IsAny <string> (), It.IsAny <string> (), It.IsAny <string> (), It.IsAny <string []> ())).Returns(tmpFile); await App.Current.EventsBroker.Publish <ExportProjectEvent> (new ExportProjectEvent { Project = p }); Assert.IsTrue(File.Exists(tmpFile)); savedP = Project.Import(tmpFile) as LMProject; Assert.IsNotNull(savedP); // Import a new project LongoMatchImporter importPlugin = new LongoMatchImporter(); ProjectImporter importer = new ProjectImporter { Description = importPlugin.Description + " test ", ImportFunction = new Func <Project> (importPlugin.ImportProject), FilterName = importPlugin.FilterName, Extensions = importPlugin.FilterExtensions, NeedsEdition = importPlugin.NeedsEdition, CanOverwrite = importPlugin.CanOverwrite, }; CoreServices.toolsManager.ProjectImporters.Add(importer); string projectPath = Utils.SaveResource("spain_france_test.lgm", tmpPath); mockDialogs.Setup(g => g.ChooseOption( It.IsAny <Dictionary <string, object> > (), It.IsAny <string> (), It.IsAny <object> ())). Returns(Task.Factory.StartNew(() => (object)importer) ); mockDialogs.Setup(g => g.OpenFile(It.IsAny <string> (), It.IsAny <string> (), It.IsAny <string> (), It.IsAny <string> (), It.IsAny <string []> ())).Returns(projectPath); await App.Current.EventsBroker.Publish <ImportProjectEvent> (new ImportProjectEvent()); Assert.AreEqual(2, App.Current.DatabaseManager.ActiveDB.Count <LMProject> ()); LMProject importedProject = App.Current.DatabaseManager.ActiveDB.RetrieveAll <LMProject> (). SortByCreationDate(true).ToList() [0]; Assert.IsNotNull(importedProject); Assert.AreNotEqual(importedProject.ID, p.ID); int eventsCount = p.Timeline.Count; AddEvent(p, 2, 3000, 3050, 3025); AddEvent(p, 3, 3000, 3050, 3025); savedP = App.Current.DatabaseManager.ActiveDB.Retrieve <LMProject> (p.ID); Assert.AreEqual(eventsCount + 2, savedP.Timeline.Count); await eventsController.Stop(); toolsManager.Stop(); }
public static void Main(string[] args) { CoreServices.Init(); InitGtk(); /* Init GStreamer */ GStreamer.Init(); //if (!GStreamer.CheckInstallation ()) // return; GLib.ExceptionManager.UnhandledException += new GLib.UnhandledExceptionHandler(OnException); Version version = Assembly.GetExecutingAssembly().GetName().Version; try { AddinsManager.Initialize(Config.PluginsConfigDir, Config.PluginsDir); AddinsManager.LoadConfigModifierAddins(); Config.DrawingToolkit = new CairoBackend(); Config.EventsBroker = new EventsBroker(); Config.MultimediaToolkit = new MultimediaToolkit(); Config.GUIToolkit = new GUIToolkit(version); bool haveCodecs = AddinsManager.RegisterGStreamerPlugins(); AddinsManager.LoadExportProjectAddins(Config.GUIToolkit.MainController); AddinsManager.LoadMultimediaBackendsAddins(Config.MultimediaToolkit); AddinsManager.LoadUIBackendsAddins(Config.GUIToolkit); AddinsManager.LoadServicesAddins(); Config.GUIToolkit.Register <IPlayerView, PlayerView> (0); if (!haveCodecs) { CodecsChoiceDialog ccd = new CodecsChoiceDialog(); int response = ccd.Run(); if (response == (int)ResponseType.Accept) { try { System.Diagnostics.Process.Start(Constants.WEBSITE); } catch { } } ccd.Destroy(); } try { CoreServices.Start(Config.GUIToolkit, Config.MultimediaToolkit); } catch (DBLockedException locked) { string msg = Catalog.GetString("The database seems to be locked by another instance and " + "the application will be closed."); Config.GUIToolkit.ErrorMessage(msg); Log.Exception(locked); return; } AddinsManager.LoadDashboards(Config.CategoriesTemplatesProvider); AddinsManager.LoadImportProjectAddins(CoreServices.ProjectsImporter); ConfigureOSXApp(); Application.Run(); } catch (AddinRequestShutdownException arse) { // Abort gracefully } catch (Exception ex) { ProcessExecutionError(ex); } finally { try { AddinsManager.ShutdownMultimediaBackends(); } catch { } } }
private void InitAddinsManager() { _addinsManager = new AddinsManager(); }