Skip to content

ver 0.3.033 dev

Latest

Choose a tag to compare

@vivisuke vivisuke released this 08 Jul 03:56

viMarkdown の概要、主な特徴、操作方法、ロードマップ、ビルド方法等を知りたい方は README_ja.md を参照してください。
※ windows版: ビルドや環境構築は不要です! 本ページ下部の Assets からZIPをダウンロードして解凍するだけで、すぐに起動できます。

v0.3.033 リリースノート

1. 新機能:Diffモード専用「ミニマップ」の実装

  • MiniMapクラスの新規追加
    • QWidget を継承した専用の MiniMap クラスを新たに定義し、中央のペインに配置しました。
  • 効率的なキャッシュ描画の導入
    • オフスクリーン描画用のキャッシュとして QPixmapm_mapPixmap)を採用。差分計算の完了時に、文書の総行数に合わせて動的にサイズ調整(リサイズ)を行い、結果を一括描画する仕組みを構築しました。
  • ビジュアルの最適化
    • 計算された差分結果(追加・削除・通常行など)をミニマップに正確に投影する処理を実装しました。
    • テキストが存在しないダミー行(ギャップ)部分をグレー背景として描き分けることで、ミニマップ上での差分位置の視認性を高めました。

2. 表示・動作に関する不具合修正

  • 初期比較時の1行目消失バグの解消
    • 文書をオープンした直後に文書比較を実行した際、比較元(左側)文書の1行目が誤ってダミー行と判定され、画面上から消えてしまう深刻な不具合を修正しました。
  • 背景強調表示のズレの補正
    • 差分エディタ上の背景ハイライトの描画位置が、本来の行の位置から上方向に数ピクセル(数ドット)ずれてしまっていた座標計算の不整合を解消しました。

3. 内部コードの整理・リファクタリング

  • 差分表示のトグル処理を行う関数 MainWindow::onAction_DiffModediff.cpp へ移行し、MainWindowクラスの肥大化を防ぐためのリファクタリングを行いました。