堕天使の煉獄
2024-05
15
02:04:38
やたらと時間かかった
はー。
やっとソースコード見るだけのツールとりあえず出来た。
時間かかったなぁ……。
実作業時間だとべつに大した事無いはずなんですけどね。
Qt Creator立ち上げっぱなのに1行もコード書かない日のが多かったりするし(ぉ
モチベーションの問題なんだよな。
そもそも元々昔に作ったツールのリコンストラクトなので。
とはいえ、最初はQt4時代に作ったツールで、Qt5になったときにちょこっと修正&ビルド通るようにプチ修正って感じで、ほとんどが古いコードのままだったので。
Qt4てと、まだc++11も……今ググってみたら2005年にQt4.0リリースか。
やっぱまだc++11以前の頃だよなぁ。
c++はc++11以降、かなり大きく変わったので、それ以前のコードだと書き換えないとしょうがないしなーと。
なので、ほとんど全面リライトすることになったんですよね。
あとQt5→Qt6でQTextCodec系が全廃止、文字コードshiht-jisがQtでは非対応になったという、結構面倒な破壊的変更あったのも大きいかな。
影響のある部分では、zip書庫をいじるツール。
世に出回ってるzipファイルって、まだまだ大多数、中身の文字コードがshift-jisなんですよね。
背景には世の中で使われてる解凍ツールが枯れてるせいか古いものが使われ続けて刷新されず、unicodeなzipファイル使うと古いツールだと開けない(マンガミーヤとか)のが現状で。
なので、zip書庫をなんかするツールだとshift-jis対応要るんだよなぁ……。
現状、日本語windows上で動かす場合、QTextCodec系の代わりに追加されたQStringConverterで、「system encoding」ていうのを選ぶとshift-jisになるんだけども。
これは環境依存なのでどの環境でもshift-jisになるわけではないので。
うちで自分が使うだけのツールならそれでもいいんだけどね。
でもosの内部コードもwin11以降になるとutf8に以降してるみたいな話もあるしで。
でもでも、いまだにレガシーなwindows周りのライブラリやツールってshift-jis依存べったりなんだよなぁ。
一応「Qt 5 Core Compatibility APIs」と、Qt6でもQt5時代のいくつかの古いAPIもサポートしてますよっていう追加オプションあるんですけども。
Qt7になったらどうなるの? て感じだし。
shift-jisまわりはwinapi直叩きで自前で処理する部分作っとたほうがいいのかなぁ明示的にshift-jis使えるようにしたほうが、今後も安心なんだよな。
でもQtのプロジェクトにwinapiのライブラリのリンクとか追加するのなんか汚された感あって、なんかやなんだよなぁ……気分の問題か(ぉ
んで、さらに今回めんどくさかったのが、設定周り。
以前のは設定はコードに直書きの手抜き仕様だったのを、ちゃんと外部ファイルでせっていできるようにしたんだけども……。
設定画面のuiと機能作るのめんどくせぇぇぇぇぇぇってなったりで(ぉ
んでもまあいろいろと勉強にはなったかも。
この手のエディタの設定って、色やフォントの設定って、だーっと単一のリストで並んでる感じになってるんだけども。
んで、例えば正規表現でハイライタ設定なんかするときには、そこでプルダウンメニューがあってそこからカラー設定を選択するかんじで。
でも、そういう形式だと、プルダウンで選ぶときにどんなカラー設定になってるのとか見えないやん?
ってことで、上のような、設定毎にカラー設定widget設置する感じにしたんだけども……。
管理めんどい……コードも増える……。
あーカラー設定まわり単一のリストで管理すると、確かに管理面では楽なんだな。
そしてカラー設定の設定画面もそのリストのところに一個あれば済むわけだし。
でも単一リストで、ユニークID割り当てる感じだと、例えばサクラエディタなんかだと、「正規表現キーワード」が1~10まである感じで。
……まあ正直、そんな正規表現キーワード大量につくってもハイライタ重くなるし、実際にはせいぜい使っても3つとか多くても5つぐらいしか使わないんだろうけども……。
でも、ユニークID割当方式だと10を超える場合に困ったことになるというのはデメリットではある。
でもまあ、それを見越して10こで足りるって判断でそうなっていて、実際の使用感として足りてるわけでw
んでもやっぱ、正規表現の設定などのところで、カラー設定が見れないってのは不満な所ではあったので。
こういう感じにしてみたんだけども、もうちょっとなんかいい方法なかったのかなぁ……っていう結果に。
なんかデータ構造がいろいろとネストしたり設定画面とコードがいっぱい増えてめんどくさくなっただけのような……。
ユーザビリティは向上したとは思うんだけどね……。
でもこれが自分しか使わないツールなので、そこまで凝る必要あったのかと(ぉ
まあ、いい勉強になったという言い訳で自分を納得されている俺ガイル。
あとは、なんかQt6.7に上げたところで色々とスタイル周りなんかバグってる感じあって。
なんかデフォルトのパレットが初期状態で反映してないっぽい??
で、Qt6.7.1で治ってるかなーと期待しているのですが。
当初の予定では22.05.2024リリース予定で。
したら5/3に繰り上がってて、やっぱバグってるから早めにfix出すために繰り上げたのかな? とか想像してたのですが。
予定日が5/8になり、5/14になり……昨日アップデートきたかなーと覗いたら5/20予定に……元の5/22と変わんねーじゃねーか。
なんで繰り上げた??
Qt Creator 13.0.1のリリース日5/8に合わせようとして、間に合いませんでしたって感じなんだろうか……。
繰り上げといて結局元の日とあんま変わんないって、なんかすんごいヤキモキさせられただけでとってもファッキン。
んースタイル周りなおってるのかなぁ。
そんな感じでまだデバッグビルドのみで、リリースビルドはまだいいかなと保留中ぽ。
という感じで、一応このツールは完成。
他のプロジェクトのソースを見ながら移植したり参照したりする用途で使うツールなので、これから捗る……筈。
次は一個小物ツール作って、そのあとzip書庫なんやかんやするツールの7-zip使用版(rarとかにも対応)バージョンアップつくって……。
どうせならほぼ内容的にはマンガミーヤのようなビューワ系とおんなじ動作(書庫ファイルの中身列挙して表示)なので、マンガミーヤの代替作るのもいいなーともおもってるのですが。
他の使っても結局マンガミーヤが使いやすいともどってきてしまうんだけども、unicode対応してないのが厳しいんですよね……。
なので作ったらこれも捗るなぁと思ってたりするんですけどもね。
でもはやく3DダンジョンRPGも作り始めたかったりもするし。
とにかく、少しずつでも進めていこう……作業してさえいれば前進しているわけだしね……。
はふ~。
やっとソースコード見るだけのツールとりあえず出来た。
時間かかったなぁ……。
実作業時間だとべつに大した事無いはずなんですけどね。
Qt Creator立ち上げっぱなのに1行もコード書かない日のが多かったりするし(ぉ
モチベーションの問題なんだよな。
そもそも元々昔に作ったツールのリコンストラクトなので。
とはいえ、最初はQt4時代に作ったツールで、Qt5になったときにちょこっと修正&ビルド通るようにプチ修正って感じで、ほとんどが古いコードのままだったので。
Qt4てと、まだc++11も……今ググってみたら2005年にQt4.0リリースか。
やっぱまだc++11以前の頃だよなぁ。
c++はc++11以降、かなり大きく変わったので、それ以前のコードだと書き換えないとしょうがないしなーと。
なので、ほとんど全面リライトすることになったんですよね。
あとQt5→Qt6でQTextCodec系が全廃止、文字コードshiht-jisがQtでは非対応になったという、結構面倒な破壊的変更あったのも大きいかな。
影響のある部分では、zip書庫をいじるツール。
世に出回ってるzipファイルって、まだまだ大多数、中身の文字コードがshift-jisなんですよね。
背景には世の中で使われてる解凍ツールが枯れてるせいか古いものが使われ続けて刷新されず、unicodeなzipファイル使うと古いツールだと開けない(マンガミーヤとか)のが現状で。
なので、zip書庫をなんかするツールだとshift-jis対応要るんだよなぁ……。
現状、日本語windows上で動かす場合、QTextCodec系の代わりに追加されたQStringConverterで、「system encoding」ていうのを選ぶとshift-jisになるんだけども。
これは環境依存なのでどの環境でもshift-jisになるわけではないので。
うちで自分が使うだけのツールならそれでもいいんだけどね。
でもosの内部コードもwin11以降になるとutf8に以降してるみたいな話もあるしで。
でもでも、いまだにレガシーなwindows周りのライブラリやツールってshift-jis依存べったりなんだよなぁ。
一応「Qt 5 Core Compatibility APIs」と、Qt6でもQt5時代のいくつかの古いAPIもサポートしてますよっていう追加オプションあるんですけども。
Qt7になったらどうなるの? て感じだし。
shift-jisまわりはwinapi直叩きで自前で処理する部分作っとたほうがいいのかなぁ明示的にshift-jis使えるようにしたほうが、今後も安心なんだよな。
でもQtのプロジェクトにwinapiのライブラリのリンクとか追加するのなんか汚された感あって、なんかやなんだよなぁ……気分の問題か(ぉ
んで、さらに今回めんどくさかったのが、設定周り。
以前のは設定はコードに直書きの手抜き仕様だったのを、ちゃんと外部ファイルでせっていできるようにしたんだけども……。
設定画面のuiと機能作るのめんどくせぇぇぇぇぇぇってなったりで(ぉ
んでもまあいろいろと勉強にはなったかも。
この手のエディタの設定って、色やフォントの設定って、だーっと単一のリストで並んでる感じになってるんだけども。
んで、例えば正規表現でハイライタ設定なんかするときには、そこでプルダウンメニューがあってそこからカラー設定を選択するかんじで。
でも、そういう形式だと、プルダウンで選ぶときにどんなカラー設定になってるのとか見えないやん?
ってことで、上のような、設定毎にカラー設定widget設置する感じにしたんだけども……。
管理めんどい……コードも増える……。
あーカラー設定まわり単一のリストで管理すると、確かに管理面では楽なんだな。
そしてカラー設定の設定画面もそのリストのところに一個あれば済むわけだし。
でも単一リストで、ユニークID割り当てる感じだと、例えばサクラエディタなんかだと、「正規表現キーワード」が1~10まである感じで。
……まあ正直、そんな正規表現キーワード大量につくってもハイライタ重くなるし、実際にはせいぜい使っても3つとか多くても5つぐらいしか使わないんだろうけども……。
でも、ユニークID割当方式だと10を超える場合に困ったことになるというのはデメリットではある。
でもまあ、それを見越して10こで足りるって判断でそうなっていて、実際の使用感として足りてるわけでw
んでもやっぱ、正規表現の設定などのところで、カラー設定が見れないってのは不満な所ではあったので。
こういう感じにしてみたんだけども、もうちょっとなんかいい方法なかったのかなぁ……っていう結果に。
なんかデータ構造がいろいろとネストしたり設定画面とコードがいっぱい増えてめんどくさくなっただけのような……。
ユーザビリティは向上したとは思うんだけどね……。
でもこれが自分しか使わないツールなので、そこまで凝る必要あったのかと(ぉ
まあ、いい勉強になったという言い訳で自分を納得されている俺ガイル。
あとは、なんかQt6.7に上げたところで色々とスタイル周りなんかバグってる感じあって。
なんかデフォルトのパレットが初期状態で反映してないっぽい??
で、Qt6.7.1で治ってるかなーと期待しているのですが。
当初の予定では22.05.2024リリース予定で。
したら5/3に繰り上がってて、やっぱバグってるから早めにfix出すために繰り上げたのかな? とか想像してたのですが。
予定日が5/8になり、5/14になり……昨日アップデートきたかなーと覗いたら5/20予定に……元の5/22と変わんねーじゃねーか。
なんで繰り上げた??
Qt Creator 13.0.1のリリース日5/8に合わせようとして、間に合いませんでしたって感じなんだろうか……。
繰り上げといて結局元の日とあんま変わんないって、なんかすんごいヤキモキさせられただけでとってもファッキン。
んースタイル周りなおってるのかなぁ。
そんな感じでまだデバッグビルドのみで、リリースビルドはまだいいかなと保留中ぽ。
という感じで、一応このツールは完成。
他のプロジェクトのソースを見ながら移植したり参照したりする用途で使うツールなので、これから捗る……筈。
次は一個小物ツール作って、そのあとzip書庫なんやかんやするツールの7-zip使用版(rarとかにも対応)バージョンアップつくって……。
どうせならほぼ内容的にはマンガミーヤのようなビューワ系とおんなじ動作(書庫ファイルの中身列挙して表示)なので、マンガミーヤの代替作るのもいいなーともおもってるのですが。
他の使っても結局マンガミーヤが使いやすいともどってきてしまうんだけども、unicode対応してないのが厳しいんですよね……。
なので作ったらこれも捗るなぁと思ってたりするんですけどもね。
でもはやく3DダンジョンRPGも作り始めたかったりもするし。
とにかく、少しずつでも進めていこう……作業してさえいれば前進しているわけだしね……。
はふ~。
Sun
Mon
Tue
Wed
Thu
Fri
Sat
01
02
03
[憲法記念日]
04
[みどりの日]
05
[こどもの日]
06
[振替]
07
08
09
10
11
12
13
14
15
■
■
やたらと時間かかった
16
17
18
19
20
21
22
23
24
25
26
■
■
今月中におわるかな
27
28
29
30
31
total:2080649 t:111 y:2908
■記事タイトル■
■年度別リスト■
2024年
2024年12月(0)2024年11月(0)
2024年10月(1)
2024年09月(2)
2024年08月(1)
2024年07月(1)
2024年06月(5)
2024年05月(2)
2024年04月(1)
2024年03月(6)
2024年02月(4)
2024年01月(3)
2023年
2023年12月(3)2023年11月(1)
2023年10月(2)
2023年09月(3)
2023年08月(3)
2023年07月(3)
2023年06月(7)
2023年05月(8)
2023年04月(2)
2023年03月(1)
2023年02月(2)
2023年01月(3)
2022年
2022年12月(4)2022年11月(3)
2022年10月(1)
2022年09月(3)
2022年08月(3)
2022年07月(2)
2022年06月(1)
2022年05月(3)
2022年04月(2)
2022年03月(2)
2022年02月(1)
2022年01月(6)
2021年
2021年12月(8)2021年11月(3)
2021年10月(4)
2021年09月(6)
2021年08月(2)
2021年07月(1)
2021年06月(3)
2021年05月(2)
2021年04月(2)
2021年03月(3)
2021年02月(1)
2021年01月(4)
2020年
2020年12月(3)2020年11月(7)
2020年10月(2)
2020年09月(3)
2020年08月(1)
2020年07月(3)
2020年06月(7)
2020年05月(5)
2020年04月(8)
2020年03月(4)
2020年02月(2)
2020年01月(4)
2019年
2019年12月(1)2019年11月(1)
2019年10月(2)
2019年09月(1)
2019年08月(3)
2019年07月(2)
2019年06月(2)
2019年05月(2)
2019年04月(4)
2019年03月(1)
2019年02月(7)
2019年01月(1)
2018年
2018年12月(1)2018年11月(1)
2018年10月(5)
2018年09月(1)
2018年08月(5)
2018年07月(1)
2018年06月(1)
2018年05月(1)
2018年04月(2)
2018年03月(2)
2018年02月(1)
2018年01月(1)
2017年
2017年12月(2)2017年11月(1)
2017年10月(2)
2017年09月(5)
2017年08月(8)
2017年07月(2)
2017年06月(1)
2017年05月(1)
2017年04月(3)
2017年03月(5)
2017年02月(7)
2017年01月(8)
2016年
2016年12月(7)2016年11月(2)
2016年10月(3)
2016年09月(7)
2016年08月(8)
2016年07月(10)
2016年06月(17)
2016年05月(6)
2016年04月(8)
2016年03月(10)
2016年02月(5)
2016年01月(10)
2015年
2015年12月(7)2015年11月(7)
2015年10月(13)
2015年09月(7)
2015年08月(7)
2015年07月(5)
2015年06月(4)
2015年05月(5)
2015年04月(2)
2015年03月(4)
2015年02月(1)
2015年01月(7)
2014年
2014年12月(12)2014年11月(8)
2014年10月(4)
2014年09月(6)
2014年08月(7)
2014年07月(4)
2014年06月(2)
2014年05月(5)
2014年04月(4)
2014年03月(8)
2014年02月(4)
2014年01月(8)
2013年
2013年12月(15)2013年11月(8)
2013年10月(3)
2013年09月(3)
2013年08月(8)
2013年07月(0)
2013年06月(0)
2013年05月(0)
2013年04月(0)
2013年03月(0)
2013年02月(0)
2013年01月(0)
■レス履歴■
■ファイル抽出■
■ワード検索■
堕天使の煉獄
https://rengoku.sakura.ne.jp
管理人
織田霧さくら(oda-x)
E-mail (■を@に)
oda-x■rengoku.sakura.ne.jp