OSDN Git Service

VSCode追加
authorNakajima <fl.kouhei@gmail.com>
Tue, 23 Apr 2019 14:43:28 +0000 (23:43 +0900)
committerNakajima <fl.kouhei@gmail.com>
Tue, 23 Apr 2019 14:43:28 +0000 (23:43 +0900)
src/Items.py

index d9f78a2..c6fc0d3 100755 (executable)
@@ -55,6 +55,7 @@ def getItems_first_time(_interface) :
     items.append(Kdeconnect(_interface))
     items.append(Wine(_interface))
     items.append(Steam(_interface))
+    items.append(VSCode(_interface))
 
     return items
 
@@ -72,6 +73,7 @@ def getItems(_interface) :
     items.append(Playonlinux(_interface))
     items.append(Winetricks(_interface))
     items.append(Steam(_interface))
+    items.append(VSCode(_interface))
 
     return items
 
@@ -772,4 +774,67 @@ class Steam(Item) :
             else :
                 return
 
+class VSCode(Item) :
+    
+    def __init__(self, _interface) :
+        
+        super().__init__(_interface)
+        self.name = "Visual Studio Code"
+        self.execute_src = self.PATH + "/../scripts/vscodeinstall.sh"
+        self.restore_src = self.PATH + "/../scripts/vscodeuninstall.sh"
+
+
+    def first_time(self) : 
+
+        result =  self.interface.yesnoback("Do you want to install {}?".format(self.name)) 
+        if result is None :
+            return None
+        elif result :
+            return ("Installing " + self.name, self.execute)
+        else :
+            return False
+
+    def isdefault(self) :
+        
+        subprocess.call([self.PATH + "/../scripts/isinstalled.sh", "code"])
+        return super().isdefault("code")
+
+    def show(self) :
+       
+        if self.isdefault() :
+            self.interface.show("Visual Studio Code      : not installed") 
+        else :
+            self.interface.show("Visual Studio Code      : installed")
+
+    
+    def change(self) :
+
+        if self.isdefault() :
+            
+            str = ("{} is not installed.\n".format(self.name),
+                   "Do you want to install {}?".format(self.name))
+            
+            result = self.interface.yesnoback(str) 
+
+            if result is None :
+                return
+            elif result :
+                self.execute()
+            else :
+                return
+
+        else :
+            
+            str = ("{} is installed.\n".format(self.name),
+                   "Do you want to uninstall {}?".format(self.name))
+            
+            result = self.interface.yesnoback(str)
+
+            if result is None :
+                return
+            elif result :
+                self.restore()
+            else :
+                return
+