コード例 #1
0
ファイル: Page.cs プロジェクト: olivierdagenais/merki
        public static List<Page> Search(DirectoryInfo repositoryRoot, string filter)
        {
            var result = new List<Page>();

            var keywords = filter.Split(' ');
            foreach (var fileInfo in repositoryRoot.GetFiles("*.wiki"))
            {
                var page = new Page(fileInfo);

                bool matches = true;
                foreach (var keyword in keywords)
                {
                    if (!page.Matches(keyword))
                    {
                        matches = false;
                        break;
                    }
                }

                if (matches)
                    result.Add(page);
            }

            return result;
        }
コード例 #2
0
ファイル: MainForm.cs プロジェクト: olivierdagenais/merki
        private void LoadDocument(Page page)
        {
            loading = true;
            SaveDocument();

            ActivePage = page;
            editor.Text = ActivePage.Text;
            searchText.Clear();
            editor.Focus();

            loading = false;

            Text = ActivePage == null
                ? string.Empty
                : string.Format("{0} - Merki", ActivePage["Title"]);
        }
コード例 #3
0
ファイル: MainForm.cs プロジェクト: olivierdagenais/merki
        public MainForm(Repository repository)
        {
            Repository = repository;
            InitializeComponent();

            var username = System.Environment.UserName;
            var homePage = new Page( Repository[username + ".wiki"] );
            if (homePage.IsNew)
                homePage["Title"] = username + "'s Home Page";

            LoadDocument( homePage );
            SearchFilterChanged();

            timer.AutoReset = false;
            timer.Elapsed += timer_Elapsed;
        }
コード例 #4
0
ファイル: MainForm.cs プロジェクト: olivierdagenais/merki
 private void newPageMenuItem_Click(object sender, EventArgs e)
 {
     var newPageDialog = new NewPageForm();
     var result = newPageDialog.ShowDialog(this);
     if (result == DialogResult.OK)
     {
         var name = Guid.NewGuid() + ".wiki";
         var page = new Page( Repository[name] );
         page["Title"] = newPageDialog.PageTitle;
         LoadDocument(page);
     }
 }
コード例 #5
0
ファイル: MainForm.cs プロジェクト: olivierdagenais/merki
 private void UpdatePreview(Page page)
 {
     if (page != null)
     {
         var wikiText = page.Text;
         var renderedText = wikiRenderer.Render(wikiText);
         previewBrowser.DocumentText = renderedText;
     }
     else
     {
         previewBrowser.DocumentText = string.Empty;
     }
 }