viMarkdown の概要、主な特徴、操作方法、ロードマップ、ビルド方法等を知りたい方は README_ja.md を参照してください。
※ windows版: ビルドや環境構築は不要です! 本ページ下部の Assets からZIPをダウンロードして解凍するだけで、すぐに起動できます。
v0.3.033 リリースノート
1. 新機能:Diffモード専用「ミニマップ」の実装
- MiniMapクラスの新規追加
QWidgetを継承した専用のMiniMapクラスを新たに定義し、中央のペインに配置しました。
- 効率的なキャッシュ描画の導入
- オフスクリーン描画用のキャッシュとして
QPixmap(m_mapPixmap)を採用。差分計算の完了時に、文書の総行数に合わせて動的にサイズ調整(リサイズ)を行い、結果を一括描画する仕組みを構築しました。
- オフスクリーン描画用のキャッシュとして
- ビジュアルの最適化
- 計算された差分結果(追加・削除・通常行など)をミニマップに正確に投影する処理を実装しました。
- テキストが存在しないダミー行(ギャップ)部分をグレー背景として描き分けることで、ミニマップ上での差分位置の視認性を高めました。
2. 表示・動作に関する不具合修正
- 初期比較時の1行目消失バグの解消
- 文書をオープンした直後に文書比較を実行した際、比較元(左側)文書の1行目が誤ってダミー行と判定され、画面上から消えてしまう深刻な不具合を修正しました。
- 背景強調表示のズレの補正
- 差分エディタ上の背景ハイライトの描画位置が、本来の行の位置から上方向に数ピクセル(数ドット)ずれてしまっていた座標計算の不整合を解消しました。
3. 内部コードの整理・リファクタリング
- 差分表示のトグル処理を行う関数
MainWindow::onAction_DiffModeをdiff.cppへ移行し、MainWindowクラスの肥大化を防ぐためのリファクタリングを行いました。