專利名稱:在即時通訊工具中管理不同屬性分組及其成員的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別是一種在即時通訊(IM)工具中管理不同屬性分組及其成員的方法。
背景技術(shù):
網(wǎng)絡(luò)即時通訊工具發(fā)展到今天,已經(jīng)被大多數(shù)的網(wǎng)絡(luò)用戶所接受,并且成為用戶必不可少的軟件工具,在用戶的休閑娛樂和工作中都得到了廣泛的使用。因此用戶對IM工具的易用性、穩(wěn)定性以及安全性等方面提出了較高的要求。
隨著用戶使用IM工具的時間增長,用戶積累了大量的好友聯(lián)系人,因此用戶對好友聯(lián)系人的管理也變得越來越重要,而IM工具也同樣需要更加方便管理聯(lián)系人的方式,基于此在IM工具中實現(xiàn)了聯(lián)系人分組的好友管理方式,即用戶可以對所有的好友聯(lián)系人進行分類管理,例如用戶可以把好友聯(lián)系人分為“高中同學(xué)”、“公司同事”等好友分組,這樣用戶就可以利用IM工具對所有好友聯(lián)系人進行有效的管理,可以在對應(yīng)的分組下面找到合適的好友聯(lián)系人進行后續(xù)的交流與溝通,好友聯(lián)系人分組已經(jīng)成為IM工具不可缺少的功能特點。
同時,用戶不但滿足于個人對個人的聊天方式,而且需要群組聊天的模式,因此聊天群組也因此成為了IM工具中極具特色的功能之一。而好友分組與聊天群組在當前的IM工具中是分而治之的,還需要進一步融合兩者之間的轉(zhuǎn)換與操作關(guān)系。
根據(jù)現(xiàn)有技術(shù),如果用戶需要將屬于某個聊天群組的成員加入到某個好友分組中,則必須經(jīng)歷四個階段,分別是1)在主面板中打開聊天群組成員列表,定位到該成員,右鍵選擇“加為好友”;2)輸入驗證信息等待該成員確認;3)確認通過后,在加入后的好友列表中定位到該成員;4)把該成員設(shè)置到某個好友分組中。
另一方面,如果用戶需要將某個好友聯(lián)系人加入到某個聊天群組中,也必須在主面板中打開群組聊天窗口,然后打開群組資料設(shè)置窗口,接著選擇要加入的好友聯(lián)系人,最后確定后才向服務(wù)器發(fā)送加入該好友到群組的協(xié)議命令。
從上述分析可以看出,把某個聊天群組中某個陌生人成員添加到某個好友分組中以及把某個好友聯(lián)系人添加到某個聊天群組中,這兩個過程都需要在不同的操作入口點打開不同的操作界面進行多個步驟操作處理,這個過程也極大的影響了IM工具使用的便利性,因此用戶迫切需要一種能夠在主面板基于簡單的鼠標拖拽模式就可以實現(xiàn)聊天群組成員與好友聯(lián)系人管理的技術(shù)方案,簡化用戶的操作步驟,提高IM工具的便利性。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提出了一種在IM工具中管理不同屬性分組及其成員的方法,用以簡化用戶的操作步驟,提高IM工具的便利性。
根據(jù)上述目的,本發(fā)明提供了一種在IM工具中管理不同屬性分組及其成員的方法,該方法包括A.在IM工具的主面板中顯示第一屬性分組及其成員和第二屬性分組及其成員;B.截獲用戶的鼠標按下信息,根據(jù)鼠標位置判斷當前點擊的是否為第一屬性分組成員,在是的情況下,執(zhí)行步驟C;C.判斷鼠標是否進行拖動,在是的情況下,復(fù)制該分組成員對象;D.根據(jù)鼠標位置判斷鼠標拖放的目標對象是否為第二屬性分組,如果是則截獲用戶的鼠標釋放信息,將該第一屬性分組成員對象復(fù)制到該第二屬性分組中;
E.向服務(wù)器發(fā)送該第一屬性分組成員和該第二屬性分組的信息,以供服務(wù)器更新。
優(yōu)選地,步驟D中在截獲用戶的鼠標釋放信息之前進一步包括提示用戶可釋放鼠標的步驟。
在上述技術(shù)方案中,在步驟C中通過鼠標移動是否超過預(yù)設(shè)的偏移量來判斷鼠標是否進行拖動,如果鼠標移動超過預(yù)設(shè)的偏移量則得出鼠標進行拖動,否則得出鼠標沒有進行拖動。
所述第二屬性分組為聊天群組,第二屬性分組成員為聊天群組成員。
在步驟E之前進一步包括判斷當前用戶是否具有操作權(quán)限,如果是則執(zhí)行步驟E,否則提示當前用戶無權(quán)限操作。
所述第二屬性分組為好友分組,第二屬性分組成員為好友聯(lián)系人。步驟D之后進一步包括D1.設(shè)置該第一屬性分組成員的好友分組為該好友分組。
步驟D1之前進一步包括提示當前用戶輸入驗證信息,將該驗證信息發(fā)送給該第一屬性分組成員,并在接收到通過驗證的信息的情況下執(zhí)行步驟D1。
所述第一屬性分組為聊天群組,第一屬性分組成員為聊天群組成員。
所述第一屬性分組為好友分組,第一屬性分組成員為好友聯(lián)系人。
從上述方案中可以看出,通過本發(fā)明所提供的方法,用戶只需要在主面板中通過簡單的鼠標拖拽操作就可以完成諸如在好友分組中添加某個聊天群組的成員為好友聯(lián)系人過程,以及直接添加好友聯(lián)系人到某個聊天群組的過程,極大的減少了用戶原來的操作步驟,同時降低了用戶的操作門檻,為用戶提供了一種更加方便快捷的處理方式,同時避免了用戶通過打開多個界面窗口進行操作的過程,極大的改善了用戶操作IM工具的體驗,方便了用戶的使用操作,提高了IM工具的便利性。
圖1為根據(jù)本發(fā)明實施例的流程示意圖;
圖2為在Windows操作系統(tǒng)中實施本發(fā)明的流程示意圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,以下舉實施例對本發(fā)明進一步詳細說明。
本發(fā)明主要提供一種使得IM工具用戶只需要簡單的鼠標拖拽操作就可以將一種屬性分組的成員加入到另一種屬性分組中的方法。圖1給出了本發(fā)明實施例的主要步驟,包括步驟S10,在IM工具的主面板中顯示第一屬性分組及其成員和第二屬性分組及其成員。
步驟S20,截獲用戶的鼠標按下信息,根據(jù)鼠標位置判斷當前點擊的是否為第一屬性分組成員,在是的情況下,執(zhí)行步驟S30。否則執(zhí)行其它相應(yīng)的處理,例如點擊的對象是某個分組則不進行后續(xù)處理,這里不再贅述。
步驟S30,判斷鼠標是否進行拖動,如果是,則在步驟S40中復(fù)制該分組成員對象;否則執(zhí)行其它處理,例如繼續(xù)等待,這里不再贅述。
步驟S50,根據(jù)鼠標位置判斷鼠標拖放的目標對象是否為第二屬性分組,如果是則執(zhí)行步驟S60;否則執(zhí)行其它處理,例如提示錯誤等,這里不再贅述。
步驟S60,截獲用戶的鼠標釋放信息,將該分組成員對象復(fù)制到該第二屬性分組中。
步驟S70,向服務(wù)器發(fā)送該第一屬性分組成員和該第二屬性分組的信息,以供服務(wù)器更新。
上述步驟S50至步驟S70給出了目標對象是第二屬性分組的情況,本發(fā)明還可以進一步提供目標對象是第一屬性分組的處理,即使得用戶能夠?qū)⒛硞€分組的成員加入到同一屬性另一分組。其過程為在根據(jù)鼠標位置得到鼠標拖放的目標對象是第一屬性分組時,截獲用戶的鼠標釋放信息,將該分組成員對象復(fù)制到目標對象分組中,然后向服務(wù)器發(fā)送該成員和目標對象分組的信息,以供服務(wù)器更新。
下面結(jié)合Windows操作系統(tǒng)來詳細描述本發(fā)明的實施。需要注意的,本發(fā)明并不局限于Windows操作系統(tǒng),在其它操作系統(tǒng)中同樣可以實施,只不過在其它操作系統(tǒng)中的函數(shù)名以及相關(guān)的類可能不同。另外,在下面的描述中,用常見的好友分組和聊天群組代表不同屬性分組,其成員分別為好友聯(lián)系人和聊天群組成員,本領(lǐng)域技術(shù)人員應(yīng)當理解,本發(fā)明可以應(yīng)用于其它不同屬性分組的情況。
圖2給出了在Windows操作系統(tǒng)中實現(xiàn)本發(fā)明技術(shù)方案的流程圖,下面結(jié)合圖2詳細描述其實現(xiàn)步驟步驟S100,IM工具主面板利用本地存儲模塊裝載好友聯(lián)系人及好友分組信息和聊天群組及其成員信息,并顯示出來。
這里以在IM工具主面板中裝載顯示好友分組及好友聯(lián)系人為例說明,裝載顯示聊天群組及其成員方法與此相似,這里不再贅述。首先,在主面板的實現(xiàn)類中,建立好友分組的Folder(指分組)對象列表,利用本地存儲模塊遍歷所有的好友分組基本信息,建立對應(yīng)于主面板的Folder對象,根據(jù)距離主面板頂端的偏移量計算得到每個Item(指成員)對象所在矩形區(qū)域,加入到Folder對象列表中。
接著,建立好友聯(lián)系人的Item對象列表,利用本地存儲模塊遍歷所有的好友聯(lián)系人基本信息,建立對應(yīng)于主面板中的好友聯(lián)系人Item對象,根據(jù)距離所在分組Folder對象的偏移量計算得到每個Item對象所在矩形區(qū)域,同時加入到好友Item對象列表中。
然后發(fā)送繪制主面板的消息,遍歷上面建立的好友分組Folder對象以及好友聯(lián)系人Item對象,提取出對應(yīng)的顯示名字以及矩形區(qū)域,利用Windows繪圖相關(guān)應(yīng)用編程接口(API)進行繪制處理,即顯示出主面板以及其中的好友分組和好友聯(lián)系人。
步驟S200,在主面板中通過響應(yīng)Windows鼠標消息獲取當前需要進行拖拽處理的分組Item對象,其包括如下步驟
利用WindowS提供的拖動源類COleDragSource設(shè)置其拖動源為當前IM工具主面板中每個Item對象,即可以通過重載該類中的BeginDrag函數(shù)判斷用戶拖動對象的有效性。
在主面板中截獲Windows的鼠標消息,并實現(xiàn)響應(yīng)消息的函數(shù),判斷當前是否是鼠標按下WM_LButtonDown消息(表示鼠標的左鍵按下),如果不是則繼續(xù)得到Windows鼠標消息;如果是Windows鼠標WM_LButtonDown消息,則獲取鼠標的消息參數(shù)Point數(shù)據(jù)(表示坐標點,即鼠標位置)。遍歷主面板中建立的好友聯(lián)系人Item對象列表以及好友分組Folder對象列表,得到每個Item對象或者Folder對象的矩形區(qū)域。利用Windows的矩形相關(guān)API函數(shù)獲取鼠標當前點擊了Item對象還是Folder對象,如果是Folder對象,則不進行后續(xù)處理,為非有效的拖動源;如果是Item對象,則利用拖動源類COleDragSource設(shè)置其為有效的拖動源對象。
步驟S300,在IM工具主面板中獲取希望拖放的目標Folder對象并完成Item對象的拷貝與粘貼處理。具體過程如下截獲主面板中的WM_MouseMove(表示鼠標移動)的鼠標消息,判斷鼠標移動是否超過了預(yù)設(shè)的偏移量,如果超過了預(yù)設(shè)的偏移量則說明開始進行拖動,否則說明鼠標未開始進行拖動。在鼠標開始進行拖動的情況下,調(diào)用上述BeginDrag虛函數(shù),設(shè)置拖動源有效為約定類型,并拷貝該Item對象到剪切板中。
利用Windows的拖動API函數(shù)OnDrag判斷用戶的拖動的目標對象是否有效,即確認拖放的目標對象為Folder對象,因為Item對象只有放置到Folder對象才有效。如果鼠標當前位置所在的主面板目標對象為Folder對象,則可以進一步利用Windows資源管理API函數(shù)裝載有效可放置光標資源提示用戶可以在這里進行放置操作,即提示用戶可以釋放鼠標,把拖動的Item對象放置在該Folder中。
截獲鼠標的WM_LButtonUp消息(表示鼠標的左鍵釋放),其表示用戶在該有效的目標對象Folder希望放置該Item對象,從剪切板中復(fù)制該Item對象到該目標Folder對象。
步驟S400,獲取用戶拖動的Item對象對應(yīng)的號碼標識(ID),利用本地存儲模塊判斷該Item的ID對應(yīng)是好友聯(lián)系人還是聊天群組成員,并且獲取目標對象Folder,利用本地存儲模塊判斷是否是聊天群組還是是好友分組。然后根據(jù)拖動源Item對象和目標Folder對象的屬性,進行不同處理,并將有關(guān)信息發(fā)送服務(wù)器更新。
情形1拖動源Item對象為好友聯(lián)系人,目標Folder對象為聊天群組。利用群組資料管理模塊判斷該當前用戶是否擁有操作權(quán)限,通常是判斷當前用戶是否是群組管理員,如果是群組管理員身份,則按照協(xié)議格式組合群組號碼以及Item對象對應(yīng)的ID到數(shù)據(jù)包中,發(fā)送加入成員到群組的協(xié)議命令到服務(wù)器,以便服務(wù)器更新;否則提示用戶無權(quán)限操作。
情形2拖動源Item對象為好友聯(lián)系人,目標Folder對象為另一個好友分組。這說明用戶希望拖動該好友聯(lián)系人到不同的分組中,則設(shè)置該Item對象對應(yīng)的分組Flag(表示標志位)為新的好友分組的Key(表示關(guān)鍵字),并上傳服務(wù)器更新。
情形3拖動源Item對象為聊天群組成員,目標Folder對象為另一聊天群組。確認用戶是群組管理員身份,則發(fā)送相關(guān)信息給服務(wù)器更新;否則提示用戶無權(quán)限操作。
情形4拖動源Item對象為聊天群組成員,目標Folder對象為好友分組。這說明用戶希望把該成員加入到某個好友分組中,提取出該Item對象對應(yīng)成員的ID。如果成員需要驗證才能加為好友,則提示用戶輸入驗證信息并發(fā)送給該成員,并且建立該成員ID與目標好友分組ID之間的映射(MAP)關(guān)系。如果該成員通過驗證,接受到通過驗證消息后,查找前面建立的MAP關(guān)系,確定該成員對應(yīng)的好友分組ID,自動設(shè)置該成員對應(yīng)的分組Flag為目標好友分組Key,并自動上傳到服務(wù)器更新好友關(guān)系數(shù)據(jù)表;如果未通過,則不作處理。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種在即時通訊IM工具中管理不同屬性分組及其成員的方法,其特征在于,該方法包括A.在IM工具的主面板中顯示第一屬性分組及其成員和第二屬性分組及其成員;B.截獲用戶的鼠標按下信息,根據(jù)鼠標位置判斷當前點擊的是否為第一屬性分組成員,在是的情況下,執(zhí)行步驟C;C.判斷鼠標是否進行拖動,在是的情況下,復(fù)制該分組成員對象;D.根據(jù)鼠標位置判斷鼠標拖放的目標對象是否為第二屬性分組,如果是則截獲用戶的鼠標釋放信息,將該第一屬性分組成員對象復(fù)制到該第二屬性分組中;E.向服務(wù)器發(fā)送該第一屬性分組成員和該第二屬性分組的信息,以供服務(wù)器更新。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟D中在截獲用戶的鼠標釋放信息之前進一步包括提示用戶可釋放鼠標的步驟。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在步驟C中通過鼠標移動是否超過預(yù)設(shè)的偏移量來判斷鼠標是否進行拖動,如果鼠標移動超過預(yù)設(shè)的偏移量則得出鼠標進行拖動,否則得出鼠標沒有進行拖動。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二屬性分組為聊天群組,第二屬性分組成員為聊天群組成員。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在步驟E之前進一步包括判斷當前用戶是否具有操作權(quán)限,如果是則執(zhí)行步驟E,否則提示當前用戶無權(quán)限操作。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二屬性分組為好友分組,第二屬性分組成員為好友聯(lián)系人;步驟D之后進一步包括D1.設(shè)置該第一屬性分組成員的好友分組為該好友分組。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,步驟D1之前進一步包括提示當前用戶輸入驗證信息,將該驗證信息發(fā)送給該第一屬性分組成員,并在接收到通過驗證的信息的情況下執(zhí)行步驟D1。
8.根據(jù)權(quán)利要求4、5、6、7之一所述的方法,其特征在于,所述第一屬性分組為聊天群組,第一屬性分組成員為聊天群組成員。
9.根據(jù)權(quán)利要求4、5、6、7之一所述的方法,其特征在于,所述第一屬性分組為好友分組,第一屬性分組成員為好友聯(lián)系人。
全文摘要
本發(fā)明公開了一種在IM工具中管理不同屬性分組及其成員的方法,該方法包括以下步驟A.在IM工具的主面板中顯示第一屬性分組及其成員和第二屬性分組及其成員;B.截獲用戶的鼠標按下信息,根據(jù)鼠標位置判斷當前點擊的是否為第一屬性分組成員,在是的情況下,執(zhí)行步驟C;C.判斷鼠標是否進行拖動,在是的情況下,復(fù)制該分組成員對象;D.根據(jù)鼠標位置判斷鼠標拖放的目標對象是否為第二屬性分組,如果是則截獲用戶的鼠標釋放信息,將該分組成員對象復(fù)制到該第二屬性分組中;E.向服務(wù)器發(fā)送該第一屬性分組成員和該第二屬性分組的信息,以供服務(wù)器更新。本發(fā)明極大地簡化了用戶的操作步驟,從而提高了IM工具的便利性。
文檔編號G06Q10/00GK101026612SQ200610008380
公開日2007年8月29日 申請日期2006年2月21日 優(yōu)先權(quán)日2006年2月21日
發(fā)明者李斌 申請人:騰訊科技(深圳)有限公司