-
Notifications
You must be signed in to change notification settings - Fork 48
/
log.txt
135 lines (106 loc) · 7.54 KB
/
log.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
2012.2.25:
修正:配置文件读写目录的一个bug。
2012.2.26:
增加:按住Ctrl时,鼠标点住窗体内任意位置可以移动窗体。
2012.2.27:
增加:图片随窗体大小改变而缩放。
增加:窗体大小随图片大小调整。
2012.2.28:
增加:自动播放/暂停功能。
2012.2.29:
增加:禁止自定义背景色功能。
2012.3.5:
增加:浮动面板。
增加:是否使用系统标题栏。
2012.3.7:
增加:图片缩放大于窗体时,鼠标左键快速拖动图片,释放鼠标后的惯性滑动。
2012.9.13:
重构:接受拖入图片的代码移至MainWindow,减少ImageViewer复杂度;去除“窗体大小随图片大小调整”的功能;去除“是否使用系统标题栏”的功能;去除启动时全屏或最大化等功能。
新增:窗体启动时自动调整为上次关闭前的大小。
新增:Windows下支持文件格式关联。
2012.9.14:
新增:左右两个浮动面板,用于切换图片。
2012.10.6
新增:删除文件到回收站。
2012.10.6-2012.10.7,2012.10.20:
重构:添加PicManager类,将原来ImageViewer类中文件管理相关的部分转移到PicManager类中,PicManager对象作为ImageViewer的一个成员。
2012.10.22-2012.10.23:
重构:ImageViewer类只保留图片显示相关的功能,作为PicManager类的基类,PicManager类从ImageViewer类派生。修改反映文件列表变化的代码,改为实时监控。PicManager类增加一个成员ImageCache类,用来保存读取的图片的状态,为下一步多线程预读作准备。
修正:删除文件到回收站的一个bug。
2012.11.2-2012.11.5:
新增:监视配置文件内容的变化,改变设置后对所有进程同时生效。
重构:将MainWindow中建立设置窗口的部分包装为类SettingsDialog,放在settingwidget.h中; 拖入多个图片时不启动多个窗口。
2012.11.17:
修正:启动时先显示窗体,再载入图片。
新增:图片放大超出窗体大小时显示右侧和下方滑块,指示当前显示的内容占整个图片的比例及位置。
2012.12.14:
新增:缓存浏览过的图片,以加快反向浏览时的速度。
2012.12.14-16:
新增:使用一个预读线程预读下一张图片,以提高图片切换时的载入速度。
2012.12.17:
完善预读与缓存功能,增加设置选项。
2012.12.25:
新增:部分psd格式的支持(代码来自开源的libqpsd项目: github.com/Code-ReaQtor/libqpsd,作者[email protected])。
2013.1.2-2013.1.3:
新增:webp格式支持(代码来自google开源的libwebp项目:developers.google.com/speed/webp/,并参考了以下内容:qwebp.7z,来自code.google.com/p/webp/issues/detail?id=53 及 qt_webp-master,来自github.com/cor3ntin/qt_webp)。
优化:将libqpsd处理图片数据时的4个循环优化为2个,大幅提高psd图片加载速度。
2013.2.14-2013.2.17:
部分代码的整理。修复一些bug。
重构:将配置相关的部分内容放到config.h。整体代码风格优化。改进FloatFrame。
优化:提高设置对话框的显示速度。
新增:缩放图片时提示缩放比例(裁剪了QToolTip)。
新增:鼠标停在ezviewer右上角一定时间后显示图片属性(适合全屏观看时查看属性)。
2013.2.17:
重构:Config改造完成,SettingWidget和MainWindow不再直接读取Ini文件。
2013.3.1:
优化:调整打开图片时预读下一张的时机,提高启动时窗口显示完毕的速度。
2013.3.15:
新增:属性中增加Exif信息查看(使用Wang Bin的PhotoKit中的ExifReader类,见http://github.com/wang-bin/PhotoKit 。同时Windows下使用了Wang Bin的libexif-port:https://github.com/wang-bin/libexif-port )。
2013.3.22-2013.3.24:
重构:拆分ImageCache为ImageWrapper与ImageFactory,将预读、缓存功能合入ImageFactory。ImageWrapper则封装各种图片格式。
新增:支持Svg动画(采用QSvgRenderer的QImage渲染方式,不支持暂停、步进,不支持无损矢量缩放)。
其他部分代码重构。修复了一些bug。
2013.3.26-2013.3.28:
重构:使用QThreadPool和QRunnable代替之前的自定义QThread进行预读。
继续重构ImageWrapper和ImageFactory。一些bug的修正。
新增:对于含多个帧的ico文件,按F键可以循环切换各个帧。
优化:改用QtConcurrent::run实现设置对话框快速显示。
2013.3.29-2013.3.31:
优化:设置中文件关联增加一个“全选”和“全不选”功能。
新增:自定义快捷键功能。
裁剪:使用QXmlPutGet读写xml文件,以保存自定义快捷键配置。 (作者 Emanuel Eichhammer, 网址: http://www.workslikeclockwork.com/index.php/components/xml-classes-for-qt/ )
修正:Config的析构函数没有调用的bug。
2013.4.5:
优化:提高全部设置/全部取消文件关联的速度。
2013.4.6:
BUGFIX:开启预读的情况下,有可能因为多个线程同时进入ImageWrapper::load()而引起异常退出:Error - RtlWerpReportException failed with status code :-1073741823.这种情况多发生在连续查看下一张后突然转为查看上一张图片,此时由于没有符合HashCode的ImageWrapper而只能reuse,这时有可能reuse到一个已经处于预读状态的ImageWrapper。解决方案:ImageFactory::newOrReuseImage()中reuse时也要判断是否getReady()。
2013.4.15:
去掉Tooltip对Qt private头文件的依赖,提高不同版本间的兼容性。
2013.5.1:
新增:在资源管理器中定位图片(目前仅Windows支持)。
新增:图片缩放模式设置(包括100%显示、适合窗口宽度、适合窗口高度。。等6种模式)。
优化:解决长按按键后放开还会继续切换图片的问题。
2013.5.2:
新增:图片对齐模式(共9种,默认居中显示)。
新增:允许通过键盘按键移动图片内容(缩放超过窗体显示范围的情况下)。
重构:ImageViewer和FloatFrame的部分用户操作逻辑移到MainWindow中。
重构:规范Config中关于配置的默认值部分,方便集中修改。
重构:移植Qt demo中的flickable,将惯性滑动部分封装为VelocityTracker,并将ImageViewer中惯性滑动的部分抽离,用VelocityTracker代替,以减少其处理逻辑。
2013.5.4-2013.5.8:
新增:使用libRaw进行raw格式文件支持(目前解析时CPU占用很高)。
优化:使用easyexif代替libexif来解析exif信息;增加ImageHeader类来对其进行封装。
新增:根据exif头的orientation信息自动旋转图片方向。
2013.5.9-2013.5.11:
BUGFIX:解决easyexif的一个崩溃问题(不再传入整个图像内容,而是自己先在ImageHeader里面解析找到exif标签部分的内容,再传入这部分内容)。
新增:根据jhead的代码添加了jpeg质量猜测方法;根据exif2.2规范(参见http://www.exif.org/Exif2-2.PDF)为easyexif添加了一些tag的解析。
优化:结合easyexif/jhead/exif2.2规范/exif2.1规范(http://www.cppblog.com/lymons/archive/2010/02/23/108266.html)的内容,解决了easyexif一些值的边界不严谨的问题。
重构:规范ImageHeader使其具有扩展至其他图片格式的能力。
BUGFIX:修正VelocityTracker在鼠标拖动时的一个问题。
新增:增加是否启用自动旋转图片方向的设置;增加在资源管理器中定位的快捷键设置。
2013.5.14:
BUGFIX:解决多线程同时写入一个ImageWrapper,引起显示黑边的Bug。
2013.5.16:
BUGFIX:解决文件格式关联的一个bug(无法分辨不同路径的程序)。
2013.6.15、2013.6.17:
优化:FloatFrame的点击信号发送时机。
BUGFIX:彻底解决VelocityTracker在鼠标拖动结束后图片滑动方向有时相反的问题。