OSDN Git Service

AppliStation-GUI,スプラッシュスクリーンをまた変更
[applistation/AppliStation.git] / AppliStation / PackageInfoForm.cs
index 0844e0b..69409f1 100644 (file)
@@ -1,9 +1,10 @@
 using System;\r
 using System.Drawing;\r
 using System.Windows.Forms;\r
+using System.Text;\r
+using System.IO;\r
 using NaGet.Packages.Install;\r
 using NaGet.Packages;\r
-using System.Text;\r
 \r
 namespace AppliStation\r
 {\r
@@ -44,7 +45,7 @@ namespace AppliStation
                                }\r
                        }\r
                        nameLabel.Text = string.Format("{0} ({1})", pkg.Name, pkg.Version);\r
-                       nameLabel.Font = new Font(SystemFonts.DefaultFont.FontFamily, SystemFonts.DefaultFont.Size*1.5f);\r
+                       nameLabel.Font = new Font(SystemFonts.CaptionFont.FontFamily, SystemFonts.CaptionFont.Size*1.25f);\r
                        \r
                        summaryTextBox.Text = pkg.Summary;\r
                        \r
@@ -53,8 +54,8 @@ namespace AppliStation
                                \r
                                string instPath = null;\r
                                if (pkg.Type == InstallerType.ARCHIVE) {\r
-                                       instPath = System.IO.Path.Combine(NaGet.Env.ArchiveProgramFiles, pkg.Name);\r
-                               } else if (System.IO.Directory.Exists(uninstInfo.InstallLocation)) {\r
+                                       instPath = Path.Combine(NaGet.Env.ArchiveProgramFiles, pkg.Name);\r
+                               } else if (Directory.Exists(uninstInfo.InstallLocation)) {\r
                                        instPath = uninstInfo.InstallLocation;\r
                                }\r
                                \r
@@ -73,6 +74,8 @@ namespace AppliStation
                        if (pkg.Url != null) {\r
                                urlLinkLabel.Text = pkg.Url.Href;\r
                                urlLinkLabel.Links.Add(0, pkg.Url.Href.Length, pkg.Url.Href);\r
+                               urlLinkLabel.Enabled = true;\r
+                               urlLabel.Enabled = true;\r
                        } else {\r
                                urlLinkLabel.Text = string.Empty;\r
                                urlLinkLabel.Enabled = false;\r
@@ -81,6 +84,14 @@ namespace AppliStation
                        tagsTextBox.Text = pkg.Tags;\r
                        setLinkLabelFromLicense(licenseLinkLabel, pkg.License, (pkg.Url!=null)?pkg.Url.Href:string.Empty);\r
                        setTypeValueLabel(typeValueLabel, pkg.Type);\r
+                       if (! string.IsNullOrEmpty(pkg.PackageListName)) {\r
+                               packageListNameValueLabel.Text = pkg.PackageListName;\r
+                               packageListNameLabel.Enabled = true;\r
+                               packageListNameValueLabel.Enabled = true;\r
+                       } else {\r
+                               packageListNameLabel.Enabled = false;\r
+                               packageListNameValueLabel.Enabled = false;\r
+                       }\r
                        \r
                        tabControl1.TabPages.Clear();\r
                        if (pkg is InstalledPackage && string.IsNullOrEmpty(pkg.Version)) {\r
@@ -124,7 +135,7 @@ namespace AppliStation
                                #region オープンソースかつコピーレフト\r
                                case "GPL":\r
                                        linklabel.Text = "GPL (オープンソース)";\r
-                                       addLinkToLinkLabel(linklabel, "GPL", @"http://www.gnu.org/licenses/gpl.ja.html");\r
+                                       addLinkToLinkLabel(linklabel, "GPL", @"http://www.opensource.jp/gpl/gpl.ja.html");\r
                                        addLinkToLinkLabel(linklabel, "オープンソース", @"http://creativecommons.org/licenses/GPL/2.0/deed.ja");\r
                                        break;\r
                                case "GPLv2":\r
@@ -139,7 +150,7 @@ namespace AppliStation
                                        break;\r
                                case "LGPL":\r
                                        linklabel.Text = "LGPL (オープンソース)";\r
-                                       addLinkToLinkLabel(linklabel, "LGPL", @"http://www.gnu.org/licenses/lgpl.ja.html");\r
+                                       addLinkToLinkLabel(linklabel, "LGPL", @"http://www.opensource.jp/lesser/lgpl.ja.html");\r
                                        addLinkToLinkLabel(linklabel, "オープンソース", @"http://creativecommons.org/licenses/LGPL/2.1/deed.ja");\r
                                        break;\r
                                case "LGPLv2":\r
@@ -190,6 +201,11 @@ namespace AppliStation
                                        linklabel.Links.Add(0, linklabel.Text.Length, @"http://opentechpress.jp/docs/licenses/zlib-license.shtml");\r
                                        break;\r
                                #endregion\r
+                               case "WTFPL":\r
+                               case "WTFPLv2":\r
+                                       linklabel.Text = "WTFPL";\r
+                                       linklabel.Links.Add(0, linklabel.Text.Length, @"http://sam.zoy.org/wtfpl/");\r
+                                       break;\r
                                case "NYSL":\r
                                        linklabel.Text = "煮るなり焼くなり好きにしろライセンス";\r
                                        linklabel.Links.Add(0, linklabel.Text.Length, @"http://www.kmonos.net/nysl/NYSL_withfaq.TXT");\r
@@ -252,12 +268,16 @@ namespace AppliStation
                {\r
                        string linkData = e.Link.LinkData.ToString();\r
                        \r
-                       if (System.IO.Directory.Exists(linkData)) {\r
+                       if (Directory.Exists(linkData)) {\r
                                e.Link.Visited = true;\r
                                System.Diagnostics.Process.Start(e.Link.LinkData.ToString());\r
-                       } else if (System.Text.RegularExpressions.Regex.IsMatch(linkData, @"(https?|file)://")) {\r
+                       } else if (System.Text.RegularExpressions.Regex.IsMatch(linkData, @"^(https?|file)://")) {\r
                                e.Link.Visited = true;\r
-                               System.Diagnostics.Process.Start(linkData);\r
+                               try {\r
+                                       System.Diagnostics.Process.Start(e.Link.LinkData.ToString());\r
+                               } catch (System.ComponentModel.Win32Exception) {\r
+                                       MessageBox.Show(string.Format("{0}を開くのに失敗しました。", e.Link.LinkData), "ブラウザ起動エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
+                               }\r
                        }\r
                }\r
        }\r