Qt:“聊天记录”控件(Qt: “Chat History” control)
我们一直在使用Qt的WebKit作为聊天记录控件。 与Skype类似,它列出了对话历史记录,突出显示了该人的姓名,显示了他/她的文本,并允许轻松选择和复制。
由于某些我无法控制的原因,我的应用程序不再允许使用Qt的WebKit。 我正在寻找替代方案,理想情况下在qt的基本产品中使用控件(我非常愿意扩展)。
- 显示类似skype的聊天记录,其中包含人物,文本和时间戳的名称
- 能够为聊天记录行创建奇偶背景颜色
- 可滚动
- 使用自由形式的文本鼠标轻松选择
- 动态地能够添加聊天历史记录行,并滚动到底部以显示它们,以防用户向上滚动
有什么建议么? 你认为我可以使用丰富的编辑控件吗? 它有只读模式吗?
We've been using Qt's WebKit as a chat history control. similar to skype, it lists the conversation history, highlighting the name of the person, showing his/her text, and allowing for easy select and copy.
For some reasons beyond my control, my app isn't allowed to use Qt's WebKit anymore. I am looking for alternatives that'll ideally use controls in qt's basic offering (i'm more than willing to extend).
- display a skype-like chat history with name of person, text and timestamp
- be able to have odd-even background colors for chat history rows
- be scrollable
- easy selection with mouse of text in a freeform fashion
- dynamically be able to have chat history rows added to it, and scroll to the bottom to display them, in case the user scrolled up
Any suggestions? Do you think I can use the rich edit control for this? does it have a read-only mode?
原文:https://stackoverflow.com/questions/14609993
最满意答案
只需
svn copy
原始文件svn copy
到一个新文件,然后从每个文件中删除额外的内容。 就像是:svn copy OriginAll NewFile
然后从
OriginAll
删除您只需要参与NewFile
。 然后从NewFile
删除OriginAll
中OriginAll
的内容。没有TortoiseSVN进行测试,但从我看到它可以通过右键单击拖动文件轻松完成,您将获得一个上下文菜单来选择
SVN Copy
。Just
svn copy
the original file to a new file and remove from each one of them the extra content. Something like:svn copy OriginAll NewFile
Then remove, from
OriginAll
, the content that you need to be part only ofNewFile
. Then remove the content left inOriginAll
from theNewFile
.Not having TortoiseSVN to test, but from what I see it is easily done by dragging the file using right click and you will get a context menu to select
SVN Copy
.
相关问答
更多-
SVN将单个目录移动到其他存储库(包含历史记录)(SVN move single directory into other repository (with history))[2022-08-21]
检查svndumpfilter和本部分关于Repository Maintenance 。 一旦你有一个转储文件的整个旧的存储库,你可以使用svndumpfilter来提取你想要的部分。 我不知道用TortoiseSVN做这件事的方法。 Check out svndumpfilter and this section on Repository Maintenance. Once you have a dumpfile for the entire old repository, you can use s ... -
没有。 svn move相当于svn copy ,然后是svn delete 。 复制的文件与原件共享历史记录。 No. svn move is equivalent to svn copy, and then svn delete. Copied files share their history with the originals.
-
如何将代码从SVN迁移到GIT而不会丢失提交历史记录?(How to migrate code from SVN to GIT without losing commits history? [duplicate])[2024-05-23]
Eric Raymond(esr)已经创建了reposurgeon ,“一个用于对版本控制历史执行棘手编辑操作的命令解释器”。该工具包括用于各种目的的脚本,包括清理VCS转换的结果。 从https://gitlab.com/esr/reposurgeon查看。 从版本2.0起,它支持阅读SVN转储文件,用于完整和惯用的翻译为Git,Mercurial 等 ; 有关详细信息,请参阅http://esr.ibiblio.org/?p=4071 。 Reposurgeon已被用于将几个大型项目转换为Git,其中包 ... -
是的,只要Git将其检测为移动或复制,根据我的经验,它也可以作为移动或复制传输到SVN,这意味着历史被保留。 Yes, as long as Git detects it as move or copy, in my experience it was also transported as move or copy to SVN, which means history was preserved.
-
使用svnsync工具,如code.google.com常见问题解答中所述 。 First of all, thanks for your answers. However, I've found myself a way to do what I wanted and that's extremely easy. In order to have a txt historty of the commits to the svn, I just had to go the Tortoise SVN ->Sh ...
-
一旦你做出了修改,解决这个问题的唯一方法就是重新开始。 删除项目并提交,然后返回并进行适当的移动并提交。 如果需要,您也可以使用svn copy从历史记录中复制旧项目。 如果您在重构文件时使用了Subclipse,它们会自动移动,所以您不会遇到这个问题。 Once you have committed the changes the only way to fix this would be to start over. Delete the items and commit, and then go ba ...
-
移动svn到GIT时的历史记录不保留(对于svn移动文件夹)(history not preserve while move svn to GIT (for svn Move folders))[2023-07-10]
移动到GIT时,SVN Move将无法保留历史记录,因为它将在GIT中视为新的目录条目提交。 需要使用SVN-DUMP-RELOC,它将重新扫描SVN DUMP文件中的目录而不是存储库。 请按照以下Windows机器链接中提到的步骤操作: 在Windows命令提示符下使用svn-dump-reloc 谢谢 SVN Move will not be able to preserve the history while moving to GIT as it will consider as new direc ... -
如何将代码历史记录移动到另一个文件,以便在svn中进行重构(how to move code history to another file for refactoring in svn)[2023-10-04]
只需svn copy原始文件svn copy到一个新文件,然后从每个文件中删除额外的内容。 就像是: svn copy OriginAll NewFile 然后从OriginAll删除您只需要参与NewFile 。 然后从NewFile删除OriginAll中OriginAll的内容。 没有TortoiseSVN进行测试,但从我看到它可以通过右键单击拖动文件轻松完成,您将获得一个上下文菜单来选择SVN Copy 。 Just svn copy the original file to a new file ... -
从svn help move输出,我们有: 第四列:计划提交将创建一个副本(添加历史记录) ' '没有安排提交的历史记录(项目是新添加的) 用提交安排的'+'历史记录(项目已被复制) 所以+仅仅意味着指定的条目“添加了历史记录” - 也就是说,您将能够在要记录的提交中跟踪其历史记录。 D和A指示符表示将删除和添加相应的条目。 换句话说,你所观察到的是Subversion没有真正在存储库中记录你的行为的结果 ,因为它不会记录像“文件”这样的东西X“已经被重命名为”Y“»但是它而是记录重命名为原始条目的消失和具 ...
-
尝试 git log --follow PATH_TO_FILE Try git log --follow PATH_TO_FILE