      
      @staticmethod
      def build_control_label(frame, title):
          ''' Build and place the control label '''
          label = tk.Label(frame, text=title, width=15, anchor=tk.W)
          label.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
  
      def build_combobox(self, frame, helptext, default, items):
          ''' Build and place combobox controls '''
          default = default if default in items else ''
          cmbvar = tk.StringVar(frame)
          cmbvar.set(default)
                          
          cmbbox = ttk.Combobox(frame, textvariable=cmbvar, width=40)
          cmbbox['values'] = [item for item in items]
          cmbbox.pack(fill=tk.X, padx=5, pady=5)
  
          self.bind_help(cmbbox, helptext)
          return cmbvar
  
      def build_checkbox(self, frame, helptext, default, title):
          ''' Build and place checkbox controls '''
          chkvar = tk.BooleanVar(frame)
          chkvar.set(default)
  
          chkbox = tk.Checkbutton(frame, variable=chkvar)
          chkbox.pack(padx=5, pady=5, anchor=tk.W)
          
          self.bind_help(chkbox, helptext)
          return chkvar
  
      def build_entrybox(self, frame, helptext, default, opentype = None):
          ''' Build and place entry controls '''
          default = default if default is not None else ''
          etyvar = tk.StringVar(frame)
 
</s> remove     def build_entrybox(self, frame, helptext, default, opentype = None):
        ''' Build and place entry controls '''
 </s> add     def build_control(self, frame, control, default, helptext, choices, sysbrowser):
        ''' Build and place the option controls ''' </s> remove         etyvar = tk.StringVar(frame)
        etyvar.set(default)
 </s> add  </s> remove     @staticmethod
    def build_control_label(frame, title):
 </s> add     def build_control_label(self, frame, control_title): </s> remove         if opentype is not None:
            self.add_browser_buttons(frame, opentype, etyvar)
 </s> add         var = tk.BooleanVar(frame) if control == tk.Checkbutton else tk.StringVar(frame)
        var.set(default)

        if sysbrowser is not None:
            self.add_browser_buttons(frame, sysbrowser, var) </s> remove             options = [option for options in self.opts.values() for option in options]
 </s> add             options = [opt for opts in self.opts.values() for opt in opts]
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
      
      @staticmethod
      def build_control_label(frame, title):
          ''' Build and place the control label '''
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
        lbl = tk.Label(frame, text=control_title, width=15, anchor=tk.W)
        lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N)
  
      def build_entrybox(self, frame, helptext, default, opentype = None):
          ''' Build and place entry controls '''
          default = default if default is not None else ''
          etyvar = tk.StringVar(frame)
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 GUI v0.1.0a (#336)

* Code clean up

* Code refactor

* bugfix: Find paths to icons when launched from outside faceswap dir

* Bugfix: Disable GUI if TkInter app not available

* BugFix: Disable GUI if $DISPLAY not detected

* Minor code ammends

* Code Refactor

* DISPLAY check fix 
scripts/gui.py