/feiq

基于qt实现的mac版飞秋,遵循飞秋协议(飞鸽扩展协议),支持多项飞秋特有功能

Primary LanguageC++GNU General Public License v3.0GPL-3.0

由于工作原因,本人已很少使用feiq,该项目暂时挂起,如有发现bug,欢迎下载源码修正后提交pull request

概览

这是基于qt实现的mac版飞秋。

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,图片数据的协议未破解
  • 文件夹收发:飞秋貌似使用了自定义的文件夹收发协议
  • 日志:部分完成,日志功能我平时极少使用,后续版本不一定加入

一些BUG

  • 在接收文本框中显示gif图:QTextEdit不支持GIF动画,只会显示第一帧;结合QMovie可能可以实现(有网友反馈会内存泄露)

开发者

界面的实现与飞秋协议部分是分离的。

feiqlib是通信、协议解析、mvc构架部分,基于c++ 11封装,仅适用unix代码。理论上可移植到任意的unix/linux系统上。

界面部分基于qt实现。使用了部分平台相关的特性,如在其他平台使用,可参考osx目录使用对应平台的native特性。

目前使用到的平台相关特性有:

  1. mac dock上的badge文本(图标上的小红点)
  2. mac 通知中心的通知消息

引用代码,请注明代码出处。