// created by momotaro
/*------------------------------------------------------------------------------
= toggleReadonly.vvs ver.0.01
実行するたびに、ファイルの読み取り専用属性を入れ替えるスクリプトです。

読み取り専用のファイルを開いていて、それを編集したくなったとき、
右下の「書禁」をクリックしてもファイルの属性が変わるわけではないので
エクスプローラ等から属性を変えてやらないといけません。

このスクリプトがあれば、ViVi上からファイルの読み取り専用属性を変更することができます。

このスクリプトでは処理実行後に右下の「書禁」欄の状態を更新するために
再ロードしようとします。
編集中の場合はダイアログがでますので「いいえ」を押してもらえばOKです。

== これまでの歴史
=== ver.0.01 (2008/04/21)
* スクリプトがいつの間にか動かなくなっていたのを修正して、
  Nicholaiに登録できるようにヘッダコメントを整えた。

=== 昔々 (2004/08/23)
* ふと思い立って作った。ハズ。

*/

function isReadonly( filename )
{
	var fp = stdioFile();
	fp.open(filename);
	var attr = fp.getStatus();
	fp.close();

	return (attr.attribute & 0x01);
}

function main()
{
	var f = thisDocument.getPathName();

	winExec("attrib.exe " + (isReadonly(f) ? "-r" : "+r") + " \"" + f + "\"", 0);

	sleep(100); //環境によっては数字を増減させるべし。
	thisView.viCommand("33055#c"); //再ロード

	if (isReadonly(f)) {
		statusBar.write("読み取り専用属性を設定しました。");
	} else {
		statusBar.write("読み取り専用属性を設定解除しました。");
	}
}