KDevelop KDE application的问题

thisisll 2005-12-09 12:17:30
我用kdevelop生成一个KDE Application
看其中main.cpp的代码

if (app.isRestored())
{
RESTORE(KDEApp);
}
else
。。。
bool KApplication::isRestored ( ) const [inline]
Is the application restored from the session manager?
首先我想问一下这里的session是指的什么?
还有restore怎么理解、翻译?
既然他restored了为什么还要调用RESTORE(KDEApp);
#define RESTORE(type) { int n = 1;\
while (KMainWindow::canBeRestored(n)){\
(new type)->restore(n);\
n++;}}
626
...全文
245 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wolf0403 2005-12-09
  • 打赏
  • 举报
回复
Session 是指当前的用户会话过程,restore 不理解。
x86 2005-12-09
  • 打赏
  • 举报
回复
session是指当前回话。退出KDE再进入时可以恢复上一次session,如果你的应用程序支持session,那么你可以在保存和恢复session的时候做相应的事情,比如保存用户操作状态等等。
loserking 2005-12-09
  • 打赏
  • 举报
回复
这个session跟用户会话应该无关。而是应该指的是QSessionManager。QSessionManager提供了一个interface来存储应用的运行状态。比如在windows下存储注册表,linux下存储某个文件中。

KDE应用在QT之上建立了一个自己的目录结构。isRestored()应该是检查具体app所在的目录下的状态配置文件,来判断是否有过以前存储的运行状态。如果以前串行化了运行状态,就根据这个串行化来构造应用,否则构造个新的空应用。

比如,那些toolbar或者停靠窗口,用户改变了它们的位置。当下次启动程序的时候,可能还希望是原来的用户习惯的位置。

kde的目录树我已经记不清了。去/usr/local下找吧。
thisisll 2005-12-09
  • 打赏
  • 举报
回复
当前的用户会话过程是指什么?
thisisll 2005-12-09
  • 打赏
  • 举报
回复
当前的用户会话过程是指什么?

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧