# 概览

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

mac下的“飞秋”大多数只是飞鸽传书协议，而且未发现令人满意的开源项目，所以基于c++与qt实现了基础的飞秋协议。

## 支持特性
* 收发文本、文件
* 可与飞秋互发表情
* 查找好友
* 窗口抖动
* 指定IP增加好友
* 可添加自定义网段穿透屏蔽了广播包的路由器
* 未读消息的好友自动置顶
* 定时更新好友列表
* 一些个性化设置
* 未读消息自动提醒（可选）
* 按沟通频繁度排序好友 （可选）

个性化设置(~/.feiq_setting.ini)包括：

```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 通知中心的通知消息

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