Git Product home page Git Product logo

lc-finder's People

Contributors

dependabot[bot] avatar gitter-badger avatar lc-soft avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lc-finder's Issues

需修改文件夹缩略图的生成策略

文件夹的宽度比图片宽,而且不会自适应缩略图宽度,所以,生成缩略图时应该按文件夹固定的最大宽度来生成,不应该和图片采用一样的生成方式,这样能够减少缩略图的锯齿效果。

qq 20161016112826

需添加多语言支持

语言包括:简体中文、繁体中文、英文、日语。

语言文件可考虑使用 yaml 或 JSON 存储格式。

需要一个APP图标

UI **的竞赛频道里一个图标设计起步价2000块,感觉有些贵,要是能设计三个图标的话倒是能勉强接受。

改进缩略图列表视图的体验

在图片很多的情况下,用户滚动缩略图列表视图时可以显示一个类似于 (256/10000) 这样的进度提示,这样能让用户知道自己具体浏览到第几张图片、总共有多少张图片,毕竟右侧的滚动条只能表示大概的范围。

当视图还在加载新的缩略图项时可以在顶部显示一个进度条,如果 1 秒后还有未加载的缩略图项就显示这个进度条。

添加UWP版本

调用Drect2D接口将LCUI渲染的图像绘制到UWP应用的窗口中。
可能需要添加UWP版的鼠标、键盘、触屏支持。

需改为存储宽字符版本的翻译文本

经测试,sprintf() 函数在处理包含中文的 UTF-8 编码字符串时会直接抛异常,为解决这个问题,需改为存储宽字符版本的翻译文本。

void testsprintf( void )
{
    char buf[256], *str;
    wchar_t *wstr = L"总共有 %d 个文件";
    str = EncodeUTF8( wstr );
    sprintf( buf, str, 128 ); // 异常终止
    printf( "%s\n", buf );
}

完善标签添加操作

当前为图片添加标签所需的步骤比较多,一次操作只能对一张图片添加一个标签,需要改进。

需添加“私人空间”功能

除了管理正常向可公开的图片,还需要管理那些非公开的图片,之前想到的解决方案是每个文件都可以单独设置为隐藏,每个标签也可以设置隐藏,但感觉处理起来有些复杂,现在仔细想想,其实在一般情况下,大多数人会找个地方新建个文件夹来专门存放这些图片,与普通图片区分开来,不会混在一起,针对这一情况,可以添加”私人空间“功能来管理这些文件夹。

目前设计是在”设置“视图中增加一个设置项”私人空间“,用户可选择开启/关闭它,当开启它时,将支持设置指定的”源文件夹“为隐藏状态,这样,在关闭”私人空间“后,文件夹列表和搜索功能都不会列出那些属于”私人空间“内的文件。

”私人空间“可以设置密码,每当开启”私人空间“功能时,会要求输入密码。

”私人空间”的开启状态仅限本次运行的程序有效,如果退出了程序,那么下次启动程序时“私人空间”会是关闭状态。

这里的“私人空间”只是限制程序的文件搜索功能,并不虑涉及文件的加密与解密,至于如何隐藏非公开的图片,则由用户自己想办法。

需添加相册/专辑支持

当前的功能只适合管理零碎的散图,对于像漫画、写真集、CG集、游戏截图等这类具备系列性质的图片,需要支持以相册/专辑为单位进行管理。

可考虑添加多主题切换功能

当前界面主题是亮绿色,以后可以添加其它主题,在设置界面里切换。

也就是 css 代码的事情,动态切换,无需重启程序。

可考虑提供文件选择模式给外部程序调用

其它程序需要选择单张或多张图片时,可以调用 LC-Finder,让用户在 LC-Finder 里勾选图片,确定后将图片路径列表返回给程序。

可以先做个函数版本,程序需要时调用函数即可。

为图片查看器添加切换功能

可在图片查看器两边添加切换按钮,以供用户切换上一张/下一张图片,当缩放后的图片小于图片查看器时,用户的左划/右划操作会触发图片切换。

触摸屏无法滚动

电脑型号 Dell XPS 13
操作系统 Windows 10 专业版
问题 使用触摸屏的时候无法滚动,只能靠拖动滚动条,如果有时间的话建议加入触摸屏滚动功能。

需要更改文件夹选择对话框

当前选择文件夹是这种对话框:
qq 20161012210907
窗口小,不好操作,感觉像是XP年代的软件才会用这种对话框,需要改成这样:
qq 20161012210748

需添加源文件夹位置编辑功能

当源文件夹移动位置后,LC-Finder 中记录的文件信息会无效,如果该源文件夹内的文件比较多的话,虽然可以重新添加源文件夹然后把文件同步进来,但之前对文件添加的评分和标签却无法还原,为解决这个问题,可以为源文件添加位置编辑功能。

改进图片查看器的操作体验

缩放模式

  • 双击图片后,将图片缩放至适应窗口尺寸
  • 鼠标滚轮控制缩放比例
  • 方向键移动浏览区域

非缩放模式

  • 双击图片后,以1:1比例缩放图片
  • 加减键控制图片缩放比例

需优化缩略图缓存的内存占用

当前是每个缩略图列表都有一个缩略图缓存,默认大小 32MB,整个程序有 4 个缩略图列表,共计 128 MB,需要考虑优化,让这几个缩略图列表可以共用一个缩略图缓存。

以平均一张缩略图大小 262 KB 为例,整个屏幕大概可排列 52 张,考虑到有多个列表、列表滚动体验、4K屏等情况,暂定缓存大小为 64MB。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.