diff options
author | Jeremie Laval <jeremie.laval@gmail.com> | 2012-11-16 21:20:48 +0400 |
---|---|---|
committer | Jeremie Laval <jeremie.laval@gmail.com> | 2012-11-16 21:22:20 +0400 |
commit | e798cd51f95f2ea0c1982bb55edbed8396f07186 (patch) | |
tree | ac7dde1211e1748d2e80c8456bdeafdb1e288bc8 | |
parent | d5ea468c6e10a5a42a0f32956d09a0baef711db4 (diff) |
[macdoc] Add --search flag to macdoc.
The flag will make macdoc opens a untitled window (in addition to the restored ones), switch it to search mode, prefill the search entry and launch the search itself.
-rw-r--r-- | AppDelegate.cs | 10 | ||||
-rw-r--r-- | MyDocument.cs | 10 |
2 files changed, 20 insertions, 0 deletions
diff --git a/AppDelegate.cs b/AppDelegate.cs index 8bd081b..0f56d9e 100644 --- a/AppDelegate.cs +++ b/AppDelegate.cs @@ -113,6 +113,16 @@ namespace macdoc public override void FinishedLaunching (NSObject notification) { + // Check if we are loaded with a search term and load a document for it + var args = Environment.GetCommandLineArgs (); + NSError error; + var searchArgIdx = Array.IndexOf<string> (args, "--search"); + if (searchArgIdx != -1 && args.Length > searchArgIdx + 1 && !string.IsNullOrEmpty (args [searchArgIdx + 1])) { + var document = controller.OpenUntitledDocument (true, out error); + if (document != null) + ((MyDocument)document).LoadWithSearch (args[searchArgIdx + 1]); + } + var indexManager = IndexUpdateManager; indexManager.CheckIndexIsFresh ().ContinueWith (t => { if (t.IsFaulted) diff --git a/MyDocument.cs b/MyDocument.cs index 48a652c..49a7554 100644 --- a/MyDocument.cs +++ b/MyDocument.cs @@ -46,6 +46,16 @@ namespace macdoc return "Mono Documentation Browser"; } } + + public void LoadWithSearch (string searchTerm) + { + if (!string.IsNullOrEmpty (searchTerm)) { + toolbarSearchEntry.StringValue = searchTerm; + tabSelector.SelectAt (2); + Search (searchTerm); + Console.WriteLine ("Searched: '{0}'", searchTerm); + } + } public override bool ReadFromUrl (NSUrl url, string typeName, out NSError outError) { |