fork from https://github.com/compilelife/feiq.git
这是基于qt实现的Linux版飞秋
原为基于qt实现的mac版飞秋,后修改了mac的系统调用,使其支持Linux。
mac下的“飞秋”大多数只是飞鸽传书协议,而且未发现令人满意的开源项目,所以基于c++与qt实现了基础的飞秋协议。
- 收发文本、文件
- 可与飞秋互发表情
- 查找好友
- 窗口抖动
- 指定IP增加好友
- 可添加自定义网段穿透屏蔽了广播包的路由器
- 未读消息的好友自动置顶
- 定时更新好友列表
- 一些个性化设置
- 未读消息自动提醒(可选)
- 按沟通频繁度排序好友 (可选)
个性化设置(~/.feiq_setting.ini)包括:
[user]
name = CompileLife ;设置用户名
host = Niubility Macbook ;设置主机名
[app]
title = Feiq by CompileLife ;设置一个高端大气上档次的窗口标题名称,亮瞎围观你飞秋的人
send_by_enter=0 ;0:cmd/ctrl+enter发送;enter回车; 1:相反
[network]
custom_group=192.168.74.|192.168.82. ;设置一些广播包无法触及的子网,点号结束一个网段的定义,竖线分隔各个网段
[rank_user]
enable=1 ;启用按沟通频繁度排序用户的功能
- 设置、显示文本格式:挺鸡肋的,暂时没兴趣实现
- 图片收发:仅支持获取图片id,图片数据的协议未破解
- 文件夹收发:飞秋貌似使用了自定义的文件夹收发协议
- 日志:部分完成,日志功能我平时极少使用,后续版本不一定加入
- 在接收文本框中显示gif图:QTextEdit不支持GIF动画,只会显示第一帧;结合QMovie可能可以实现(有网友反馈会内存泄露)
界面的实现与飞秋协议部分是分离的。
feiqlib是通信、协议解析、mvc构架部分,基于c++ 11封装,仅适用unix代码。理论上可移植到任意的unix/linux系统上。
界面部分基于qt实现。使用了部分平台相关的特性,如在其他平台使用,可参考osx目录使用对应平台的native特性。
目前使用到的平台相关特性有:
- mac dock上的badge文本(图标上的小红点)
- mac 通知中心的通知消息
引用代码,请注明代码出处。