[aquaskk-changes 432] CVS update: AquaSKK

Back to archive index

t-suw****@users***** t-suw****@users*****
2007年 11月 10日 (土) 20:05:05 JST


Index: AquaSKK/CandidatesManager.h
diff -u AquaSKK/CandidatesManager.h:1.4 AquaSKK/CandidatesManager.h:1.5
--- AquaSKK/CandidatesManager.h:1.4	Sat Jul 15 09:49:00 2006
+++ AquaSKK/CandidatesManager.h	Sat Nov 10 20:05:05 2007
@@ -1,10 +1,10 @@
 /*
-  $Id: CandidatesManager.h,v 1.4 2006/07/15 00:49:00 t-suwa Exp $
+  $Id: CandidatesManager.h,v 1.5 2007/11/10 11:05:05 t-suwa Exp $
 
   MacOS X implementation of the SKK input method.
 
   Copyright (C) 2002 phonohawk
-  Copyright (C) 2005-2006 Tomotaka SUWA <t.suw****@mac*****>
+  Copyright (C) 2005-2007 Tomotaka SUWA <t.suw****@mac*****>
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -36,7 +36,7 @@
 
 public:
     static CandidatesManager& sharedManager();
-    unsigned createAndShow(SInt16 qd_x, SInt16 qd_y, const CppCFString& candidates, bool showLast = false);
+    unsigned createAndShow(SInt16 qd_x, SInt16 qd_y, const CppCFString& candidates, int level, bool showLast = false);
     void windowNext(unsigned int window_id);
     void windowPrev(unsigned int window_id);
     void closeWindow(unsigned int window_id);
Index: AquaSKK/CandidatesManager.mm
diff -u AquaSKK/CandidatesManager.mm:1.6 AquaSKK/CandidatesManager.mm:1.7
--- AquaSKK/CandidatesManager.mm:1.6	Sat Jul 15 09:49:00 2006
+++ AquaSKK/CandidatesManager.mm	Sat Nov 10 20:05:05 2007
@@ -1,10 +1,10 @@
 /* -*- objc -*-
-  $Id: CandidatesManager.mm,v 1.6 2006/07/15 00:49:00 t-suwa Exp $
+  $Id: CandidatesManager.mm,v 1.7 2007/11/10 11:05:05 t-suwa Exp $
 	
   MacOS X implementation of the SKK input method.
 
   Copyright (C) 2002-2004 phonohawk
-  Copyright (C) 2005-2006 Tomotaka SUWA <t.suw****@mac*****>
+  Copyright (C) 2005-2007 Tomotaka SUWA <t.suw****@mac*****>
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -42,7 +42,8 @@
     // empty
 }
 
-unsigned CandidatesManager::createAndShow(SInt16 qd_x, SInt16 qd_y, const CppCFString& candidates, bool showLast) {
+unsigned CandidatesManager::createAndShow(SInt16 qd_x, SInt16 qd_y,
+					  const CppCFString& candidates, int level, bool showLast) {
     // NSArray ‚ÌŒó•âƒŠƒXƒg‚ðì¬
     std::vector<CppCFString> cands_vec = candidates.split(SKK_MSG_DELIMITER);
     NSMutableArray* cands_array = [[NSMutableArray alloc] init];
@@ -83,6 +84,9 @@
 	window_x = screen.size.width - cwc_size.width;
     [[cwc window] setFrameOrigin:NSMakePoint(window_x,window_y)];
 
+    // ƒEƒBƒ“ƒhƒEƒŒƒxƒ‹‚ðŽw’è‚·‚é
+    [[cwc window] setLevel:level];
+
     // •\Ž¦‚·‚é
     if(showLast) {
 	[cwc setCurrentFrame:[cwc getNumOfFrames] - 1];
Index: AquaSKK/ChangeLog
diff -u AquaSKK/ChangeLog:1.51 AquaSKK/ChangeLog:1.52
--- AquaSKK/ChangeLog:1.51	Sat Oct 20 10:38:08 2007
+++ AquaSKK/ChangeLog	Sat Nov 10 20:05:05 2007
@@ -1,3 +1,13 @@
+2007-11-10  Tomotaka SUWA  <t.suw****@mac*****>
+
+	* CandidatesManager.mm: ウィンドウレベルに対応。
+
+	* ServerMessageReceiver.mm: ウィンドウレベルに対応。
+
+	* KanjiConversionMode.cpp: 候補ウィンドウ表示時にウィンドウレベルを
+	渡すように変更。また、Carbon アプリで文字のベースラインがずれる不具
+	合を修正。
+
 2007-10-20  Tomotaka SUWA  <t.suw****@mac*****>
 
 	* HanAscInputMode.cpp, ZenAscInputMode.cpp: ひらかなモードへの遷移
Index: AquaSKK/Info-AquaSKKInputMethod.plist
diff -u AquaSKK/Info-AquaSKKInputMethod.plist:1.20 AquaSKK/Info-AquaSKKInputMethod.plist:1.21
--- AquaSKK/Info-AquaSKKInputMethod.plist:1.20	Sun Oct 14 11:29:58 2007
+++ AquaSKK/Info-AquaSKKInputMethod.plist	Sat Nov 10 20:05:05 2007
@@ -19,11 +19,11 @@
 	<key>CFBundlePackageType</key>
 	<string>thng</string>
 	<key>CFBundleShortVersionString</key>
-	<string>3.5.1</string>
+	<string>objc-gc 1.1</string>
 	<key>CFBundleSignature</key>
 	<string>askk</string>
 	<key>CFBundleVersion</key>
-	<string>2007-10-14</string>
+	<string>2007-11-10</string>
 	<key>CSResourcesFileMapped</key>
 	<true/>
 	<key>tsInputMethodIconFileKey</key>
Index: AquaSKK/Info-AquaSKKServer.plist
diff -u AquaSKK/Info-AquaSKKServer.plist:1.20 AquaSKK/Info-AquaSKKServer.plist:1.21
--- AquaSKK/Info-AquaSKKServer.plist:1.20	Sun Oct 14 11:29:58 2007
+++ AquaSKK/Info-AquaSKKServer.plist	Sat Nov 10 20:05:05 2007
@@ -19,11 +19,11 @@
 	<key>CFBundlePackageType</key>
 	<string>APPL</string>
 	<key>CFBundleShortVersionString</key>
-	<string>3.5.1</string>
+	<string>objc-gc 1.1</string>
 	<key>CFBundleSignature</key>
 	<string>askk</string>
 	<key>CFBundleVersion</key>
-	<string>2007-10-14</string>
+	<string>2007-11-10</string>
 	<key>NSMainNibFile</key>
 	<string>Principal</string>
 	<key>NSPrincipalClass</key>
Index: AquaSKK/KanjiConversionMode.cpp
diff -u AquaSKK/KanjiConversionMode.cpp:1.15 AquaSKK/KanjiConversionMode.cpp:1.16
--- AquaSKK/KanjiConversionMode.cpp:1.15	Sat Oct 20 10:38:08 2007
+++ AquaSKK/KanjiConversionMode.cpp	Sat Nov 10 20:05:05 2007
@@ -1,5 +1,5 @@
 /*
-  $Id: KanjiConversionMode.cpp,v 1.15 2007/10/20 01:38:08 t-suwa Exp $
+  $Id: KanjiConversionMode.cpp,v 1.16 2007/11/10 11:05:05 t-suwa Exp $
 
   MacOS X implementation of the SKK input method.
 
@@ -367,6 +367,10 @@
 	if(status == STATUS_NULL || status == STATUS_WHITE_ROOT && root.length() == 0) {
 	    status = STATUS_WHITE_ROOT; // ▽モードへ。
 
+	    // Carbon アプリで文字のベースラインがずれるのを防ぐために、
+	    // 一旦 "▽" だけ表示する(Leopard 対策)
+	    parent->display(CppCFString().append(0x25bd));
+
 	    // 小文字にして仮名入力を実行。
 	    parent->getCurrentInputMode().handleInput(skkchar + 0x20);
 
@@ -1163,6 +1167,15 @@
     SInt16 qd_x = offset_to_pos_params.fReplyPoint.h;
     SInt16 qd_y = offset_to_pos_params.fReplyPoint.v;
 
+    // Carbon アプリで候補ウィンドウが後ろに回るのを防ぐ
+    SInt32 level;
+    if(WindowRef active = ActiveNonFloatingWindow()) {
+	GetWindowGroupLevel(GetWindowGroup(active), &level);
+	++ level;
+    } else {
+	level = kCGFloatingWindowLevel;
+    }
+
     // サーバーに送り付けるCFDataを作成。
     CppCFData cands_to_be_attached;
     cands_to_be_attached.own(str_candidates.toCFData());
@@ -1170,6 +1183,7 @@
     attachment.append(CFSwapInt16HostToBig(qd_x));
     attachment.append(CFSwapInt16HostToBig(qd_y));
     attachment.append(CFSwapInt16HostToBig(open_direction));
+    attachment.append(CFSwapInt16HostToBig(level));
     attachment.append(cands_to_be_attached);
 
     // 送受信
Index: AquaSKK/ServerMessageReceiver.mm
diff -u AquaSKK/ServerMessageReceiver.mm:1.10 AquaSKK/ServerMessageReceiver.mm:1.11
--- AquaSKK/ServerMessageReceiver.mm:1.10	Sat Oct 13 00:28:45 2007
+++ AquaSKK/ServerMessageReceiver.mm	Sat Nov 10 20:05:05 2007
@@ -1,5 +1,5 @@
 /* -*- objc -*-
-  $Id: ServerMessageReceiver.mm,v 1.10 2007/10/12 15:28:45 t-suwa Exp $
+  $Id: ServerMessageReceiver.mm,v 1.11 2007/11/10 11:05:05 t-suwa Exp $
 
   MacOS X implementation of the SKK input method.
 
@@ -166,10 +166,11 @@
     SInt16 qd_x = CFSwapInt16BigToHost(attachment.getSInt16(0));
     SInt16 qd_y = CFSwapInt16BigToHost(attachment.getSInt16(2));
     int showLast = CFSwapInt16BigToHost(attachment.getSInt16(4));
-    CppCFString candidates(attachment.subdata(6).getData());
+    int level = CFSwapInt16BigToHost(attachment.getSInt16(6));
+    CppCFString candidates(attachment.subdata(8).getData());
 
     CandidatesManager& cm = CandidatesManager::sharedManager();
-    unsigned window_id = cm.createAndShow(qd_x, qd_y, candidates, showLast);
+    unsigned window_id = cm.createAndShow(qd_x, qd_y, candidates, level, showLast);
 
     CandidatesWindowController* cwc = cm.getWindowController(window_id);
     unsigned cands_per_frame = [cwc getCandidatesPerFrame];


aquaskk-changes メーリングリストの案内
Back to archive index