kreetingkard-dev
はじめに
Linux用の年賀状作成ソフトがない状況だったので作ろうと思い、
9月くらいからコツコツ作って来ました。
まだまだやることがたくさんありますが、かなり最低限の部分は一通り動くようになったので公開しちゃいます。
みなさんの力を借りてできるだけ早い時期にできるだけいいものを完成させたいと思っているので、
ちょっとでも協力していただける方は気軽にメーリングリストに御参加ください。
応援/感想/要望/バグ報告/修正パッチ等大歓迎です。
ToDo(優先度順!?)
- 設定
- なんかあるはず
- 描画処理
- 改善の余地がまだある気が
- キーによる編集機能
- 移動/リサイズ
- Image編集機能
- png形式の一時ファイルを他アプリで開くのが現実的?
- Imageの保存
- 表示している画像をファイルに保存
- ドキュメント作成
- とりあえずサイト上に
- ズーム機能
- 描画ルーチンの修正(QFontを含む)
- 年賀状当選番号チェック機能
- 別アプリケーションをちょちょいっと作る
バグ
報告お待ちしています。
更新履歴
| Date | Discription | Donwload |
|---|---|---|
|
画像選択ダイアログを変更 郵便番号辞書の動きを修正 ツールメニューにフォントのインストールを追加 |
||
| 2004/11/21 |
最前面へ移動/最背面へ移動 を実装 描画順をアイテムツリーの下から上へ変更 新しいアドレス帳の採用 アドレス帳をContactXMLに対応 Lockedプロパティの追加 |
kreetingkard-0.5.0.tar.gz |
| 2004/11/14 |
適当に日本語化 描画速度の向上 ちらつきを減少 背景画像のサイズがあわないバグを修正 *.kkの関連付け コピペ コンテキストメニューの表示 |
kreetingkard-0.4.3.tar.gz |
| 2004/11/13 |
開発環境をSourceForge.jpへ移行 落ちるバグを色々修正 開発時のディレクトリ構成を少々変更 表示部の設計を変更 テンプレートの改良(ヨーロッパ向けを内海さんが作ってくれました。) 新規選択ダイアログのプレビューを改良 複数起動できないように修正 |
kreetingkard-0.4.2.tar.gz |
| 2004/11/08 |
すべて選択(Ctrl+A)を実装 開く/名前を付けて保存のディレクトリの記憶 最近開いたファイルの実装 選択状態も保存するようにした。 |
kreetingkard-0.4.1.tar.gz |
| 2004/11/07 |
設定ダイアログを作成(設定項目無し) 印刷ダイアログの作成 印刷処理を修正 アイテム削除で落ちるバグを修正 |
kreetingkard-0.4.0.tar.gz |
| 2004/11/07 |
Orientation プロパティの実装 ImagePrint プロパティの実装 DataField プロパティの仕様の変更 アドレス帳の作成 |
kreetingkard-0.3.0.tar.gz |
| 2004/11/04 |
起動時に前回開いていたファイルを読み込むようにした 縦書き表示の改良 プロパティの動きを色々改良 新規テンプレートの修正 |
kreetingkard-0.2.1.tar.gz |
| 2004/11/03 |
新規ダイアログの作成 新規テンプレートの作成 メニューの動きを修正(Enable/Disable) KPropertyItemFontで落ちるバグを修正 「閉じる」処理を実装 |
kreetingkard-0.2.0.tar.gz |
| 2004/11/02 | 新規公開 | kreetingkard-0.1.0.tar.gz |
簡単な設計図
-
データ系
- ZipCode : QMap<QString,QString> 〜 郵便番号辞書
- Address 〜 個人データの構造体
-
画面系
-
KreetingKard
: KDockMainWindow
〜 ベースウィンドウ
-
KKDoc
: KListView
〜 ドキュメント
- KKItem : KListViewItem 〜 アイテム
-
QScrollView
〜 作業領域
-
KKView
: QWidget
〜 KKWidgetのコンテナ
-
KKWidget
: QWidget
〜 年賀状表示用
-
KKSizeHandler
: QObject
〜 リサイズ用
- KKSizeHandlerWidget : QWidget 〜 リサイズ用の■
-
KKSizeHandler
: QObject
〜 リサイズ用
-
KKWidget
: QWidget
〜 年賀状表示用
-
KKView
: QWidget
〜 KKWidgetのコンテナ
-
KKProperty
: KListView
〜 プロパティウィンドウ
- KKPropertyItemBase : KListViewItem 〜 各プロパティの基底クラス
- KKPropertyItemName : KKPropertyItemBase 〜 名前
- KKPropertyItemLocation : KKPropertyItemBase 〜 位置
- KKPropertyItemSize : KKPropertyItemBase 〜 サイズ
-
KKPropertyItemText
: KKPropertyItemBase
〜 文字
- KKPropertyItemTextColor : KKPropertyItemBase 〜 文字色
- KKPropertyItemTextFont : KKPropertyItemBase 〜 フォント
- KKPropertyItemAlign : KKPropertyItemBase 〜 文字の位置
- KKPropertyItemOrientation : KKPropertyItemBase 〜 文字の方向
- KKPropertyItemDatafield : KKPropertyItemBase 〜 データ
- KKPropertyItemImage : KKPropertyItemBase 〜 画像
-
KKDoc
: KListView
〜 ドキュメント
- dlgFileNew : KDialogBase 〜 新規テンプレート選択ダイアログ
- dlgAddressBook : KDialogBase 〜 アドレス帳エディタ
- dlgPrint : KDialogBase 〜 印刷対象選択ダイアログ
- dlgPreferences : KDialogBase 〜 設定
-
KreetingKard
: KDockMainWindow
〜 ベースウィンドウ
-
編集コマンド
- KKCmdBase : KCommand 〜 編集関係の基底クラス
-
プロパティ編集
- KKCmdName : KKCmdBase 〜 名前
- KKCmdLocation : KKCmdBase 〜 位置
- KKCmdSize : KKCmdBase 〜 サイズ
- KKCmdText : KKCmdBase 〜 文字
- KKCmdTextColor : KKCmdBase 〜 文字色
- KKCmdTextFont : KKCmdBase 〜 フォント
- KKCmdTextAlign : KKCmdBase 〜 文字の位置
- KKCmdTextOrientation : KKCmdBase 〜 文字の方向
- KKCmdDatafield : KKCmdBase 〜 データ
- KKCmdImage : KKCmdBase 〜 画像
-
その他
- KKCmdInsert : KKCmdBase 〜 アイテムの挿入
- KKCmdRemove : KKCmdBase 〜 アイテムの削除
SourceForge.jpへ移行
- $ ssh-keygen -t rsa1 で公開鍵(~/.ssh/identity.pub)を作成する
- Change Authorized Keysに公開鍵を入力
-
以下の内容で~/.cvsignoreを作成
MakefileCVSにも含めるため作業ディレクトリにもコピー
Makefile.in
acinclude.m4
aclocal.m4
autom4te.cache
config.h
config.h.in
config.log
config.status
configure
configure.files
configure.in
libtool
stamp-h.in
stamp-h1
subdirs
kreetingkard.kdevelop.pcs
kreetingkard.kdevses
- ローカルの開発ディレクトリ hoge/kreetingkard/ に移動
-
次のコマンドを実行すると「Permission denied (publickey,keyboard-interactive)」と出るので /etc/ssh/ssh_conf を編集してSSH1を優先にする。
Protocol 1,2
-
$ cvs -d:ext:stasuku@cvs.sourceforge.jp:/cvsroot/kreetingkard import kreetingkard vendor start
I kreetingkard/aclocal.m4
I kreetingkard/kreetingkard.kdevses
I kreetingkard/configure
I kreetingkard/autom4te.cache
I kreetingkard/configure.in
I kreetingkard/subdirs
I kreetingkard/Makefile.in
I kreetingkard/configure.files
I kreetingkard/config.h.in
I kreetingkard/acinclude.m4
I kreetingkard/stamp-h.in
I kreetingkard/kreetingkard.kdevelop.pcs
I kreetingkard/po/Makefile.in
I kreetingkard/doc/Makefile.in
I kreetingkard/doc/en/Makefile.in
I kreetingkard/src/Makefile.in
I kreetingkard/admin/CVS
N kreetingkard/Doxyfile
N kreetingkard/COPYING
N kreetingkard/ChangeLog
N kreetingkard/.cvsignore
N kreetingkard/INSTALL
N kreetingkard/kreetingkard.kdevelop
N kreetingkard/AUTHORS
N kreetingkard/Makefile.cvs
N kreetingkard/configure.in.in
N kreetingkard/Makefile.am
N kreetingkard/README
N kreetingkard/TODO
N kreetingkard/NEWS
cvs import: Importing
/cvsroot/kreetingkard/kreetingkard/templates N kreetingkard/templates/cpp
N kreetingkard/templates/h
cvs import: Importing
/cvsroot/kreetingkard/kreetingkard/admin
N kreetingkard/admin/configure.in.bot.end
N kreetingkard/admin/Doxyfile.am
N kreetingkard/admin/ChangeLog
N kreetingkard/admin/detect-autoconf.sh
N kreetingkard/admin/debianrules
N kreetingkard/admin/cvs-clean.pl
N kreetingkard/admin/ylwrap
N kreetingkard/admin/libtool.m4.in
N kreetingkard/admin/am_edit
N kreetingkard/admin/conf.change.pl
N kreetingkard/admin/nmcheck
N kreetingkard/admin/bcheck.pl
N kreetingkard/admin/cvs.sh
N kreetingkard/admin/mkinstalldirs
N kreetingkard/admin/missing
N kreetingkard/admin/config.sub
N kreetingkard/admin/install-sh
N kreetingkard/admin/acinclude.m4.in
N kreetingkard/admin/config.guess
N kreetingkard/admin/configure.in.min
N kreetingkard/admin/config.pl
N kreetingkard/admin/ltmain.sh
N kreetingkard/admin/Makefile.common
N kreetingkard/admin/depcomp
N kreetingkard/admin/Doxyfile.global
N kreetingkard/admin/compile
cvs import: Importing /cvsroot/kreetingkard/kreetingkard/src
N kreetingkard/src/kreetingkardui.rc
N kreetingkard/src/kkpropertyitemimage.cpp
N kreetingkard/src/kkcmdname.cpp
N kreetingkard/src/kkwidget.h
N kreetingkard/src/dlgfilenew.h
N kreetingkard/src/kkcmdinsert.h
N kreetingkard/src/simpleP.kk
N kreetingkard/src/simpleL.kk
N kreetingkard/src/dlgaddressbook.cpp
N kreetingkard/src/kkpropertyitemtextfont.h
N kreetingkard/src/kkpropertyitemorientation.cpp
N kreetingkard/src/dlgfilenew.cpp
N kreetingkard/src/kkcmdtext.h
N kreetingkard/src/kkcmdsize.h
N kreetingkard/src/dlgprint.cpp
N kreetingkard/src/kkcmdbase.cpp
N kreetingkard/src/kkcmdtextfont.h
N kreetingkard/src/hi16-app-kreetingkard.png
N kreetingkard/src/kkcmdimageprint.h
N kreetingkard/src/kkpropertyitemname.cpp
N kreetingkard/src/kkcmdname.h
N kreetingkard/src/kreetingkard.lsm
N kreetingkard/src/kreetingkard.cpp
N kreetingkard/src/kkview.h
N kreetingkard/src/kkpropertyitembase.cpp
N kreetingkard/src/kkpropertyitemimageprint.h
N kreetingkard/src/kkcmdlocation.cpp
N kreetingkard/src/kksizehandlerwidget.h
N kreetingkard/src/dlgpreferences.cpp
N kreetingkard/src/kkproperty.cpp
N kreetingkard/src/kkpropertyitemtextalign.h
N kreetingkard/src/simpleP.png
N kreetingkard/src/kkcmdimage.h
N kreetingkard/src/simpleL.png
N kreetingkard/src/kkcmdbase.h
N kreetingkard/src/emptyP.kk
N kreetingkard/src/emptyL.kk
N kreetingkard/src/kkpropertyitemlocation.cpp
N kreetingkard/src/kkitem.h
N kreetingkard/src/kkcmdtextorientation.cpp
N kreetingkard/src/kkcmdtextcolor.cpp
N kreetingkard/src/address.cpp
N kreetingkard/src/kkpropertyitemtextcolor.cpp
N kreetingkard/src/kkcmdtextorientation.h
N kreetingkard/src/dlgaddressbook.h
N kreetingkard/src/kkcmddatafield.cpp
N kreetingkard/src/kkpropertyitemdatafield.cpp
N kreetingkard/src/kksizehandler.h
N kreetingkard/src/hi32-app-kreetingkard.png
N kreetingkard/src/kkcmdimage.cpp
N kreetingkard/src/Makefile.am
N kreetingkard/src/kkpropertyitemorientation.h
N kreetingkard/src/kkproperty.h
N kreetingkard/src/dlgpreferences.h
N kreetingkard/src/kkpropertyitemtext.h
N kreetingkard/src/kkpropertyitemsize.h
N kreetingkard/src/kkcmdtext.cpp
N kreetingkard/src/kkview.cpp
N kreetingkard/src/kkcmdtextcolor.h
N kreetingkard/src/kkcmdsize.cpp
N kreetingkard/src/kkcmddatafield.h
N kreetingkard/src/dlgprint.h
N kreetingkard/src/splash.png
N kreetingkard/src/main.cpp
N kreetingkard/src/kkpropertyitemname.h
N kreetingkard/src/kkpropertyitemlocation.h
N kreetingkard/src/kkcmdtextfont.cpp
N kreetingkard/src/kksizehandlerwidget.cpp
N kreetingkard/src/emptyP.png
N kreetingkard/src/emptyL.png
N kreetingkard/src/kkcmdlocation.h
N kreetingkard/src/kkpropertyitemtext.cpp
N kreetingkard/src/kkpropertyitemsize.cpp
N kreetingkard/src/zipcode.cpp
N kreetingkard/src/kkpropertyitemtextfont.cpp
N kreetingkard/src/address.h
N kreetingkard/src/kkcmdimageprint.cpp
N kreetingkard/src/kkcmdremove.cpp
N kreetingkard/src/kkpropertyitembase.h
N kreetingkard/src/kkcmdinsert.cpp
N kreetingkard/src/kreetingkard.desktop
N kreetingkard/src/kkpropertyitemimageprint.cpp
N kreetingkard/src/kkitem.cpp
N kreetingkard/src/kkpropertyitemtextorientation.h
N kreetingkard/src/kkdoc.h
N kreetingkard/src/kkcmdtextalign.cpp
N kreetingkard/src/kkpropertyitemimage.h
N kreetingkard/src/kkpropertyitemtextalign.cpp
N kreetingkard/src/kkpropertyitemtextorientation.cpp
N kreetingkard/src/kkwidget.cpp
N kreetingkard/src/kkcmdremove.h
N kreetingkard/src/kkcmdtextalign.h
N kreetingkard/src/kreetingkard.h
N kreetingkard/src/zipcode.h
N kreetingkard/src/kksizehandler.cpp
N kreetingkard/src/kkpropertyitemtextcolor.h
N kreetingkard/src/kkdoc.cpp
N kreetingkard/src/kkpropertyitemdatafield.h
cvs import: Importing /cvsroot/kreetingkard/kreetingkard/doc
N kreetingkard/doc/Makefile.am
cvs import: Importing /cvsroot/kreetingkard/kreetingkard/doc/en
N kreetingkard/doc/en/index.docbook
N kreetingkard/doc/en/Makefile.am
cvs import: Importing /cvsroot/kreetingkard/kreetingkard/po
N kreetingkard/po/Makefile.am
No conflicts created by this import
KDevelopからCVSを使う
kreetingkard.kdevelopをKDevelopで開き、
メニュー>プロジェクト>プロジェクトオプション>プラグイン
にCVSなんとかっていうのを発見してチェックをいれた。
左側のアイコンビューにCVSサービスという項目が現れたので
リモートシェルに「ssh」
サーバーの場所に「:ext:stasuku@cvs.sourceforge.jp:/cvsroot/kreetingkard」
で、KDevelopのメイン画面で左側のタブのファイルセレクタを選択し、
kreetingkard.kdevelopを 右クリックし、CVSサービスのなかの項目を選択すると
「この機能を使う前にローカルのワークコピーディレクトリを設置する必要があります。」
とエラーメッセージがでたが、プロジェクトを開き直すと使えるようになった。