Posts

Showing posts from August, 2008

Wicket 下实现 Checkin 和 Checkout 日期的连动

Image
Shrimpy 的推荐果然不虚, Wicket 确实是一个实现 Presentation Layer 的好框架。靠着 Wicket,整个 HTML 的静态代码和 Java 的动态代码可以完全分割开来。静态代码用 HTML 文件保存,动态代码使用 Java 格式, Wicket 自身便做将 HTML 和 Java 在后台绑定的工作——整个思路有点像 ASP.net,一个 C# 文件对应一个页面——关键是, Wicket 还能实现 AJAX 功能。相当地帅。 用着顺手,便在最近的项目中向老板推荐了 Wicket。于是,一个带薪尝试 Wicket 的机会便产生了…… 不过,作为一个新的框架,相关资料实在是太少了……整个项目过程,一半靠 Wicket Example ,一半靠 Google。 这个 Checkin 和 Checkout 日期连动的代码,就是靠着瞎蒙鼓捣出来的。很多网站的搜索都需要实现当前日期,起始日期和结束日期的连动,以保证当前日期>起始日期>结束日期。放出代码来供大家参考,如果有其他好思路,也请赐教。 HTML 部分代码 <?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.sourceforge.net/"> <head> <title>Related Date Pickers</title> </head> <body> <center><h1><span wicket:id="message">message will be here</span></h1></center> <form wicket:id="dateForm"> <table align=&qu

又删博客

不知不觉,距离上次删除 alpha0roc.spaces.live.com 又一年了。博客旁边的 Archives 又长长了,13 行。 有碍美观,年度性地再删一次。 所有以前的博客,都去 Blogger 地址 找吧。

Screenlets 与 iGoogle Gadgets

Image
Screenlets 是 Linux 下的桌面 Widget 管理软件。通过 Screenlets,可以加在许多好玩的桌面小工具。此软件可以简单地通过添加以下源后,安装 screenlets 得到。 deb http://ppa.launchpad.net/gilir/ubuntu hardy main deb-src http://ppa.launchpad.net/gilir/ubuntu hardy main 不过,Screenlets 的 Widget 可不仅仅只限于安装包中所提供的那些,它还能神奇地将 iGoogle 上的各种网页 gadget 转换成桌面 Widget。 以 Google 官方的 Beijing 2008 Summer Games Gadget 为例,罗列一下转换过程。 打开该 Gadget 介绍页面 点选页面右边的 “Embed this gadget »”,又称“嵌入该小工具 »” 对此 Gadget 进行一些自定义设定,并且点击“Get the Code”或“获得代码”,获得一串 JavaScript 代码 运行 Screenlets Manager,并点选左边的 Install 按钮 选择 Convert Web Widget,点击 OK 将复制得到的 JavaScript 代码粘贴到 Widget converter 界面的 Step 2 框中 按照 Step 3 的要求,为你的 Widget 取一个名字,名字似乎只能支持英文和数字,中文名会导致程序无法运行 选择 OK 后,提示转换成功,新 Widget 被添加,双击即可运行 附 Screenlets Widgets 的效果图一张: Screenlets Widgets

神似 Mac OS

买不起 Mac,但这不能阻止我们在 Linux 下使用一些软件,实现一些 Mac 特有的功能。 很大众化的软件有 Compiz(动态特效支持), CompizConfig Setting Manager(动态特效配置工具)和 Avant Window Navigator(3D Dock 工具栏)。这些都很有名气了,不需要再多做介绍。 其他小众化一点的,还有: Screenlets 如果配合 Compiz 上的 Widget 插件使用,便可以实现 Dashboard 功能——把所有的 Screenlets Widget 放置在虚拟的 Dashboard 层上,通过 F9 按钮显示和隐藏。即使没有 Compiz, Screenlets 仍然能够把 Widget 显示在桌面上,此时它就像一个 Widget 的管理软件。 Songbird 一个类似 iTunes 的歌曲管理软件,不仅神似,而且还形似。神似上,它能够如 iTunes 那样直接连接 iPod,并对歌曲进行导入和导出。形似上,只要给 Songbird 安装上 MediaFlow 和 Album Art Manager 插件——在 0.7 版中只需安装 MediaFlow 插件——并选择 View 中的 MediaFlow,便可以实现其主页上那种专辑图片动态翻选的效果。 Galaxium 又到了 Galaxium。在 Galaxium 的 Preferences 中有一个 Messages Theme,如果选择为 Adium,便可以实现 Mac OS 中如 iChat 的聊天风格显示。不过问题是,现在稳定版中的 Adium Theme,尚无法很好支持中文显示。而 SVN 开发版,虽然能够在 Adium 中显示中文,但却会因为启用 Adium Theme 特效而常常无故退出。

关于 Galaxium 的 Adium Theme 的中文支持

Adium Theme 的显示效果非常不错,但是可惜的是对于中文的支持却很不够。中文的聊天记录在上面显示出来却都变成了一个个的方框。其实出现这个问题的最主要原因是程序所调用的 WebKit-Gtk 对于中文显示的支持不够。如果换成 Mozilla 的 Gecko 库的话,效果就完全不一样了。 要让 Galaxium 支持 Gecko 需要从源代码开始,重新编译整个软件。 首先需要获取最新版的 SVN 版本,并进入代码目录 svn checkout http://galaxium.googlecode.com/svn/trunk/ galaxium-read-only cd galaxium-read-only 产生编译配置文件时启用 Gecko 支持,然后编译,安装软件 ./autogen.sh --prefix=/Galaxium 的指定安装目录 --enable-gecko make make install 编译整个软件,需要预先安装一系列的 dev 包。现在已经说不清楚需要安装那些包了,具体可以按照配置时的出错信息来操作。只记得 libgstreamer0.10-dev, libgstreamer-plugins-base0.10-dev 和 libgecko2.0-cil 都是肯定需要安装的。

Galaxium 和 Pidgin

Pidgin 的优势想必无须多说了。开放性的多协议支持,优秀的多用户管理机制,以及方便的聊天记录管理。一切都很美好,以前还一直都认为,只有一个 Pidgin 就可以应付 QQ,MSN,Gtalk,Yahoo 以及 Fetion 的上所有联系…… 无奈,不知是 Pidgin 本身的框架设计问题,还是开发者懒惰了。最近几个月的更新,除了名字从 Gaim 改为 Pidgin,以及修正各类小 Bug 之外,似乎完全没有大的作为。 于是,MSN 的依然不能接收离线消息,在线消息的发送和接收也偶尔丢失。QQ 群组在一段时间后总是会自动断线。其他的如视频、语音就更加是奢望了。 幸好最近又有 Galaxium 进入视线,与 Pidgin 一样地支持多协议。虽然到现在为止,最新的 SVN 维护版本只支持了 MSN,Gtalk,IRC——不如 Pidgin 多;而且多用户的管理似乎也比 Pidgin 复杂。但光就 MSN 那部分的表现:支持闪屏,离线消息,能与 Live Messenger 同步的个人信息描述和头像。就证明其所采用的框架可谓是相当地不错了。看了看 官方主页 ,将来似乎还可支持音频和视频聊天……口水了。 是时候从 Pidgin 开始迁移出来了……Ubuntu Hardy 上的安装方法,在 /etc/apt/sources.list 源列表上添加以下两行: deb http://ppa.launchpad.net/galaxium/ubuntu hardy main deb-src http://ppa.launchpad.net/galaxium/ubuntu hardy main