public override void WindowDidLoad()
        {
            base.WindowDidLoad();

            menuManager = new FigmaVersionMenu();
            menuManager.VersionSelected += (s, e) => {
                VersionSelected?.Invoke(this, e);
            };
            versionsMainMenu = NSApplication.SharedApplication.MainMenu.ItemWithTitle("Versions");

            CGRect frame = Window.Frame;

            ShouldCascadeWindows = true;

            frame.Width  = NSScreen.MainScreen.Frame.Width * 0.8f;
            frame.Height = NSScreen.MainScreen.Frame.Height * 0.8f;

            Window.SetFrame(frame, display: true);

            if (firstWindow)
            {
                Window.Center();
            }

            if (UsesDarkMode)
            {
                DarkModeButton.State = NSCellStateValue.On;
            }

            firstWindow = false;
        }
Ejemplo n.º 2
0
        public async Task UpdateVersionMenu(string link_id)
        {
            if (!UseAsVersionsMenu())
            {
                return;
            }

            versionsMainMenu.Activated += (s, e) => {
                FigmaFileVersion version = menuManager.GetFileVersion(versionsMainMenu);
                if (version != null)
                {
                    VersionSelected?.Invoke(this, version);
                }
            };

            var versions = await Task.Run(() =>
            {
                var query = new FigmaFileVersionQuery(link_id);

                FigmaSharp.AppContext.Current.SetAccessToken(TokenStore.SharedTokenStore.GetToken());

                return(FigmaSharp.AppContext.Api.GetFileVersions(query)
                       .versions.GroupByCreatedAt()
                       .ToArray());
            });

            menuManager.Clear();

            foreach (var version in versions)
            {
                menuManager.AddItem(version);
            }

            UseAsVersionsMenu();
        }
Ejemplo n.º 3
0
        public void UpdateVersionMenu()
        {
            var menu = new VersionMenu();

            menu.VersionSelected += delegate(string version_id) {
                VersionSelected?.Invoke(this, version_id);
            };

            menu.AddItem("1", "FigmaSharp.Cocoa 0.0.1", DateTime.Now);
            menu.AddItem("2", "FigmaSharp.Cocoa 0.0.2", DateTime.Now);
            menu.AddItem("3", "FigmaSharp.Cocoa 0.0.3", DateTime.Now);
            menu.AddItem("4", DateTime.Now);
            menu.AddItem("5", DateTime.Now.AddDays(-7));
            menu.AddItem("6", DateTime.Now.AddDays(-14));

            menu.UseAsVersionsMenu();
        }
        public async Task UpdateVersionMenu(string link_id)
        {
            if (!UseAsVersionsMenu())
            {
                return;
            }

            versionsMainMenu.Activated += (s, e) => {
                FigmaFileVersion version = menuManager.GetFileVersion(versionsMainMenu);
                if (version != null)
                {
                    VersionSelected?.Invoke(this, version);
                }
            };

            var versions = await Task.Run(() =>
            {
                try
                {
                    var query = new FigmaFileVersionQuery(link_id);

                    return(FigmaSharp.AppContext.Api.GetFileVersions(query)
                           .versions.GroupByCreatedAt()
                           .ToArray());
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                    return(new FigmaFileVersion[0]);
                }
            });

            menuManager.Clear();

            foreach (var version in versions)
            {
                menuManager.AddItem(version);
            }

            UseAsVersionsMenu();
        }