Beispiel #1
0
        public void MainHandler(NameValueCollection parameters)
        {
            TestPlugin      addon = KodiBridge.RunningAddon as TestPlugin;
            List <ListItem> items = new List <ListItem> {
                new ListItem(
                    label: "AudioPlayer",
                    url: addon.BuildNavUrl("/audio"),
                    isFolder: true,
                    art: new Dictionary <Art, string> {
                    { Art.Poster, "https://upload.wikimedia.org/wikipedia/commons/2/25/Kodi-logo-Thumbnail-light-transparent.png" },
                    { Art.Fanart, "https://images.pexels.com/photos/167092/pexels-photo-167092.jpeg?dl&fit=crop&crop=entropy&w=6000&h=4000" }
                }
                    ),
                new ListItem(
                    label: "Events",
                    url: addon.BuildNavUrl("/events"),
                    isFolder: true
                    ),
                new ListItem(
                    label: "Nav",
                    url: addon.BuildNavUrl("/nav"),
                    isFolder: true
                    ),
                new ListItem(
                    label: "Playlist",
                    url: addon.BuildNavUrl("/playlist"),
                    isFolder: true
                    ),
                new ListItem("Item 2"),
                new ListItem("Item 3")
            };

            List.Add(items);
            List.Show();

            UiBuiltins.Notification(
                header: "My Notification",
                message: "Hello World from C#",
                duration: TimeSpan.FromSeconds(10)
                );

            /*
             * Persistent variables preserve their value between multiple plugin invokations,
             * unlike python in XBMC where everything is destroyed when the plugin is invoked again (e.g navigating between pages).
             * This is possible due to Assembly Domain that is created by the CLR once the plugin is loaded for the first time.
             **/
            TestPluginState.LastMainPageVisitTime = DateTime.Now;
        }
Beispiel #2
0
        public static void MainHandler(NameValueCollection parameters)
        {
            TestPlugin      addon = KodiBridge.RunningAddon as TestPlugin;
            List <ListItem> items = new List <ListItem> {
                new ListItem(
                    label: "AudioPlayer",
                    url: addon.BuildNavUrl("/audio"),
                    isFolder: true
                    ),
                new ListItem(
                    label: "Events",
                    url: addon.BuildNavUrl("/events"),
                    isFolder: true
                    ),
                new ListItem(
                    label: "Nav",
                    url: addon.BuildNavUrl("/nav"),
                    isFolder: true
                    ),
                new ListItem("Item 2"),
                new ListItem("Item 3")
            };

            List.Add(items);
            List.Show();

            //Console.WriteLine("Settings Test: " + addon.Settings["test"]);

            UiBuiltins.Notification(
                header: "My Notification",
                message: "Hello World from C#",
                duration: TimeSpan.FromSeconds(10)
                );

            /*
             * Persistent variables preserve their value between multiple plugin invokations,
             * unlike python in XBMC where everything is destroyed when the plugin is invoked again (e.g navigating between pages).
             * This is possible due to Assembly Domain that is created by the CLR once the plugin is loaded for the first time.
             **/
            TestPluginState.LastMainPageVisitTime = DateTime.Now;
        }
Beispiel #3
0
        public void NavHandler(NameValueCollection parameters)
        {
            TestPlugin addon = KodiBridge.RunningAddon as TestPlugin;

            string itemLabel = "Go to Main";

            if (TestPluginState.LastMainPageVisitTime != null)
            {
                itemLabel += string.Format(" (Last Visited: {0})", TestPluginState.LastMainPageVisitTime.Value.ToString());
            }

            List <ListItem> items = new List <ListItem> {
                new ListItem(
                    label: itemLabel,
                    url: addon.BuildNavUrl("/"),
                    isFolder: true
                    ),
            };

            Console.WriteLine(string.Format("ListItem label is '{0}'", items[0].Label));

            List.Add(items);
            List.Show();
        }