public MainWindow(Settings settings, IntegratedListing integratedListing, CustomListing customListing,
                      SingleHostnameAccessor hostnameAccessor, CustomFileHandler customFileHandler, SceneRunner sceneRunner)
        {
            this.settings = settings;
              integratedSceneListing = integratedListing;
              customSceneListing = customListing;
              this.hostnameAccessor = hostnameAccessor; //qqUMI This will break if you update twice+
              this.customFileHandler = customFileHandler;
              this.sceneRunner = sceneRunner;

              InitializeComponent();
              PopulateSceneLists();
              PopulateHostname();
        }
        public void RunScene(Settings settings)
        {
            if (!settings.IsValid)
              {
            throw new ArgumentException("Given settings is missing a scene - nothing to run!");
              }

              if (settings.Scene != null)
              {
            notificationClient.PushScene(settings.Scene);
              }
              else
              {
            notificationClient.PushSceneName(settings.SceneName);
              }
        }
 private Settings GetSettingsFromArguments(IEnumerable<string> arguments)
 {
     var settings = new Settings();
       new ArgumentReader(settings, arguments).Read();
       return settings;
 }
 public ConsoleRunner(SceneRunner sceneRunner, ArgumentReader argumentReader)
 {
     this.sceneRunner = sceneRunner;
       this.settings = argumentReader.Read();
 }
 public void Setup()
 {
     settings = new Settings();
 }
 public SceneRunner(Settings settings, INotificationClient notificationClient)
 {
     this.notificationClient = notificationClient;
       this.settings = settings;
 }
 public ArgumentReader(Settings settings, IEnumerable<string> arguments)
 {
     this.settings = settings;
       this.arguments = arguments.ToList();
 }