CustomScript

ページ

2016年12月4日日曜日

画像ビューアー 「NeeView」1.18 更新しました

  • WPF
画像ビューアー NeeView を 1.18 に更新しました。
今回はあまり大きな変更はありません。

  • ネットワークドライブ(NAS)アクセスの改善
  • 回転コマンド(右回転、左回転)に回転後に表示サイズを再適用するフラグ追加
  • 自動回転ON/OFFコマンド追加。メニューでは [画像]>[自動回転]
    • 縦長画像を90度回転させる。ウィンドウが縦長の場合は逆の動作を行う
    •  コマンドパラメータ設定で右回転、左回転を指定
  • エフェクト「レベル補正」のアルゴリズム変更



2016年11月17日木曜日

ファイル検索ツール「RealtimeSearch」1.5 更新しました

  • WPF
ファイル検索ツール RealtimeSearch を 1.5 に更新しました。
久々の更新です。

  • インストーラー版も提供するようにした
  • ファイル名変更の挙動をエクスプローラでの挙動に近づけた
  • 外部アプリを3つまで登録できるようにした
  • ポップアップでの詳細表示をパネルに変更。右下のボタンで表示ON/OFF
  • 検索設定に「単語一致」「完全一致」フラグを追加
    • 「単語一致」は連続した文字種類(アルファベット、かな、漢字等)を単語とみなしての検索です。日本語構文解析はしていないので正確な単語検索ではありません。

1.4の設定ファイルを使用する場合、一部設定(外部アプリ設定等)は引き継がれません。ご注意ください。

2016年10月23日日曜日

画像ビューアー 「NeeView」1.17 更新しました

  • WPF
画像ビューアー NeeView を 1.17 に更新しました。
エフェクトパネルの追加、起動時間の改善(インストーラー版のみ)が主な更新となります。

フォルダー構成が変更されています。Zip版で更新される場合は、下記「Zip版の更新についての注意」をお読みください。

  • 起動時間の改善(インストーラー版のみ)
  • エフェクトパネル
    • 表示>エフェクトパネル(E) で右パネルにエフェクトパネルが表示されます
      • パネルからエフェクトを選択することでエフェクトが適用されます
    • 設定ウィンドウ>表示設定>エフェクト
      • 「前回使用していたエフェクトを復元する」設定追加
      • 「色設定をHSVで行う」設定追加
    • 「グレイスケール」は廃止されました。エフェクトの「モノクローム」が代わりになります
  • 7z.dll
    • ver 16.04 に更新
    • 設定ウィンドウ>詳細設定に「7z.dll(32bit)の場所」追加。使用する7z.dllのパスを変更可能。
  • その他
    • フォルダ構成変更。dll類をLibrariesフォルダに移動
    • ページスライダー自動非表示をメニュー非表示設定から独立
    • 「スクロール↑(↓)」コマンドに移動量割合設定追加。
    • 「スクロール+前のページ(次のページ)」の縦スクロール対応。設定追加。
    • インストーラー版のショートカットをトップレベルに変更

Zip版の更新についての注意

フォルダ構成が変わりました。このため上書き更新はできません。
設定を引き継ぐには、全ての設定ファイル(全てのxmlファイル。UserSetting.xml,History.xml,Bookmark.xmk,Pagekmark.xml)を新しい1.17のフォルダ(NeeView.exeと同じ場所)にコピーしてください。
(インストーラー版はそのままインストールしても問題なく更新されます)

起動時間の改善について

.Netアプリケーションは、起動時にネイティブコードに変換する処理が行われるため起動が遅くなる傾向があります。
1.17のインストーラー版では、ngenを使用して変換済みネイティブコードもインストールすることで起動を高速化させています。
インストールという処理が必要なため、Zip版では未対応となります。

エフェクトについて

エフェクトはシェーダーで実装され、リアルタイムで適用されています。このためアニメーションGIFにも効果があります。
.Net標準で用意されているエフェクトを主に組み込んでいます。非実用的なエフェクトが多いかと思われますが賑やかしということで。(汗
パッケージサイズが増えたのは主にこのエフェクト用のdllを組み込んだことによります。

2016年10月5日水曜日

画像ビューアー 「NeeView」1.16 更新しました

  • WPF
画像ビューアー NeeView を 1.16 に更新しました。
インストーラー版の致命的バグの修正が主な更新となります。

  • バグ修正
    • インストーラー版でrarが読み込めないバグ修正(7z.dllが読み込めないバグ)
  • その他
    • スライダーの方向設定に「本を開く方向に依存する」を追加
    • 詳細設定の設定名をわかりやすい名前に変更
    • 詳細設定に「履歴、ブックマーク、ページマークを保存しない」を追加。Trueにするとファイル保存されなくなります。

2016年10月2日日曜日

画像ビューアー 「NeeView」1.15 更新しました

  • WPF
画像ビューアー NeeView を 1.15 に更新しました。
インストーラー版の追加、コマンド毎のパラメータ実装が主な更新となります

  • 配布形式にインストーラー版を追加
  • コマンド毎のパラメータ設定実装
    • コマンドリストで設定マークのあるコマンドはパラメータが設定できます。
    • 設定マークが薄いものは同種のコマンドとのパラメータ共有を意味します。本体を設定してください。
    • 設定マークをクリックするか「パラメーター設定」ボタンを押すことでパラメータ設定画面が開きます。
  • コマンドパラメータ設定詳細
    • 「表示サイズを切り替える」:ループ、切替可能スケールモードの選択
    • 「大きい場合ウィンドウサイズに合わせる」:オリジナルサイズとの切り替え(トグル)
    • 「拡大」:拡大率(%)
    • 「左回転」:回転角度
    • 「設定ページ数戻る」:移動ページ数
    • 「フォルダ内の前のページマークに移動」:ループ、最初と最後のページを含める
  • コマンドのショートカット入力での競合チェック機能実装
    • ショートカット、マウスジェスチャーが競合している場合、注意マークが表示されます。
    • ショートカット設定では競合したコマンドのどちらを使用するかを選択できます
    • コンテキストメニューのショートカット、ジェスチャーは競合チェックされません。ご注意ください。
  • その他
    • コマンドリストの「切替」フラグの廃止。代わりに「表示サイズを切り替える」のパラメータ設定で設定します。
    • 「設定ページ数戻る/進む」コマンド追加
    • 「設定ファイルの場所を開く」コマンド、メニュー追加
    • アイコン微調整

インストーラー版はアンインストールだけではユーザーデータが消えないのでご注意ください。


2016年9月19日月曜日

画像ビューアー 「NeeView」1.14 更新しました

  • WPF
画像ビューアー NeeView を 1.14 に更新しました。
ページマーク機能の追加が主な更新となります

  • バグ修正
    • パネル自動非表示のときのメニューでのパネルON/OFF挙動がおかしいバグ修正
    • 外部プロセスから起動したときにアクティブにならないことがあるバグ修正
    • ショートカットキー表記「Next」を「PageDown」に修正
  • ページマーク機能実装。ページ単位でのブックマーク機能です。マークされるとスライダー上にマーカーが表示されます。
    • ページマーク登録/削除コマンド実装(Ctrl+M)
    • ページマーク前後移動、フォルダー内ページマーク前後移動コマンド実装
    • ページマークパネル実装(M)
    • Pagemark.xmlとしてファイル保存されます
  • ブックマーク
    • 「ブックマークに登録する」コマンド廃止。「ブックマーク登録/解除」コマンドに統一しました(Ctrl+D)。
    • ブックマーク前後移動コマンド追加
    • メニューに「ブックマーク」グループ追加。ページマークの操作も含まれます
  • NeeView.exe.config による設定の廃止
    • 代わりに「設定」に「詳細設定」タブを追加。同様の設定を行うようにしました
    • これにより、上書き更新で NeeView.exe.config が上書かれて初期化される問題が解消されます


かなり前に要望のあったページ単位の記憶機能ですが、ようやく実装完了です。
ちなみに「ページマーク」は造語です。

2016年8月13日土曜日

画像ビューアー 「NeeView」1.13 更新しました

  • WPF
画像ビューアー NeeView を 1.13 に更新しました。
バグ修正のみとなります。

  • マウスジェスチャー設定でドラッグなしで入力完了すると強制終了するバグ修正
  • アクセス権のないフォルダにアスセスした時にアプリが強制終了するバグ修正
  • ウィンドウ復元座標がずれることがあるバグ修正
  • フルスクリーンでタスクバーが手前に表示されることがあるバグ修正

2016年7月5日火曜日

ファイル検索ツール「RealtimeSearch」1.4 更新しました

  • WPF
ファイル検索ツール RealtimeSearch を 1.4 に更新しました。
起動直後等、最初にインデックスを作成するのですが、検索でその処理のために結果がなかなか表示されないわかりにくさがあったため表示を追加しました。

  • 処理中の状態表示としてインデックス作成数を表示するようにした

これだけの変更です。


2016年6月29日水曜日

UNICODEファイル名に対応していないDLLでファイルアクセスを可能にする方法

  • C#
久々に技術系メモです。

古いDLLは"♥"とかのユニコード文字が使われているファイルにアクセスできないことがあります。
幸いなことにWindowsのファイルは8.3形式の別名のファイル名(ショートファイル名)を持っており、その名前でアクセスすればうまくいく可能性があります。

サンプルコードは以下のようになります。.Net にはショートファイル名を取得する機能がないので、Win32APIを使用して取得します。
NeeViewではこの方法でSusieプラグインでのユニコードファイル名アクセスを実現しています。

2016年6月19日日曜日

画像ビューアー 「NeeView」1.12 更新しました

  • WPF
画像ビューアー NeeView を 1.12 に更新しました。
ルーペの実装が主な更新です。

  • ルーペ実装
    • マウス左ボタン長押しで一時的な拡大表示モードになる
    • ルーペ時にマウスホイール上下でルーペの拡大率変更(2~10倍)
    • 設定:画像表示 → 長押し操作
  • 履歴ファイルの保存数制限設定追加
    • アプリ動作中の履歴数は制限されません
    • 設定:履歴設定 → 履歴保存数制限
  • 2ページ表示時の間隔設定追加
    • 設定:表示設定 → 2ページ表示

ルーペがルーペっぽくないのは仕様です ( ̄◇ ̄;)

2016年5月29日日曜日

画像ビューアー 「NeeView」1.11 更新しました

  • WPF
画像ビューアー NeeView を 1.11 に更新しました。
機能追加の更新は遅くなりそうですが、今回のように影響の大きそうなバグは早めに修正していきます。

  • バグ修正
    • スライダーを左>右の設定にしたときのサムネイルの並び不具合修正
  • 7z.dll関連
    • RAR5フォーマット対応
    • v16.02に差し替え


2016年5月28日土曜日

画像ビューアー 「NeeView」1.10 更新しました

  • WPF
画像ビューアー NeeView を 1.10 に更新しました。
フォルダーのバナー表示対応、ページリストのフォルダーリスト統合、クリップボード対応が主要変更点です。

  • バグ修正
    • 7z.dllを開いたままの設定で外部ファイル出力するとエラーになるバグ修正
    • ページの並びをシャッフルにしているときにファイル指定読み込みで指定ページにならないバグ修正
    • 圧縮ファイル2ページ対応の外部アプリ呼び出しで圧縮ファイルが2回呼ばれてしまう不具合修正
    • ページ削除後のページリスト、サムネイルリストの表示不具合修正
    • 高DPIでの拡大率表示が間違っていたバグ修正
  • パネル関連
    • ページリストをフォルダーリストに統合
    • パネルを自動的に隠す設定の時にキーでリスト操作中は隠れないようにした
    • フォルダーをバナー(サムネイル)表示できるようにした。(設定:表示設定>パネル)
    • パネルの不透明度設定廃止
    • ページリストのコンテキストメニューからファイル削除できるようにした(通常ファイルのみ)。
    • ブックマークリスト、履歴リストでの削除時に選択項目が大きく移動しないように修正
  • クリップボード関連
    • クリップボードにファイルをコピーするコマンド実装 (Ctrl+C) (設定:外部連携>クリップボードへのファイルコピー)
    • クリップボードに画像をコピーするコマンド実装 (Ctrl+Shift+C)
    • クリップボードからの貼り付けコマンド実装 (Ctrl+V)
  • エフェクト
    • グレイスケールエフェクト実装 (画像(I)>グレイスケール)
  • NeeView.exe.Config整備
    • パラメータの説明をコメントにした
    • パネルを自動的に隠すまでの時間を設定するパラメータ追加(PanelHideDelayTime)
  • サムネイルリスト関連
    • サムネイルリストの表示ON/OFF設定をコマンドに変更し、表示メニューに追加
    • 高DPIでのサムネイル表示サイズ修正
  • その他
    • ビュー操作による変化情報(スケール、角度等)を通知する設定追加。(設定:表示設定>通知表示)
    • サブフォルダ1つだけの場合に自動読み込みを行う設定追加 (設定:全般設定>その他)


#忙しくなりそうなので、更新頻度もしくは更新密度が下がりそうです。

2016年5月15日日曜日

画像ビューアー 「NeeView」1.9 更新しました

  • WPF
画像ビューアー NeeView を 1.9 に更新しました。
変更点は少ないですが、使用している7z.dllに脆弱性の問題があるため早めの更新です。


  • 7z.dll を v16.00 に更新
  • 7z.dllを使用する際、ファイルをひらいたままにする設定追加。(設定:全般設定 > その他)
    • rar等の7z.dllを使用した圧縮ファイルを閲覧中は移動、削除等のファイル操作できなくなります。以前のように閲覧中でもファイル操作を可能にするには設定を変更してください。
    • zipとsusie書庫プラグインはこの設定に影響されません
  • メモリ使用量に関する設定の追加。(設定:全般設定 > メモリ関連)
  • バグ修正
    • 存在しないフォルダを再読込するとハングするバグ修正
    • 存在しないフォルダに移動した時に前のサムネが残るバグ修正
    • メインメニューで1文字ショートカットが誤爆するバグ修正
  • ヘルプ機能
    • ヘルプボタン廃止。[その他(O)] > [ヘルプ(H)]にオンラインヘルプ機能移動
    • コマンドリスト一覧をブラウザで閲覧する機能実装
    • メインメニュー説明をブラウザで閲覧する機能実装
    • 設定ウィンドウ整備。わかりにくい項目にポップアップで説明を追加
  • 初期ショートカット、ゼスチャ変更
    • 1ページ/2ページ表示切り替えのショートカット、ゼスチャ変更
    • 1ページ前後移動のゼスチャ追加
    • 左ボタン+ホイール上下を画像表示サイズの切り替えに割当
  • UI整備
    • 自動で隠れる挙動変更。約1秒後に隠れるようにした
    • パネルが隠れている時にパネル系の表示ON/OFFコマンドを実行したときにパネル表示されるようにした
    • TABでのフォーカス移動整備
    • フォルダーリストの並び順変更でフォーカスが移動しないようにした
    • サムネイルリストに台紙追加。(設定:表示設定 > サムネイルリスト)
    • ファイル情報パネルに「フォルダーを開く」ボタン追加



2016年5月9日月曜日

画像ビューアー 「NeeView」1.8 更新しました

  • WPF
画像ビューアー NeeView を 1.8 に更新しました。
アドレスバー、サムネイルリスト、ページリスト、コンテキストメニューの追加が主な更新です。



  • (機能追加) アドレスバー実装。`表示(V)`>`アドレスバー`で表示
  • (機能追加) サムネイルリスト実装。(設定:表示設定>サムネイルリスト)
  • (機能追加) ページリスト実装。`表示(V)`>`ページリスト`でパネルとして表示
  • (機能追加) コンテキストメニュー実装。(設定:メニュー>コンテキストメニュー)
  • (フォルダーリスト) フォルダ、ファイルを選んで削除ができるようにした
  • (フォルダーリスト) フォルダ、ファイルを選んでエクスプローラーを開く機能追加
  • (フォルダーリスト) 並び順を指定するコンボボックス追加
  • (フォルダーリスト) 並び順はフォルダ単位で記憶されるように変更
  • (フォルダーリスト) 開いていたフォルダーを記憶するようにした
  • (履歴リスト) 履歴を選んで削除できるようにした
  • (パネル) パネルを自動的に隠す設定追加。`表示(V)`>`パネルを自動的に隠す`
  • (パネル) フルスクリーン時にパネルを自動的に隠す設定追加。(設定:表示設定>パネル)
  • (パネル) パネル表示時にフォーカスするようにした
  • (パネル) フォーカス時、ESCキーでパネル非表示にするようにした
  • (メニュー) `表示(V)`メニューを`表示(V)`と`画像(I)`に分けた
  • (メニュー) `設定(O)`を`その他(O)`に変更
  • (コマンド) フォルダ移動コマンドを現在のフォルダーリストを基に移動するように変更
  • (コマンド) 履歴移動コマンドで既に存在しないフォルダからも移動できるようにした
  • (コマンド) 「ページリストの表示ON/OFF」コマンド追加
  • (コマンド) 「アドレスバーON/OFF」コマンド追加
  • (コマンド) 「パネルを自動的に隠すON/OFF」コマンド追加
  • (コマンド) 「ブックマーク登録/解除」コマンド追加
  • (コマンド) 「上下反転ON/OFF」コマンド追加
  • (コマンド) 「上下反転ON」コマンド追加
  • (コマンド) 「上下反転OFF」コマンド追加
  • (その他) 名称「ランダム」を「シャッフル」に変更


同じ機能がいろんな場所で実装(例:ページ順設定はメニュー、コンテキストメニュー、アドレスバー、ページリストの4箇所で設定可能)されていてインターフェイスとしてはあまりよろしくないんでしょうけど、まあ使い方次第ということで。良い案思いついたら修正していきます。

2016年4月24日日曜日

画像ビューアー 「NeeView」1.7 更新しました

  • WPF
画像ビューアー NeeView を 1.7 に更新しました。
ブックマーク、履歴リストの追加が主な更新です。

  • (バグ修正) ファイル読み込みに失敗しても以前のフォルダが開かれたままになっていたバグ修正
  • (バグ修正) 2ページ左開きの時に基準ページが2ページ目になっていたバグ修正
  • (バグ修正) 「開いていたファイルを読み込む」が機能しないことがあるバグ修正
  • (機能追加) 履歴リストの追加。HキーでON/OFF
  • (機能追加) ブックマーク追加。BキーでON/OFF。Bookmark.xmlに保存されます
  • (機能追加) ウィンドウタイトル文字列のカスタマイズ機能追加(設定/表示設定)
  • (機能追加) コマンドラインオプションを整備
  • (コマンド) 「ブックマークに登録する」追加。Ctrl+D
  • (コマンド) 「前の履歴に戻る」追加。BackSpace
  • (コマンド) 「次の履歴へ進む」追加。Shift+BackSpace
  • (改善) フォルダーリスト等のパネルの幅を保存するようにした
  • (改善) フォルダーリストでフォルダーの変更を監視するようにした
  • (改善) 大量のフォルダーが存在するときのフォルダー移動速度の改善
  • (その他) 履歴保持数設定を廃止
  • (設定/全般) ウィンドウ座標復元のON/OFF設定を追加
  • (設定/スライドショー) スライドショーでのマウス移動でインターバルリセットする機能のON/OFF設定を追加

複雑になってきた、、バグが怖いです。

ファイル検索ツール「RealtimeSearch」1.3 更新しました

  • WPF
ファイル検索ツール RealtimeSearch を 1.3 に更新しました。
検索後のファイル追加削除に検索結果が追従するようになりました。他、Web検索や外部アプリ設定等の機能追加がされています。
  • (機能追加) Web検索ボタン追加
  • (機能追加) 外部アプリを指定できるようにした
  • (機能追加) 検索結果にプッシュピン機能を追加。次の検索でもピン留めした項目が残るようになります
  • (機能追加) 「既定のアプリで開く」コマンド追加
  • (機能追加) 「削除」コマンド追加
  • (機能追加) 「プロパティ」くコマンド追加
  • (機能追加) 検索キーワード履歴追加(過去6件分)
  • (改善) 検索結果にファイルシステムの変更を即座に反映させるようにした
  • (改善) インデックス作成速度の改善
  • (改善) 検索結果リストの項目の順番、幅を保存するようにした
  • (その他) ファイルアイコンを簡易版に変更。これによりリスト表示速度が向上

2016年4月18日月曜日

VisualStudio 2015 Update2 のメモ

  • VisualStudio2015
  • WPF
  • C#
久々に技術ネタを投稿。

VisualStudio 2015 Update2 がきていました。
詳細はこちら。

Visual Studio 2015 Update 2
https://www.visualstudio.com/news/vs2015-update2-vs

Visual Studio 2015 Update 2 リリース
https://blogs.msdn.microsoft.com/visualstudio_jpn/2016/03/31/visual-studio-2015-update-2-rtm/

C/C++パフォーマンスが改善されてたり、Git LFS対応とかいろいろありますが、その中で自分に関係しそうなWPFとC#に関連する変更点のみ挙げてみます。


C#インタプリタ


C#インタプリタを気軽に試せるようになりました。
「対話形式で実行(Ctrl+E,Ctrl+E)」 で C#インタラクティブウィンドウが開きます。
手前に開かないのでわかりにくいですが、ドキュメントのタブに[C# Interactive]が増えてると思います。
コンソールになっているので、以下のようにC#命令を直接入力実行できます。

> Console.WriteLine("Hello!")
Hello!

ソースコードのコードを選択してからCtrl+E,Ctrl+Eすると、そのコードをC#インタラクティブウィンドウ上で実行できるので、ちょっとしたチェックに使用できる、かな?

「#help」 で操作方法が表示されますが、それを見るとdllの読み込みやスクリプトの実行ができるようです。

・・といった感じですが、有用な活用方法が私には今のところなさげです。


コード修正機能がより便利になった -- Typo修正


コード上に現れる電球マークを押すとusing宣言を挿入したりインターフェイスの雛形を挿入してくれる便利な機能があるのですが、多少打ち間違えた場合でも正しいクラス名とかに修正してくれるようになりました。

例えば、
Straem
のようなtypoを
Stream
になおしてくれる、といった感じです。

試してみたのですが、修正が効かない場合があったり期待とは異なる修正を提案したりするので、過剰な期待はしないほうが良いでしょう。

ちなみに例で上げたようなtypoは Ctrl+t で前後の文字入れ替えるという機能を使って修正することができます。

コード修正機能がより便利になった -- null条件演算子へ変換、等


これもコード修正機能です。
if (action != null) action();
といったコードを
action?.Invoke();
のようなnull条件演算子を使用した修正を提案するようになりました。

他にも、awaitを使用してないasync関数からasyncを削除する修正を提案したりするようです。


C#アナライザのパフォーマンス向上


C# Analyzer および Visual Basic Analyzer の API が改良され、生成されたコードでアナライザーを実行するときのパフォーマンスと制御性が向上した、ようです。

使ってないのでよくわからないっす。


アプリ内のUIデバッグメニュー


WPFのプロジェクトをデバッグ実行すればすぐわかると思うのですが、アプリのタイトルバー直下にXAMLデバッグ用のUIメニューが表示されるようになりました。今までライブビジュアルツリーにあった機能ですが、それがより使いやすくなった感じでしょうか。


これを表示したくない場合は、[デバッグ(D)]>[オプション(O)] で「デバッグ>全般」の「アプリケーションでランタイムツールを表示」のチェックを外します。

あと、XAMLデバッグ関係ではライブプロパティエディタにアクセシビリティプロパティ(AutomationPeer)が表示されるようになったようです。うん、よくわからん。

これらのXAMLデバッグ機能については以下の動画(英語)を見るとなんとなくわかります。

Runtime Editing Tools for XAML
https://www.youtube.com/watch?v=Ama_giXPtvE



このムービーでは実行中にXAML編集していますが、これはUpdate2ではなく次期VisualStudioの新機能(現在プレビュー版)です

2016年4月10日日曜日

画像ビューアー 「NeeView」1.6 更新しました

  • WPF
画像ビューアー NeeView を 1.6 に更新しました。
フォルダーリスト表示機能が主な更新です。

  • (機能追加) フォルダーリストの追加。FキーでON/OFF
  • (機能追加) バージョン情報ウィンドウ実装([設定]>[NeeViewについて])。ここで最新バージョンチェックを行うようにした
  • (バグ修正) Susieプラグインパスの最後に'¥'が含まれていると順番入れ替えが反映しないバグ修正
  • (バグ修正) Susieプラグインに無効な拡張子設定がある場合除外するようにした
  • (改善) 2ページ表示時の隙間改善
  • (改善) ファイル情報パネル等の幅をドラッグで可変にした
  • (設定/全般) 「ページがない場合、サブフォルダも読み込むか問い合わせる」設定追加。標準OFFに変更。
  • (設定/全般) 「新しいフォルダーを開くときにページ設定を標準に戻す」追加
  • (設定/表示設定) パネル外観カテゴリ追加
  • (設定/表示設定) フォルダリストカテゴリ追加。「履歴マークを表示する」設定追加
  • (設定/履歴設定) 「ページ番号のみ復元する」設定追加
  • (その他) 履歴と設定を別ファイルに保存するようにした (履歴ファイル: History.xml)
  • (その他) 履歴マークを緑のチェックマークに変更
  • (その他) ファイル情報パネルを右側表示に変更

フォルダーリスト実装にかなり手こずり、時間をかけた割には少ない更新内容です。WPFの標準コントロールの外観変更、手強いです。

2016年3月27日日曜日

画像ビューアー 「NeeView」1.5 更新しました

  • WPF
画像ビューアー NeeView を 1.5 に更新しました。
ファイル情報表示とブラウザからの画像ドラッグ&ドロップ対応、Susieプラグイン対応の改善が主な更新です。



  • (機能追加) ファイル情報表示追加。Iキーで表示ON/OFF。設定で表示を変更可能
  • (機能追加) Webブラウザからの画像ドラッグ&ドロップに対応。設定でドロップされた画像の保存先を指定可能
  • (機能追加) WIC対応。デジカメ画像等、エクスプローラーでサムネイル表示される画像はおおよそ表示可能
  • (バグ修正) アプリ終了後にプロセスが残ることがある現象の対策
  • (バグ修正) 圧縮ファイル内に重複するファイル名がある場合に読めないバグ修正
  • (バグ修正) 同じ名前、同じ日付のものをソートすると結果が毎回変わるバグ修正
  • (改善) オリジナルサイズ表示の品質向上(ドットバイドット)
  • (改善) Susieプラグイン対応状況の改善
  • (改善) Susieプラグインリストでのドラッグ入れ替え操作改善
  • (改善) OSの高DPI設定対応。高DPIでも画像表示サイズは変わりません
  • (設定) 先読みON/OF設定追加
  • (コマンド) 「再読み込み」コマンド追加。ゼスチャー↑↓
  • (コマンド) 表示サイズ種類に「面積をウィンドウに合わせる」追加
  • (その他) メッセージボックスアイコン表示
  • (その他) ファイルが読めなかった場合の通知を簡素化

ファイル情報表示のデザインはおもいっきりWindows10標準の「フォト」を意識してます(汗

2016年3月13日日曜日

画像ビューアー 「NeeView」1.4 更新しました

  • WPF
画像ビューアー NeeView を 1.4 に更新しました。
ドラッグ操作改善とファイル操作系の追加が主な更新です。

  • (バグ修正) 修飾キー+マウスボタンが正しく機能しないバグ修正
  • (設定/Susie設定) プラグインリスト表示方法変更。ドラッグで順番入れ替えできるようにした
  • (設定/ビュー操作) 新設。左ボタン、中ボタンのドラッグ機能を設定できるようにした
  • (ドラッグ操作) ドラッグ中の修飾キー変更に対応
  • (ドラッグ操作) 左右反転追加。(Alt+LeftDrag)
  • (ドラッグ操作) 上下反転追加
  • (ドラッグ操作) 移動(スケール依存)追加。拡大率に応じて移動量が増加します
  • (ドラッグ操作) 拡大縮小(スライド式)追加。左右ドラッグでスケール変更します
  • (ドラッグ操作) ウィンドウ移動追加。(MiddleDrag)
  • (コマンド) 左右反転コマンド追加
  • (コマンド) 「外部アプリで開く」コマンド、メニュー追加
  • (設定/外部連携) 新設。外部アプリの設定を行う
  • (コマンド) 「名前をつけてファイルに保存」コマンド、メニュ「保存...」追加
  • (コマンド) 「ファイルを削除する」コマンド、メニュー「削除」追加
  • (コマンド) タイトルバーを消すコマンド、メニュー追加
  • (設定/一般設定) フォルダ名等の通知の表示設定追加
  • (設定/一般設定) NowLoading表示設定追加
  • (設定/一般設定) 圧縮ファイルサポート設定追加
  • (設定/一般設定) フルスクリーン復帰設定追加
  • (設定/一般設定) 起動時のスライドショー自動再生設定追加
  • (設定/一般設定) ファイル保存用設定追加
  • (その他) 常に手前に表示する設定を保存するようにした
  • (その他) いくつかのメニュー項目の表示名を変更

2016年3月6日日曜日

画像ビューアー 「NeeView」1.3 更新しました

  • WPF
画像ビューアー NeeView を 1.3 に更新しました。
特定のSusieプラグインを使用すると強制終了するバグの修正です。

  • (バグ修正) 特定のSusieプラグインを使用するとメニューを開く等のタイミングでアプリが強制終了するバグ修正
  • (その他) 設定のプラグインリストにプラグイン名と対応拡張子を表示するようにした

2016年2月28日日曜日

画像ビューアー 「NeeView」1.2 更新しました

  • WPF
画像ビューアー NeeView を 1.2 に更新しました。
今まで設定画面が開けないバグに気づけなかった…とほほ。

  • (バグ修正) 設定画面を開くとアプリが強制終了することがあるバグ修正
  • (バグ修正) Susieプラグイン設定が設定直後に反映されないバグ修正
  • (バグ修正) 画像ファイルを指定して開いた時に履歴が反映されないバグ修正
  • (バグ修正) コマンド設定の「表示」フラグが機能しないバグ修正
  • (設定) ページ切り替えでも拡大率、回転がキープされる設定追加
  • (設定) 「ファイルを開く」で現在開いているフォルダの場所を基準とする設定追加
  • (設定) 表示サイズ切り替えの候補を選択できるようにした(コマンド設定の「切替」フラグON/OFFで選択)
  • (設定) 起動時に前回開いていたフォルダを開く設定追加
  • (設定) 多重起動を禁止する設定追加。禁止されている場合でもSHIFTキーを押しながら起動することで複数起動可能です
  • (コマンド) 「ビューリセット」拡大率、回転をリセットするコマンド追加
  • (コマンド) 「常に手前に表示ON/OFF」コマンド、メニュー追加
  • (コマンド) 「メニューを自動的に隠すON/OFF」コマンド、メニュー追加
  • (コマンド) 「アプリを終了する」コマンド追加
  • (コマンド) 「表示サイズを切り替える(逆方向)」コマンド追加
  • (コマンド) 「マウス位置依存でページを前後させる」カーソルがウィンドウ左側でページ送り、右側でページ戻りするコマンド追加
  • (その他) フォルダのランダムな並びを固定化。フォルダ移動では変化せず、再起動、フォルダ並びの切替等で変化する
  • (その他) コマンドライン引数で画像ファイルを指定できるようにした(EXEにファイルをドロップして起動可能)


2016年1月28日木曜日

画像ビューアー 「NeeView」1.1 更新しました

  • WPF
画像ビューアー NeeView を 1.1 に更新しました。
縦長ウィンドウでの利便性向上が主な更新です。横長ページの分割機能、スクロール+ページ送りコマンド、が追加されています。
  • 横長ページ分割対応
  • 「スクロール+ページ送り」コマンド追加
  • 「ファイルの場所を開く」コマンド追加
  • ドットのまま拡大するモード追加
  • スケールモード「高さをウィンドウに合わせる」を追加
  • EXIFの回転情報を反映させる設定追加
  • 背景の設定をメニューで行うようにした
  • ページソートの種類を整備
  • 「単ページ表示」「見開きページ表示」を「1ページ表示」「2ページ表示」に名称変更
  • アプリケーション構成ファイルで横長ページ判定用縦横比を指定できるようにした

2016年1月23日土曜日

ファイル検索ツール「RealtimeSearch」1.2 更新しました

  • WPF
ファイル検索ツール RealtimeSearch を 1.2 に更新しました。
利便性の向上が主な変更で、機能に大きな変更はありません。
  • フォルダを検索結果に表示するかを設定できるようにした
  • ファイル名でのソートを自然順にした
  • ポップアップの情報を増やした
  • 処理中アニメーション追加
  • フォルダ選択ダイアログを標準のものに変更

2016年1月14日木曜日

画像ビューアー「NeeView」作ったよ

  • WPF

WPF勉強の成果物(その3)として画像ビューアーを作りました。

NeeView
https://bitbucket.org/neelabo/neeview/wiki/




フォルダ内の画像を本のように閲覧できる画像ビューアーです。
基本機能は一通り実装できてるかな?
  • シンプルなインターフェイス
  • 標準対応画像フォーマット (bmp, jpg, gif, tiff, png, ico)
  • 圧縮ファイル対応 (zip, rar, 7z, lzh)
  • 多重圧縮ファイル対応
  • マウスジェスチャー対応
  • キーカスタマイズ、ジェスチャ設定可能
  • ドラッグによる移動、回転、拡縮
  • 見開き表示モード
  • フルスクリーンモード
  • スライドショー機能
  • Susieプラグイン対応(UNICODEファイル名可)
  • マルチスレッド、先読み対応

2016年1月12日火曜日

PowerShell スクリプトで Hello World

  • Windows10
  • PwoerShell

そろそろ低機能なDOSバッチファイルから卒業したい、ということでPowerShellを触ってみました。 Windows10に標準搭載なので環境は問題無いです。

今回の課題は「"Hello World" を表示する」です。すべてのプログラム言語における最初の一歩です。
しかしこれが思いの外難航しました。

その1,まずはスクリプトファイルを作ろう

メモ帳を開いて以下のコードを書き込み、ファイル名 "test.ps1" で実験用の適当なフォルダに保存します。

ここまでは問題ありません。

さあ、これを実行したいのですが、PowerShellはあの手この手で実行を妨害してきます。挫折しかけます。

その2,ダブクリックで実行しようとして挫折する

.exeや.batならダブルクリック実行余裕なのですが、PowerShellはそうは問屋がおろしません。

最初、コンテキストメニューに「PowerShellで実行する」といったメニューがあった気がしますが、一度テキストエディタで開いてからそれすらも表示されなくなり、ダブルクリックではそのエディタが立ち上がるようになってしまいました。 ならばと既定のアプリ設定で .ps1 拡張子ファイルでPowerShellが立ち上がるようにしようとしたのですが、PowerShellは選択できませんでした。

調べてみたところ、レジストリを触る必要がありそうな気配。
てことで、ダブルクリック実行は諦め、PowerShellのコンソールを開いてそこから実行することにします。

特定のフォルダでPowerShellコンソールを開く方法ですが、エクスプローラーでそのフォルダに移動し、アドレスバーに "powershell" と入力してEnterキーを押せば開きます。ちなみに "cmd" でDOS窓が開きます。

さて、実行だ!

その3,test.p1 を実行しようとして失敗する

test.ps1 のあるフォルダでPowerShellコンソールを開き、スクリプトファイル名を入力して実行しようとします。

PS E:\Work\Labo> test.ps1
test.ps1 : 用語 'test.ps1' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。 名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 行:1 文字:1
+ test.ps1
+ ~~~~~~~~
    + CategoryInfo : ObjectNotFound: (test.ps1:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

実行に失敗します。カレントフォルダに検索パスが通ってないのが原因です。このあたりはUNIXと同じですね。てことで以下のようにします。

PS E:\Work\Labo> .\test.ps1

ですが、まだ動きません。ははは、こやつめ。

その4,セキュリティーに阻まれる

実行できずにエラーが表示されます。

PS E:\Work\Labo> .\test.ps1
.\test.ps1 : このシステムではスクリプトの実行が無効になっているため、ファイル E:\Work\Labo\test.ps1 を読み込むことができません。 詳細については、「about_Execution_Policies」(http://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:1
+ .\test.ps1
+ ~~~~~~~~~~
    + CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

PowerShellはセキュアですがその分気軽に使えなくなっています。
セキュリティーポリシーを変更する必要があります。Set-ExecutionPolicyコマンドでインターネット経由でダウンロードしたスクリプトのみ証明書を要求するように変えましょう。
長いコマンドですが、途中まで入力してTabキーを押すと補完してくれるので便利です。

PS E:\Work\Labo> Set-ExecutionPolicy RemoteSigned

実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies のヘルプ トピック (http://go.microsoft.com/fwlink/?LinkID=135170) で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): y

ででーん

Set-ExecutionPolicy : レジストリ キー 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell ' へのアクセスが拒否されました。 既定 (LocalMachine) のスコープの実行ポリシーを変更するには、[管理者として実行] オプションを使用して Windows PowerShell を起動してください。現在のユーザーの実行ポリシーを変更するには、"Set-ExecutionPolicy -Scope CurrentUser" を実行してください。
発生場所 行:1 文字:1
+ Set-ExecutionPolicy RemoteSigned
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : PermissionDenied: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

まだだ、まだ終わらんよ

その5,管理者権限が必要だよね

セキュリティー関係を触るのですから一般ユーザでは変更できませんね、はい。 ということで管理者権限でPowerShellコンソールを立ち上げます。

コルタナさんにpowershellを問い合わせると「Windows PowerShell」が候補に出てくるので、右クリックして「管理者として実行」してください。で、先ほどと同じコマンドを入力します。今度は成功するはずです。

エラーなく終了したらこの管理者コンソールは閉じてしまいましょう。

その6,Hello World

元のコンソールに戻って実行してみます。

PS E:\Work\Labo> .\test.ps1
Hello world

ようやく成功!
長かったよ、お疲れ様!