続々:Google Deskbarで遊んでみる
二回ほど続いているこのシリーズ記事ですが、今回のは私的にちょっと使えるツールです。
まずはC#のコードから。例によって、整形のためTabは全角スペースにしてあります。
using System;
using System.IO;
using System.Reflection;
using System.Diagnostics;
using Google.Desktop;
namespace gmemolite
{
/// <summary>
/// gmEditorクラスはGmemoliteの各種動作周り
/// </summary>
public class gmEditor
{
public static string pathf()
{
//pluginがあるパスを取り出す
Assembly myAssembly = Assembly.GetExecutingAssembly();
string path = myAssembly.Location;
//パスの拡張子部分を置換して、メモファイルまでのパスにする
return path.Replace(".dll",".txt");
}
//通常の書き込み時の動作
//メモファイルに追記する。ファイルが存在しない場合は新規作成。
//メモファイルの文字コードはUTF-8。
public static string gmWrite(string query)
{
string txtpath = pathf();
//メモファイルを開く
StreamWriter sw = new StreamWriter(txtpath, true);
//時刻を取得する
string nowtime = DateTime.Now.ToString();
//queryの内容を書き込む
sw.WriteLine("[" + nowtime + "] " + query);
//閉じる
sw.Close();
return query = "書き込みました";
}
//gmedit入力時の動作
//メモファイルを、txt形式に関連づけられたプロセスで起動する。
public static string gmEdit()
{
string txtpath =gmEditor.pathf();
try
{
Process p = Process.Start(txtpath);
return "メモを開きます";
}
catch
{
return "メモを開けませんでした";
}
}
}
/// <summary>
/// gmemolite の概要の説明です。
/// </summary>
public class gmemolite : ICustomSearch
{
public string Title()
{
return "Gメモ";
}
public OutputType GetOutputType()
{
return OutputType.kDeskbar;
}
public string Run(string query, OutputType browser_type)
{
//結果を入れる変数宣言
string kekka = "";
//if文で分岐
if(query == "gmedit")
{
kekka = gmEditor.gmEdit();
}
// else if(query == "gmview")
// {
//
// }
else
{
kekka = gmEditor.gmWrite(query);
}
return kekka;
}
}
}
これで、簡易メモ帳になります。Google Deskbarに保存したい内容を入力して、メニューからプラグインを選択すると、pluginフォルダに作られたテキスト形式のメモファイル(固定)に日付・時刻付きで追記されていきます。
記録したファイルを開いてみたいときは、「gmedit」と入力してプラグインを選択すると、拡張子.txtに関連づけられたアプリでメモファイルが開きます。
#ただし、文字コードはUTF-8です。
急な電話やブラウズ中のちょっとしたメモなどに使えるかな、と思いましたが、碧はURLのメモに使っています。今後、直近の数件のメモ内容がDeskbarで見れる機能や、メモファイルを一旦全て消す機能など追加すると良さそうですね。別名でメモファイルを保存する機能なんかもよさそうです。
コメント