本文整理汇总了C++中KBookmark::metaDataItem方法的典型用法代码示例。如果您正苦于以下问题:C++ KBookmark::metaDataItem方法的具体用法?C++ KBookmark::metaDataItem怎么用?C++ KBookmark::metaDataItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KBookmark
的用法示例。
在下文中一共展示了KBookmark::metaDataItem方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv)
{
const bool kdeRunning = kdeIsRunning();
KAboutData aboutData("kbookmarkmerger", I18N_NOOP("KBookmarkMerger"), "1.0",
I18N_NOOP("Merges bookmarks installed by 3rd parties into the user's bookmarks"), KAboutData::License_BSD,
I18N_NOOP("Copyright © 2005 Frerich Raabe"));
aboutData.addAuthor("Frerich Raabe", I18N_NOOP("Original author"), "[email protected]");
KCmdLineArgs::init(argc, argv, &aboutData);
KCmdLineArgs::addCmdLineOptions(cmdLineOptions);
if(!kdeRunning)
{
KApplication::disableAutoDcopRegistration();
}
KApplication app(false, false);
app.disableSessionManagement();
KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
if(args->count() != 1)
{
kdError() << "No directory to scan for bookmarks specified." << endl;
return 1;
}
KBookmarkManager *konqBookmarks = KBookmarkManager::userBookmarksManager();
QStringList mergedFiles;
{
KBookmarkGroup root = konqBookmarks->root();
for(KBookmark bm = root.first(); !bm.isNull(); bm = root.next(bm))
{
if(bm.isGroup())
{
continue;
}
QString mergedFrom = bm.metaDataItem("merged_from");
if(!mergedFrom.isNull())
{
mergedFiles << mergedFrom;
}
}
}
bool didMergeBookmark = false;
QString extraBookmarksDirName = QFile::decodeName(args->arg(0));
QDir extraBookmarksDir(extraBookmarksDirName, "*.xml");
if(!extraBookmarksDir.isReadable())
{
kdError() << "Failed to read files in directory " << extraBookmarksDirName << endl;
return 1;
}
for(unsigned int i = 0; i < extraBookmarksDir.count(); ++i)
{
const QString fileName = extraBookmarksDir[i];
if(mergedFiles.find(fileName) != mergedFiles.end())
{
continue;
}
const QString absPath = extraBookmarksDir.filePath(fileName);
KBookmarkManager *mgr = KBookmarkManager::managerForFile(absPath, false);
KBookmarkGroup root = mgr->root();
for(KBookmark bm = root.first(); !bm.isNull(); bm = root.next(bm))
{
if(bm.isGroup())
{
continue;
}
bm.setMetaDataItem("merged_from", fileName);
konqBookmarks->root().addBookmark(konqBookmarks, bm, false);
didMergeBookmark = true;
}
}
if(didMergeBookmark)
{
if(!konqBookmarks->save())
{
kdError() << "Failed to write merged bookmarks." << endl;
return 1;
}
if(kdeRunning)
{
konqBookmarks->notifyChanged("");
}
}
}