aboutsummaryrefslogtreecommitdiff
path: root/source/WindowsFormsApplication1/Desktop/ShiftOSDesktop.cs
diff options
context:
space:
mode:
Diffstat (limited to 'source/WindowsFormsApplication1/Desktop/ShiftOSDesktop.cs')
-rw-r--r--source/WindowsFormsApplication1/Desktop/ShiftOSDesktop.cs332
1 files changed, 169 insertions, 163 deletions
diff --git a/source/WindowsFormsApplication1/Desktop/ShiftOSDesktop.cs b/source/WindowsFormsApplication1/Desktop/ShiftOSDesktop.cs
index 6d8af77..85659c2 100644
--- a/source/WindowsFormsApplication1/Desktop/ShiftOSDesktop.cs
+++ b/source/WindowsFormsApplication1/Desktop/ShiftOSDesktop.cs
@@ -327,45 +327,53 @@ namespace ShiftOS
public void SetupDesktop()
{
- SetupRenderers();
- SetupDesktopPanel();
- SetupAppLauncher();
- SetupDesktopIcons();
- SetupGNOME2Elements();
- SetupPanelClock();
- SetupPanelButtons();
- CheckUnity();
- SetupWidgets();
- CheckForChristmas();
- //Set up the context menus.
- addDesktopPanelToolStripMenuItem.Visible = API.Upgrades["advanceddesktop"];
- widgetManagerToolStripMenuItem.Visible = API.Upgrades["advanceddesktop"];
- if (API.Upgrades["advanceddesktop"])
- {
- AppLauncherPanel.ContextMenuStrip = cbwidget;
- Clock.ContextMenuStrip = cbwidget;
- PanelButtonHolder.ContextMenuStrip = cbwidget;
- }
- else
- {
- AppLauncherPanel.ContextMenuStrip = null;
- Clock.ContextMenuStrip = null;
- PanelButtonHolder.ContextMenuStrip = null;
- }
- if (DesktopPanels != null) {
- foreach (var dp in DesktopPanels)
- {
- if (API.Upgrades["advanceddesktop"])
- {
- dp.ContextMenuStrip = cbdpanel;
- }
- else
- {
- dp.ContextMenuStrip = cbdpanel;
- }
- }
- }
- OnDesktopReload?.Invoke();
+ try
+ {
+ SetupRenderers();
+ SetupDesktopPanel();
+ SetupAppLauncher();
+ SetupDesktopIcons();
+ SetupGNOME2Elements();
+ SetupPanelClock();
+ SetupPanelButtons();
+ CheckUnity();
+ SetupWidgets();
+ CheckForChristmas();
+ //Set up the context menus.
+ addDesktopPanelToolStripMenuItem.Visible = API.Upgrades["advanceddesktop"];
+ widgetManagerToolStripMenuItem.Visible = API.Upgrades["advanceddesktop"];
+ if (API.Upgrades["advanceddesktop"])
+ {
+ AppLauncherPanel.ContextMenuStrip = cbwidget;
+ Clock.ContextMenuStrip = cbwidget;
+ PanelButtonHolder.ContextMenuStrip = cbwidget;
+ }
+ else
+ {
+ AppLauncherPanel.ContextMenuStrip = null;
+ Clock.ContextMenuStrip = null;
+ PanelButtonHolder.ContextMenuStrip = null;
+ }
+ if (DesktopPanels != null)
+ {
+ foreach (var dp in DesktopPanels)
+ {
+ if (API.Upgrades["advanceddesktop"])
+ {
+ dp.ContextMenuStrip = cbdpanel;
+ }
+ else
+ {
+ dp.ContextMenuStrip = cbdpanel;
+ }
+ }
+ }
+ OnDesktopReload?.Invoke();
+ }
+ catch (Exception catcherror)
+ {
+ Console.WriteLine(catcherror);
+ }
}
public void SetupWidgets()
@@ -1072,23 +1080,23 @@ namespace ShiftOS
if (API.Upgrades["usefulpanelbuttons"])
{
Widget ctrl = (Widget)sender;
- try
- {
- PanelButton pbtn = (PanelButton)ctrl.Tag;
- var frm = pbtn.FormToManage;
- if(frm.Left < Screen.PrimaryScreen.Bounds.Width)
- {
- API.MinimizeForm(frm);
- }
- else
- {
- API.ToggleMinimized(frm);
- }
- }
- catch
- {
-
- }
+ try
+ {
+ PanelButton pbtn = (PanelButton)ctrl.Tag;
+ var frm = pbtn.FormToManage;
+ if (frm.Left < Screen.PrimaryScreen.Bounds.Width)
+ {
+ API.MinimizeForm(frm);
+ }
+ else
+ {
+ API.ToggleMinimized(frm);
+ }
+ }
+ catch (Exception catcherror)
+ {
+ Console.WriteLine(catcherror);
+ }
}
}
@@ -1315,113 +1323,111 @@ namespace ShiftOS
public static List<DesktopIcon> Icons = null;
public static List<IconModel> Models = null;
- public static void GetIcons()
- {
- Icons = new List<DesktopIcon>();
- Models = new List<IconModel>();
- API.GetAppLauncherItems();
- if (!Directory.Exists(Paths.Desktop))
- {
- Directory.CreateDirectory(Paths.Desktop);
- }
- else
- {
- foreach (string dir in Directory.GetDirectories(Paths.Desktop))
- {
- //Get dir info
- var dinf = new DirectoryInfo(dir);
- //Create new IconModel
- var m = new IconModel();
- //Set name to dir name
- m.Name = dinf.Name;
- //Set type to Directory
- m.Type = IconType.Directory;
- //Set lua to open directory in File Skimmer
- m.Lua = $"fileskimmer('/Home/Desktop/{dinf.Name}')";
- Models.Add(m);
- }
- foreach (string file in Directory.GetFiles(Paths.Desktop))
- {
- //Get file info
- var finf = new FileInfo(file);
- //Create new IconModel
- var icm = new IconModel();
- //Set IconModel name to filename
- icm.Name = finf.Name;
- //Set IconModel's type based on file extension
- switch (finf.Extension.ToLower()) //Make the string lower-case for ease of use.
- {
- case ".desktop":
- //Desktop script.
- icm.Type = IconType.Script;
- icm.Lua = File.ReadAllText(finf.FullName); //The Lua that is to be ran by this script is in the file.
- break;
- case ".sct":
- //Desktop Shortcut - NYI
- break;
- default:
- //File.
- icm.Type = IconType.File;
- icm.Lua = $"fopen('/Home/Desktop/{finf.Name}')";
- break;
- }
- Models.Add(icm);
- }
- }
-
- foreach(IconModel m in Models)
- {
- var d = new DesktopIcon();
- d.IconName = m.Name;
- d.LuaAction = m.Lua;
- switch(m.Type)
- {
- case IconType.Directory:
- d.Icon = API.GetIcon("Folder");
- break;
- default:
- var finf = new FileInfo(Paths.Desktop + d.IconName);
- switch(finf.Extension)
- {
- case ".txt":
- case ".doc":
- case ".owd":
- case ".docx":
- d.Icon = API.GetIcon("TextFile");
- break;
- case ".skn":
- case ".spk":
- d.Icon = API.GetIcon("SkinFile");
- break;
- case ".saa":
- d.Icon = API.GetIcon("SAAFile");
- break;
- case ".pkg":
- case ".stp":
- d.Icon = API.GetIcon("SetupPackage");
- break;
- default:
- d.Icon = API.GetIcon("UnrecognizedFile");
- break;
- }
- break;
- }
- Icons.Add(d);
- }
- foreach (ApplauncherItem al in API.AppLauncherItems)
- {
- if (al.Display == true)
- {
- var dl = new DesktopIcon();
- dl.Icon = al.Icon;
- dl.IconName = al.Name;
- dl.LuaAction = al.Lua;
- Icons.Add(dl);
- }
- }
-
- }
-
+ public static void GetIcons()
+ {
+ Icons = new List<DesktopIcon>();
+ Models = new List<IconModel>();
+ API.GetAppLauncherItems();
+ if (!Directory.Exists(Paths.Desktop))
+ {
+ Directory.CreateDirectory(Paths.Desktop);
+ }
+ else
+ {
+ foreach (string dir in Directory.GetDirectories(Paths.Desktop))
+ {
+ //Get dir info
+ var dinf = new DirectoryInfo(dir);
+ //Create new IconModel
+ var m = new IconModel();
+ //Set name to dir name
+ m.Name = dinf.Name;
+ //Set type to Directory
+ m.Type = IconType.Directory;
+ //Set lua to open directory in File Skimmer
+ m.Lua = $"fileskimmer('/Home/Desktop/{dinf.Name}')";
+ Models.Add(m);
+ }
+ foreach (string file in Directory.GetFiles(Paths.Desktop))
+ {
+ //Get file info
+ var finf = new FileInfo(file);
+ //Create new IconModel
+ var icm = new IconModel();
+ //Set IconModel name to filename
+ icm.Name = finf.Name;
+ //Set IconModel's type based on file extension
+ switch (finf.Extension.ToLower()) //Make the string lower-case for ease of use.
+ {
+ case ".desktop":
+ //Desktop script.
+ icm.Type = IconType.Script;
+ icm.Lua = File.ReadAllText(finf.FullName); //The Lua that is to be ran by this script is in the file.
+ break;
+ case ".sct":
+ //Desktop Shortcut - NYI
+ break;
+ default:
+ //File.
+ icm.Type = IconType.File;
+ icm.Lua = $"fopen('/Home/Desktop/{finf.Name}')";
+ break;
+ }
+ Models.Add(icm);
+ }
+ }
+
+ foreach (IconModel m in Models)
+ {
+ var d = new DesktopIcon();
+ d.IconName = m.Name;
+ d.LuaAction = m.Lua;
+ switch (m.Type)
+ {
+ case IconType.Directory:
+ d.Icon = API.GetIcon("Folder");
+ break;
+ default:
+ var finf = new FileInfo(Paths.Desktop + d.IconName);
+ switch (finf.Extension)
+ {
+ case ".txt":
+ case ".doc":
+ case ".owd":
+ case ".docx":
+ d.Icon = API.GetIcon("TextFile");
+ break;
+ case ".skn":
+ case ".spk":
+ d.Icon = API.GetIcon("SkinFile");
+ break;
+ case ".saa":
+ d.Icon = API.GetIcon("SAAFile");
+ break;
+ case ".pkg":
+ case ".stp":
+ d.Icon = API.GetIcon("SetupPackage");
+ break;
+ default:
+ d.Icon = API.GetIcon("UnrecognizedFile");
+ break;
+ }
+ break;
+ }
+ Icons.Add(d);
+ }
+ foreach (ApplauncherItem al in API.AppLauncherItems)
+ {
+ if (al.Display == true)
+ {
+ var dl = new DesktopIcon();
+ dl.Icon = al.Icon;
+ dl.IconName = al.Name;
+ dl.LuaAction = al.Lua;
+ Icons.Add(dl);
+ }
+ }
+ }
public class IconModel
{
public string Name { get; set; }