You can deploy and run the QQ high-profile edition-GG2014 Perfect Edition! New support: chat record, friend group, tray flashing message reminder, logon status, GIF dynamic expression

Source: Internet
Author: User
Tags sqlite database

It has been 50 days since the last release of GG V3.7 (QQ high-profile edition, which can be deployed and run on the WAN-GG V3.7, optimizing video chat and controlling more details, these 50 days are a major leap for GG. During this time, I found many bugs and deficiencies in GG through some practical projects based on GG. I have fixed them one by one and added some basic and necessary functions. This release is GG V4.0, also known as GG 2014.

I remember that in the early GG versions, Jiri's brother in the garden left a message saying, "GG cannot be officially used ...... "At that time, I was not very convinced. Later, when I developed a formal project based on GG, I gradually understood what brother Ji and Sun said was right. However, today, I can invite elder brother Ji and sun to try the latest GG version, because the current GG quality is excellent. Believe it? Download one!

I. GG V4.0 new features

1. Chat record: supports local storage and server-side storage.

2. Friend group: Adds or deletes a group, modifies the group name, and changes the group to which a friend belongs.

3. Tray flashing: Similar to QQ, when a message is received, the tray will flash the avatar of the corresponding friend. Click the avatar to bring up a chat box with friends.

4. Logon status: online, left, busy, do not disturb, and invisible. When you modify your status, you can view your latest status synchronously.

5. Dynamic expressions: the chat box supports inserting GIF images, dynamic expressions, and playing animations.

6. Enter a reminder: like QQ, when the other party is inputting a message, the chat box on my side will show the prompt that the other party is "inputting.

7. Automatic recording: GG2014 automatically records the location and size of the last opened main interface, the size of the last opened chat window, and the color and size of the last set font.

8. When the chat window is opened, the last sentence of the last conversation is automatically displayed. (You can disable this function through system settings)

Not to mention nonsense.

Chat history:

Friend Group:

Inputting:

System settings:

II. Implementation ideas

Although the source code is provided, I still want to list the main ideas so that you can understand the source code and save more time.

1. The local storage of chat records uses the Sqlite database, and the server storage is currently a virtual database in the memory.

2. Read chat records from the server using Remoting technology. The GetChatRecordPage method of the IRemotingService interface and the GetGroupChatRecordPage method.

3. Principles behind friend groups: User-Class Friends fields with values similar to this-my Friends: Friends, 1234,; family members: Friends,; students:,

(1) separate different groups by semicolons

(2) separate the group name and friends list with a colon.

(3) use commas to separate different Friend IDs.

(4) In addition, the User class has a DefaultFriendCatalog field, which is used to store the name of the default group (initial value: "My friends"). The name of the default group can be changed, but cannot be deleted. (This completely imitates QQ)

4. the implementation of tray flash is mainly focused on the TwinkleNotifyIcon component. Whether it is a personal chat message or a group chat message, it is first pushed into the TwinkleNotifyIcon to make it flash. When you click TwinkleNotifyIcon, then extract and display the message.

5. Enter the principles behind the reminder:

(1) when the content of the chat input box changes (TextChanged event), an InputingNotify message is sent to the other party, and the minimum interval between the two messages is 5 seconds.

(2) once the recipient receives the InputingNotify notification, the Label "inputting" is displayed immediately.

(3) if the other party does not receive the InputingNotify notification for 10 consecutive seconds, the input state will be changed to false. (CheckInptingVisiable method of ChatForm)

(4) when the recipient receives the chat message, immediately change the input status to false, and then wait for the next InputingNotify notification.

6. The automatic recording function uses a local file to record the location information of the form. For details, see attributes such as ChatFormSize, MainFormSize, MainFormLocation, and Font of the SystemSettings class.

7. When the chat form is opened, the last sentence of the last chat is displayed: This function uses the Tag field of the User class to store the last sentence information. In addition, the friend information (User-Class instance) will be persisted in the local file.

 

III. Download GG V4.0 source code

GG V4.0 source code

A lot of friends have strongly urged to provide a version that can be directly deployed, so that they can directly deploy and test it. OK, this time to meet this requirement ~~

GG V4.0 can be directly deployed

Built-in test account: 10000, 10001, 10002, 10003, password: 1

 

I wrote an article to summarize the latest overview of GG and how to deploy and use accounts, for more information, see the overview of GG2013, a high-profile QQ edition, which can be deployed and run on the WAN.

Welcome to discuss with me about GG2013, my QQ: 2027224508, a lot of exchanges!

If you have any questions or suggestions, you can leave a message or send an email to my mailbox: [email protected].

If you think it's good, please try again.

 

You can deploy and run the QQ high-profile edition-GG2014 Perfect Edition! New support: chat record, friend group, tray flashing message reminder, logon status, GIF dynamic expression

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.