QT实现在Nautilus中添加书签功能

看了一天代码,终于实现了在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上没有效果~~~

[

例子已经上传到附件,多多指教~~~

难道不应该使用GTK+?

好牛逼啊,我要学习学习

GTK?我不会,如果您有时间,可以写个demo,向您学习一下~~