看了一天代码,终于实现了在nautilus添加书签功能。需要此功能的同学可以拿去试一试~~~
在ubuntu12.04系统中,nautilus所有添加书签的选项存放在~/.gtk-bookmarks文件中。
在ubuntu/ubuntukylin13.04&13.10中,nautilus所有添加书签的选项存放在/.config/gtk-3.0/bookmarks文件中。
所以需要根据您系统的版本来决定将内容写到那个文件中。
void BookMarks::addBookMarks(const QString &folder)
{
QFile gtkBookmarks(QDir::homePath()+QLatin1String("/.config/gtk-3.0/bookmarks")); //ubuntukylin/ubuntu 1310\1304
// QFile gtkBookmarks(QDir::homePath()+QLatin1String("/.gtk-bookmarks")); //ubuntu1204
QByteArray folderUrl = "file://" + folder.toUtf8();
if (gtkBookmarks.open(QFile::ReadWrite)) {
QByteArray places = gtkBookmarks.readAll();
if (!places.contains(folderUrl)) {
places += folderUrl;
gtkBookmarks.reset();
gtkBookmarks.write(places + '\n');
}
}
}
用qt写了一个简单的例子,只能在书签中加入临时创建的目录,详见附件~~:4_92:
ps:适用与UbuntuKylin1304&1310,在ubuntu1204上没有效果~~~