private void ProcessTreeNode(TreeNode tn)
        {
            tn.Nodes.Clear();
            string path = tn.Tag.ToString();

            ClovershellWrapper.FolderDetail fd = ClovershellWrapper.getInstance().GetFolderDetail(path);
            foreach (string f in fd.Folders)
            {
                TreeNode c = new TreeNode(f);
                c.Tag                = path + f + "/";
                c.ImageIndex         = 1;
                c.SelectedImageIndex = 1;

                tn.Nodes.Add(c);
            }
            foreach (string f in fd.Files)
            {
                TreeNode c = new TreeNode(f);
                c.Tag                = path + f;
                c.ImageIndex         = 0;
                c.SelectedImageIndex = 0;

                tn.Nodes.Add(c);
            }

            tn.Expand();
        }
        private void OpenNode(TreeNode tn)
        {
            List <string> imagesExtensions = new List <string>();

            imagesExtensions.Add(".jpg");
            imagesExtensions.Add(".gif");
            imagesExtensions.Add(".png");

            string path = tn.Tag.ToString();
            string ext  = "";

            try
            {
                ext = System.IO.Path.GetExtension(tn.Text);
            }
            catch
            {
            }
            if (imagesExtensions.Contains(ext))
            {
                System.IO.MemoryStream str = new System.IO.MemoryStream();
                ClovershellWrapper.getInstance().GetFileInStream(path, str);
                str.Seek(0, System.IO.SeekOrigin.Begin);
                pictureBox1.Image = Image.FromStream(str);
                str.Close();
            }
            else
            {
                string text = ClovershellWrapper.getInstance().GetFileAsString(path);
                textBox1.Text = text.Replace("\n", "\r\n");
            }
        }
Esempio n. 3
0
        private void button6_Click(object sender, EventArgs e)
        {
            if (!ClovershellWrapper.getInstance().IsOnline())
            {
                Application.DoEvents();
                System.Threading.Thread.Sleep(1000);
                Application.DoEvents();
            }
            if (!ClovershellWrapper.getInstance().IsOnline())
            {
                MessageBox.Show("Nes classic need to be connected");
            }
            else
            {
                AddLog("Downloading chmenu script", null);

                string file = ClovershellWrapper.getInstance().GetFileAsString("/var/lib/hakchi/rootfs/bin/chmenu");


                if (!file.Contains("#CLEANSAVEDGAMEFOLDER"))
                {
                    AddLog("Building fixed files", null);
                    file = file.Replace("overmount_games", "#CLEANSAVEDGAMEFOLDER\nfind /var/lib/clover/profiles/0/ -type d -exec rmdir {} \\;\n#ENDCLEANSAVEDGAMEFOLDER\novermount_games");
                    AddLog("Uploading fixed files", null);
                    ClovershellWrapper.getInstance().UploadFile("/var/lib/hakchi/rootfs/bin/chmenu", file);
                    AddLog("Done", null);
                }
                else
                {
                    AddLog("Cache fix already in place", null);
                }

                RefreshInfo();
            }
        }
Esempio n. 4
0
 public static ClovershellWrapper getInstance()
 {
     if (instance == null)
     {
         instance = new ClovershellWrapper();
     }
     return(instance);
 }
        public CloverFileBrowser()
        {
            InitializeComponent();
            ClovershellWrapper.getInstance().OnConnected += Conn_OnConnected;

            // conn.ShellEnabled = true;
            tmr.Interval = 500;
            tmr.Tick    += Tmr_Tick;
            tmr.Enabled  = true;
        }
Esempio n. 6
0
        public RemoteViewer()
        {
            InitializeComponent();

            ClovershellWrapper.getInstance().OnConnected += Conn_OnConnected;

            this.FormClosing += RemoteViewer_FormClosing;
            wrk.DoWork       += Wrk_DoWork;
            wrk.RunWorkerAsync();
        }
Esempio n. 7
0
        public ClovershellConsolecs()
        {
            InitializeComponent();
            ClovershellWrapper.getInstance().OnConnected += Conn_OnConnected;

            // conn.ShellEnabled = true;
            tmr.Interval      = 500;
            tmr.Tick         += Tmr_Tick;
            tmr.Enabled       = true;
            this.FormClosing += ClovershellConsolecs_FormClosing;
        }
Esempio n. 8
0
 private void Wrk_DoWork(object sender, DoWorkEventArgs e)
 {
     while (!this.IsDisposed)
     {
         if (ClovershellWrapper.getInstance().IsOnline())
         {
             pictureBox1.Image = ClovershellWrapper.getInstance().Screenshot();;
         }
         Application.DoEvents();
     }
 }
        public LiveGameBrowser()
        {
            InitializeComponent();
            ClovershellWrapper.getInstance().OnConnected += Conn_OnConnected;;

            this.FormClosing += LiveGameBrowser_FormClosing;;
            if (ClovershellWrapper.getInstance().IsOnline())
            {
                Conn_OnConnected();
            }
        }
Esempio n. 10
0
        public void RefreshInfo()
        {
            /*refresh nes classic info*/
            string file = ClovershellWrapper.getInstance().GetFileAsString("/var/lib/hakchi/rootfs/bin/chmenu");

            NesClassicInfo ret = new NesClassicInfo();

            ret.GameClearingFixApplied = file.Contains("#CLEANSAVEDGAMEFOLDER");

            RefreshNESClassicInfoUI(ret, null);
        }
Esempio n. 11
0
 private void Tmr_Tick(object sender, EventArgs e)
 {
     if (ClovershellWrapper.getInstance().IsOnline() != oldStatus)
     {
         oldStatus = ClovershellWrapper.getInstance().IsOnline();
         if (ClovershellWrapper.getInstance().IsOnline())
         {
             AddLog("Connected");
         }
         else
         {
             AddLog("Disconnected");
         }
     }
 }
Esempio n. 12
0
        private void T_Tick(object sender, EventArgs e)
        {
            if (ClovershellWrapper.getInstance().IsOnline())
            {
                ClovershellWrapper.DiskSpaceInfo dsi = ClovershellWrapper.getInstance().GetDiskSpaceInfo();
                txtAvailableSpace.Text = dsi.Used.ToString() + "M/" + dsi.Size.ToString() + "M";
                progressBar1.Value     = (int)dsi.PCT;
            }
            else
            {
                progressBar1.Value = 0;
            }


            //throw new NotImplementedException();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (treeView1.SelectedNode != null && treeView1.SelectedNode.ImageIndex == 0)
            {
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.FileName = treeView1.SelectedNode.Text;
                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    System.IO.Stream s = sfd.OpenFile();

                    string path = treeView1.SelectedNode.Tag.ToString();
                    ClovershellWrapper.getInstance().GetFileInStream(path, s);
                    s.Close();
                    MessageBox.Show("Done");
                }
            }
        }
        private BasicInfo getFolderName(string path)
        {
            string s = ClovershellWrapper.getInstance().GetFileAsString(path);

            string[]  splitted = s.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries);
            BasicInfo bi       = new BasicInfo();

            foreach (string ss in splitted)
            {
                if (ss.StartsWith("Name="))
                {
                    bi.name = ss.Substring(5);
                }
                if (ss.StartsWith("Exec="))
                {
                    bi.exec = ss.Substring(5);
                }
            }
            return(bi);
        }
Esempio n. 15
0
 private void button1_Click(object sender, EventArgs e)
 {
     AddLog("->" + textBox1.Text);
     try
     {
         string[] allLogs = ClovershellWrapper.getInstance().ExecuteConsoleCommand(textBox1.Text);
         foreach (string s in allLogs)
         {
             AddLog(s);
         }
     }
     catch (Exception exc)
     {
         string[] allLogs = exc.Message.Split(new string[] { "\n" }, StringSplitOptions.None);
         foreach (string s in allLogs)
         {
             AddLog(s);
         }
     }
 }
        private void button2_Click(object sender, EventArgs e)
        {
            if (treeView1.SelectedNode != null)
            {
                TreeNode toUse = treeView1.SelectedNode;
                while (toUse.ImageIndex != 1)
                {
                    toUse = toUse.Parent;
                }
                string path = toUse.Tag.ToString();

                OpenFileDialog ofd = new OpenFileDialog();
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    System.IO.Stream strIn = ofd.OpenFile();

                    string fileName = System.IO.Path.GetFileName(ofd.FileName);
                    ClovershellWrapper.getInstance().UploadFile(path + fileName, strIn);
                    strIn.Close();
                    ProcessTreeNode(toUse);
                }
            }
        }
Esempio n. 17
0
        public Form1()
        {
            InitializeComponent();
            ClovershellWrapper.getInstance().OnConnected += Conn_OnConnected;

            t.Tick                            += T_Tick;
            t.Interval                         = 5000;
            t.Enabled                          = true;
            compressWorker.DoWork             += CompressWorker_DoWork;
            compressWorker.RunWorkerCompleted += CompressWorker_RunWorkerCompleted;
            distinguish.DoWork                += Distinguish_DoWork;
            distinguish.RunWorkerCompleted    += Distinguish_RunWorkerCompleted;
            cleanup.DoWork                    += Cleanup_DoWork;
            cleanup.RunWorkerCompleted        += Cleanup_RunWorkerCompleted;
            fixRom.DoWork                     += FixRom_DoWork;
            fixRom.RunWorkerCompleted         += FixRom_RunWorkerCompleted;
            backOptimize.DoWork               += BackOptimize_DoWork;
            backOptimize.RunWorkerCompleted   += BackOptimize_RunWorkerCompleted;
            this.FormClosing                  += Form1_FormClosing;
            progressBar1.Minimum               = 0;
            progressBar1.Maximum               = 100;
            RefreshHakchiInfo();
        }
        private void getTreenode(TreeNode tn, string path)
        {
            tn.Nodes.Clear();
            ClovershellWrapper.FolderDetail fd = ClovershellWrapper.getInstance().GetFolderDetail(path);

            for (int x = 1; x < fd.Folders.Count(); x++)
            {
                string s = fd.Folders[x];
                if (s.ToLower().StartsWith("clv"))
                {
                    BasicInfo bi = getFolderName(path + s + "/" + s + ".desktop");
                    TreeNode  c  = new TreeNode(bi.name);


                    tn.Nodes.Add(c);
                    if (bi.exec.StartsWith("/bin/chmenu"))
                    {
                        c.Tag                = basepath + bi.exec.Replace("/bin/chmenu ", "").Trim() + "/";
                        c.ImageIndex         = 1;
                        c.SelectedImageIndex = 1;

                        /*    if (bi.name != "Back")
                         *  {
                         *      getTreenode(c, basepath + bi.exec.Replace("/bin/chmenu ", "").Trim() + "/");
                         *  }*/
                    }
                    else
                    {
                        c.Tag                = path + s;
                        c.ImageIndex         = 0;
                        c.SelectedImageIndex = 0;
                    }
                }
                //         ProcessTreeNode(c);
            }
        }
Esempio n. 19
0
 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
 {
     ClovershellWrapper.getInstance().Disconnect();
 }