public ProjectSettingsWindow(string projectName, ProjectSettings settings)
        {
            InitializeComponent();

            // set variables
            this.settings = settings;

            // fill controls inital values
            lblProject.Text = projectName;
            txbPublishFolder.Text = settings.GetPublishLocation();
            chkIndividualFolder.IsChecked = settings.PublishTarget.IsUserSpecific;
            txbIgnoreFilter.Text = settings.IgnoreFilter;
            chkMappingEnabled.IsChecked = settings.MappingEnabled;

            // initialize controls
            txbPublishFolder.Focus();
        }
        /// <summary>
        /// Checks the configuration for the specified project.
        /// </summary>
        /// <param name="project">The project to check.</param>
        /// <param name="settings">The settings of the project.</param>
        /// <returns>true, if the configuration is valid; otherwise, false.</returns>
        private bool CheckConfiguration(Project project, ProjectSettings settings)
        {
            // check if configuration is valid
            string targetPath = settings.GetPublishLocation();
            if (targetPath.IsNullOrWhiteSpace())
            {
                MessageBoxResult result = MessageBox.Show(
                    "No publish location is specified! Do you want to specify it now?",
                    "Publish Location missing",
                    MessageBoxButton.YesNo,
                    MessageBoxImage.Warning,
                    MessageBoxResult.Yes);

                if (result == MessageBoxResult.No)
                    return false;

                // show the configuration dialog
                if (!ConfigureProject(project, settings))
                    return false;
            }

            return true;
        }