Comments (6)
なんというか、既知のバグを報告しておきます。
既存のファイルダイアログには、上書き確認メッセージを表示するカスタムが施されているのですが、アイテムダイアログにはこれが移植されてないっぽいです。
文字列リソース STR_DLGOPNFL3
の定義が(おそらく)誤っており、新旧比較すると差になります。
誤: "名前を付けて保存"
正: "名前を付けて保存の確認"
これ直しても誰も嬉しくなさそうなので黙ってました。
アイテムダイアログに関しての説明では、「既存機能の一部が移植されていないかも」という話になると思います。
from sakura.
以下がcppで定義されているために、単体テストが記述不能である点が気になっています。
struct CDlgOpenFile_CommonFileDialog
旧来のOFNダイアログ実装。struct CDlgOpenFile_CommonItemDialog
Vista以降のアイテムダイアログ実装。
このプロジェクトで「エンジニアリングしたい民」はどうも自分だけのようなので、他の人が気にならないなら放置で良いと思っています。
from sakura.
以下がcppで定義されているために、単体テストが記述不能である点が気になっています。
- struct CDlgOpenFile_CommonFileDialog 旧来のOFNダイアログ実装。
- struct CDlgOpenFile_CommonItemDialog Vista以降のアイテムダイアログ実装。
tests/unittests/test-cdlgopenfile.cpp
のテストを増やしたいという事でしょうか?
Interface関数以外の内部実装の単体テストを細かく書いてしまうと、内部実装を調整した際に単体テストの保守も行う必要が出てくるので大変な気が個人的にします。ただ他の人が何かの理由でやりたいのであればあえて止めはしません。
struct CDlgOpenFile_CommonFileDialog
と struct CDlgOpenFile_CommonItemDialog
の定義をヘッダファイル (例えば sakura_core/dlg/CDlgOpenFile.h
とか?)に引っ越しするとかですかね。
このプロジェクトで「エンジニアリングしたい民」はどうも自分だけのようなので、他の人が気にならないなら放置で良いと思っています。
テストも自動化しないとですね。https://github.com/appium/appium-windows-driver を今度使ってみます。
from sakura.
FOS_CREATEPROMPT
Value: 0x2000
Prompt for creation if the item returned in the open dialog does not exist. Note that this does not actually create the item.
この値が CDlgOpenFile_CommonItemDialog::DoModalOpenDlgImpl1 で使われているのが、ファイルの作成確認が余計に行われる原因である事を確認しました。
from sakura.
なんというか、既知のバグを報告しておきます。
既存のファイルダイアログには、上書き確認メッセージを表示するカスタムが施されているのですが、アイテムダイアログにはこれが移植されてないっぽいです。
把握していなかったので、上書き確認メッセージがどう異なるかを動作確認してみました。
既存のファイルダイアログ (実装 CDlgOpenFile_CommonItemDialog
) の上書き確認メッセージ
Vistaスタイルのファイルダイアログ (実装 CDlgOpenFile_CommonItemDialog
) の上書き確認メッセージ
メッセージボックスのタイトルが異なりますね。berryzplusさんが書いたように "名前を付けて保存の確認" が正しいと思います。
他に気づいた点として、ファイルパスが既存のファイルダイアログはフルパスで表示されていますが、Vistaスタイルのファイルダイアログではファイル名だけが表示されています。
どちらも些細な点だと思うので更新しなくても良いと思いますが、仮に変更するとしたら CDlgOpenFile_CommonItemDialog::OnOverwrite
に実装を追加すれば良さそうです。
sakura/sakura_core/dlg/CDlgOpenFile_CommonItemDialog.cpp
Lines 356 to 361 in 1e920c7
from sakura.
#1932 がmergeされてこのissueの問題は解消されたと思うのでcloseします。
from sakura.
Related Issues (20)
- 文字コードの初期値をUTF-8にしてほしいです。。。 HOT 3
- 管理者権限非保持ユーザがインストーラーを使用するとエラーが発生する HOT 1
- スペースインデントされたファイルに対してはTabキーでスペースインデントするように自動で切り替えるべき HOT 16
- バックアップ方法を手動も追加してほしい HOT 1
- 開いた時の位置
- issueタイトルは一覧で見た時に内容がわかるタイトルにして欲しいので変更をお願いします。
- デフォルトの文字コードをUTF-8に一括変更する方法の提供 HOT 1
- 丸カッコを含むURLの解釈が変 HOT 5
- GUIやグラフィック描画を考慮したプラグイン機構 HOT 2
- Grep実行結果に対してGrepを実行すると検索対象に存在しない行が検索結果に出力される HOT 5
- 結合文字(濁点・半濁点)のサポート
- ディレクトリ指定をプルダウンではなくディレクトリパス式にしてほしい HOT 3
- 複数行にまたがる文字列置き換えの対応 (正規表現)
- 正規表現での検索文字に\xHHが使えない HOT 2
- Build RequirementsでVisual Studio 2022対応明記 HOT 3
- ドキュメント類の整理やリンク切れの対策などを行う HOT 6
- Visual Studio 2019以前をサポート外とする HOT 9
- タイプ別設定の一括設定
- Azure Piplinesで発生しているMinGWビルドのエラーを対応したい
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sakura.