「コンパイル」タグアーカイブ

入力ボックスを大きく (2) – CQRlog

Step 7

問題は三行目でしょう。IOTA や DOK/State を調整したい場合に。右端の Award は問題なし。
次の County がクセモノです。これは下にブルーラインが伸びている、つまり Comment to Callsign と連動しているのです。
そして左もスグ左の DOK/State でなくて IOTA にリンクされています。

左チェックを外すだけじゃなく cmbIOTA:TComboBox のプルダウンをてっぺんの (nil) にしておく。 (重要)

editCounty の場合

Left 259 → 299 に変更して Enter を押す。これで New QSO ウィンドウにも反映され、同時に Comment to Callsign も移動する。

editStateを選択

Step 8

DOK/State は排他的に配置されているが、これはフツーに扱うことができる。ただ State はクリックしただけではボックスが出てこないので、オブジェクト・インスペクターの Components 右の (Filter) に editState を入力しても効かないので、下の Comment to QSO をクリックして、オブジェクト・インスペクターでそのスグ下に editState があるので、その editState をクリックした方がいいでしょう。

Step 9

時計アイコンの sbtnTime も削除するワケには行かないが、他のボックスに隠れるならそれもアリでしょう。
全ての調整が終わったら、また外した左チェックをもとに戻す

Step 10

いよいよ試運転。今度はメインウィンドウ。
日本語メニューだと「実行」 → 「実行時引数」をクリック。デフォルトで「コマンドライン引数」に -DEBUG=0 と入っているので 0 → 1 に変更。OK を押す。

コマンド引数

Step 11

スキップエラー

「実行」→「掃除して構築」(英語だと Clean Up and Build) をクリック。そのまま「掃除して構築」をクリック。
「ファイル掃除に失敗」のエラーが出る。

Step 12

ここは無視して「スキップエラー」をクリック。

メッセージ・ウィンドウに<「プロジェクトをコンパイル対象:cqrlog 成功、警告:26」といったグリーン帯が出れば成功。警告数は git したバージョンによって異なるでしょう。

コンパイル成功

実行ボタン

Step 13

「実行」 → 「実行」若しくは Lazarus メニューアイコン三行目のグリーンの右矢印をクリック。
正常に起動できれば OK。

Step 14

この実行で /cqrlog/src に cqrlog という実行ファイルができているハズ。
プロパティを見て 58MB とか 74MB とかになっていればアンカーが中途半端になっていると疑うべきでしょう。

sudo cp /home/$USER/cqrlog/src/cqrlog /usr/bin

で /usr/bin にコピーしてやれば反映された New QSO ウィンドウが開くでしょう。

私が最初やったときは MySQL のエラーが出たり、また起動するのに 20-30 秒かかったり閉じれなかったりで散々でした。

sudo ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.so.21 /lib/libmysqlclient.so

したり、dbus-launch –exit-with-session cqrlog debug=1 で起動してやっと正常起動にありついたのでした。
PC のチップセットの所為なのかもしれません。

Saku には「CAT 抜きの CQRlog ユーザーがあるとは思いもよらなかった。」と嗤われしまったが・・・

結果を 11 文字コールの過去の QSO を Monaco 13 で表示してみた。

拡大の結果

入力ボックスを大きく – CQRlog

私はトリプルモニターの右モニターで CQRlog を使う。その右モニターへの距離は凡そ 80cm ほどになる。すると フォントサイズ 9 や 10 ではクロでなくグレイにしか見えずかなり苦しい。
それでフォントサイズは Monaco (スラッシュ・ゼロを含む)11 にする。
すると今度は New QSO ウィンドウで右端が見切れてしまう。QSL list ウィンドウは幅の調整が可能なので 12 のサイズにしようとも問題ない。

CQRlog デフォルトの日付スペース

標準では GTK2 であるが、QT5 で make すればボックスでの左の空きが小さくはなるが、Ubuntu Focal ではフォントもフォントサイズも変更が無視されてしまう。

それで OH1KH Saku から Lazarus による「入力ボックスの変更」を勧められた。需要があるとは思えないが、足跡として記述しておく。オープンソースならではのありがたみですね。

準備

まずは git と lazarus をインストール。

 sudo apt install -y git lazarus

次にソースをダウンロード。

git clone https://github.com/ok2cqr/cqrlog.git

これで Home に cqrlog というフォルダが作られている。

/usr/share に含まれるライブラリを利用するために share というリンクを作る。

cd cqrlog
ln -s /usr/share/ share

これでやっと次のボックスを編集する段階に入れる。

lazarus-ide

lazarus スタート

起動画面右下の Start IDE をクリックすると四つのウィンドウが表示される。

lazarus-4-windows

まずは「プロジェクト」→「プロジェクトを開く」でホームの cqrlog から src をダブルクリックすると cqrlog.lpi があるのでソレを開く。
cqrlog.lpi を開く
「ソース・エディタ」はここでは使わないので閉じておいてもよい。
サイズ調整は「New QSO」と「オブジェクト・インスペクター」で行う
「プロジェクト Project1 の変更を保存しますか?」は「いいえ」で答える。

NewQSO ウィンドウ

「New QSO」は普段見かけぬ表示になっているかもしれない。以前は作者は「コンテスト対応はしない」と言っていたのがコンテスト対応になっている。このコンテスト部分はメニューの Window → Contest をクリックすることで表示され、通常は表示されない。

Step 1

Contest をクリック

最初に右の Contest の文字をクリック。
枠線と天に青いラインが表示される。
オブジェクト・インスペクターでは gbContest TGroupBox がオレンジで表示されているハズ。

Amchors クリック

Step 2

オブジェクト・インスペクターで「プロパティ」の二行目に Anchors があるのでソレをクリック。

Step 3

[akTop,akRight,ak … と表示されるので … をクリック。

Step 4

左にアンカー

すると「gbContest のアンカー」というウィンドウが出てくる。
「左にアンカー」のチェックを外してウィンドウを閉じる。
これをしなければ、ボックス幅を反映しません。

Step 5 に移る前に

例えば一行目の右端は RST rcvd だが、これをクリックして右のセンターの点をドラッグすることもできる。しかし「戻る」という機能がないので、きっちり計算すべきであろう。
また先の gbContest TGroupBox のように「アンカー」が付いているので、どれでもテキトーにということにならない。因みに天のブルーのラインはてっぺんの位置を揃えている。
なので「拡げたい項目」を予め選んでおくとよい。

私の場合は「Call」「Frequency」「Grid」「QSL_S」「IOTA」「DOK」「Date」「Start」「End」。
一行でいくら増やせばいいかを把握しておくとよい。最初は 40px でやったが少し物足りなかったので 50px にした。
ポイントはオブジェクト・インスペクターの Left, Top, Width の三つの値。これらの値はピクセル px 単位である。

失敗したときのために デフォルト値 を挙げておく。ボックス height は Ubuntu focal のとき 38 だったが、今 Hirsute (21.04) では 35 となっている。35 だと Top が 22, 79, 136, 193, 250 となる。Left や Width は変わっていない。

注 意 各ボックスは削除もできるようになっているが、CQRlog が起動しなくなるので、削除はしないこと。

Step 5

基本的には右端から指定していくのがいい。多くがその左のボックスにアンカーされているから。
即ち RST rcvd のボックスをクリックし、オブジェクト・インスペクターで Anchors をクリック、そして … をクリックしてから「左アンカー」のチェックを外す。「上揃え」のアンカーだけになる。そうすれば Left 値の変更が反映できる。
Left の 455 → 495 に変更して Enter を押す。これで New QSO ウィンドウにも反映される。

Step 6

以下このように繰り返す。
左端の Call, Name, ITU, DXCC, Date は左チェックは構わず Width 値だけ大きくすればよい。
二行目までは問題なくできるでしょう。二行目まで終わったら先の外した左チェックをもとに戻す。

これをしなければ、ボックスが重なったり、ウィンドウ幅を拡げてもコンテスト部分のスペースがキープされたりであとで困ります。
またファイルサイズにも影響してきます。lazarus というのは FreePascal のコンパイルツールなのです。

JTSDK コンパイル –Ubuntu

今まで WSJT-X v1.6.0 r6263 を Ubuntu では使っていた。
Windows では v1.7.0 r6462 の私家版ではあったが、だんだんメンドーになってきた。
私家版はコンパイル済み exe とソースの両方をもらっていた。

一月頃 JTSDK (2.0.19) なる開発者用ツールを紹介されて、それはコンパイルしてインストールできたのだが、その後の WSJT-X に続かずアンインストールしていた。

v1.7.0-devel の deb ファイルや exe ファイルは昨年十二月から 404 Nor Found になっている。
今回 mod15.3 のソースからコンパイルしようとしたが、

CMake Error at CMakeLists.txt:30 (project):
  No CMAKE_Fortran_COMPILER could be found.

make でひっかかり、彼に聞いたところ「JTSDK のインストールが不完全くさい」と聞かされた。
私はてっきりスタンドアローンだと思い込んでいたのだから。

気を取り直し JTSDK をダウンロードし、展開してから

cd ./jtsdk-nix-2.0.20
./autogen.sh --prefix=/usr/local

しかし次の make で止まる。
ふと目をファイラーに向けると README.pkg-lists なるものが飛び込んできた。
ディストリビューションに拠って必要ファイルが異なるらしい。

Ubuntu 14.04, 15.04, 15.10, 16-04
-----------------------------------------------------

sudo apt-get install automake asciidoctor clang-3.5 cmake dialog g++ gettext \
gfortran git libfftw3-dev libhamlib-dev libhamlib-utils libqt5multimedia5-plugins \
libqt5serialport5-dev libqt5opengl5-dev libsamplerate0-dev libtool libusb-dev \
libxml2-utils pkg-config portaudio19-dev python3-pil python3-pil.imagetk \
python3-tk python3-dev python3-numpy python3-pip python3-setuptools python-dev \
qtbase5-dev qtmultimedia5-dev source-highlight subversion texinfo xmlto

そしてもう一度 make してみる。

---------------------------------------------
 Building Documentation
---------------------------------------------

 Generating HTML Documentation, please wait..
asciidoctor: FAILED: required gem 'coderay' is not installed. Processing aborted. (RuntimeError)
  Use --trace for backtrace
Makefile:85: návod pro cíl „build-doc“ selhal
make: *** [build-doc] Chyba 1

なぜかメッセージがチェコ語だ。
どうやらまだ gem が足りないらしい。
gem をインストールしてもまだ同じメッセージが出る。

「なんで coderay に引用符が付いてるんだろう・・・」
coderay なるアプリもあるようだ。(Synaptic で確認)
それでやっと make を通すことができた。

残るは最後の段階 make install だ。
よもやここでまた悩むとは思わなかった。

..Installing Manpages
install: 通常ファイル `/usr/local/share/man/man1/jtsdk.1' を作成できません: そのようなファイルやディレクトリはありません
Makefile:130: návod pro cíl „install“ selhal
make: *** [install] Chyba 1 

ここで気になったのが /usr の前にある ` だ。
なぜアポストロフでないんだろう・・・。

何気なく /usr/local/share/applications を開いてみた。
ナントそこに JTSDK 2.0.20 のアイコンがある。

JTSDK icon

ダブルクリックしてみる。
てっぺんに JTSDK 12.0.20 と書かれた青い「端末」のウィンドウが起動した。
どうやら成功したようだ。