|
|
|
|
@ -63,87 +63,6 @@ bool Bookmarks::showOnlyIconsInToolbar() const |
|
|
|
|
return m_showOnlyIconsInToolbar; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void Bookmarks::exportToHtml(const QString &fileName) |
|
|
|
|
{ |
|
|
|
|
Q_UNUSED(fileName) |
|
|
|
|
#if 0 |
|
|
|
|
QFile file(fileName); |
|
|
|
|
|
|
|
|
|
if (!file.open(QFile::WriteOnly | QFile::Truncate)) { |
|
|
|
|
qWarning() << "Bookmarks::exportHtml Cannot open file for writing!" << file.errorString(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QTextStream out(&file); |
|
|
|
|
|
|
|
|
|
out << "<!DOCTYPE NETSCAPE-Bookmark-file-1>" << endl; |
|
|
|
|
out << "<!-- This is an automatically generated file." << endl; |
|
|
|
|
out << " It will be read and overwritten." << endl; |
|
|
|
|
out << " DO NOT EDIT! -->" << endl; |
|
|
|
|
out << "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=UTF-8\">" << endl; |
|
|
|
|
out << "<TITLE>Bookmarks</TITLE>" << endl; |
|
|
|
|
out << "<H1>Bookmarks</H1>" << endl; |
|
|
|
|
|
|
|
|
|
out << "<DL><p>" << endl; |
|
|
|
|
|
|
|
|
|
QString indent = " "; |
|
|
|
|
QList<QPair<QString, bool> > allFolders; |
|
|
|
|
|
|
|
|
|
QPair<QString, bool> menu; |
|
|
|
|
menu.first = "bookmarksMenu"; |
|
|
|
|
menu.second = false; |
|
|
|
|
|
|
|
|
|
QPair<QString, bool> toolbar; |
|
|
|
|
toolbar.first = "bookmarksToolbar"; |
|
|
|
|
toolbar.second = false; |
|
|
|
|
|
|
|
|
|
allFolders.append(menu); |
|
|
|
|
allFolders.append(toolbar); |
|
|
|
|
|
|
|
|
|
QSqlQuery query; |
|
|
|
|
query.exec("SELECT name, subfolder FROM folders"); |
|
|
|
|
|
|
|
|
|
while (query.next()) { |
|
|
|
|
QPair<QString, bool> pair; |
|
|
|
|
pair.first = query.value(0).toString(); |
|
|
|
|
pair.second = query.value(1).toString() == QLatin1String("yes"); |
|
|
|
|
|
|
|
|
|
allFolders.append(pair); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for (int i = 0; i < allFolders.size(); ++i) { |
|
|
|
|
QPair<QString, bool> pair = allFolders.at(i); |
|
|
|
|
|
|
|
|
|
out << indent << "<DT><H3 TOOLBAR_SUBFOLDER=\"" << (pair.second ? "yes" : "no") << "\">" << pair.first << "</H3>" << endl; |
|
|
|
|
out << indent << "<DL><p>" << endl; |
|
|
|
|
|
|
|
|
|
QSqlQuery q; |
|
|
|
|
q.prepare("SELECT title, url FROM bookmarks WHERE folder = ?"); |
|
|
|
|
q.addBindValue(pair.first); |
|
|
|
|
q.exec(); |
|
|
|
|
|
|
|
|
|
while (q.next()) { |
|
|
|
|
QString title = q.value(0).toString(); |
|
|
|
|
QString url = q.value(1).toString(); |
|
|
|
|
|
|
|
|
|
out << indent << indent << "<DT><A HREF=\"" << url << "\">" << title << "</A>" << endl; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
out << indent << "</DL><p>" << endl; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
query.exec("SELECT title, url FROM bookmarks WHERE folder='' OR folder='unsorted'"); |
|
|
|
|
|
|
|
|
|
while (query.next()) { |
|
|
|
|
QString title = query.value(0).toString(); |
|
|
|
|
QString url = query.value(1).toString(); |
|
|
|
|
|
|
|
|
|
out << indent << "<DT><A HREF=\"" << url << "\">" << title << "</A>" << endl; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
out << "</DL><p>" << endl; |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
BookmarkItem* Bookmarks::rootItem() const |
|
|
|
|
{ |
|
|
|
|
return m_root; |
|
|
|
|
@ -196,10 +115,10 @@ QList<BookmarkItem*> Bookmarks::searchBookmarks(const QUrl &url) const |
|
|
|
|
return items; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QList<BookmarkItem*> Bookmarks::searchBookmarks(const QString &string, Qt::CaseSensitivity sensitive) const |
|
|
|
|
QList<BookmarkItem*> Bookmarks::searchBookmarks(const QString &string, int limit, Qt::CaseSensitivity sensitive) const |
|
|
|
|
{ |
|
|
|
|
QList<BookmarkItem*> items; |
|
|
|
|
search(&items, m_root, string, sensitive); |
|
|
|
|
search(&items, m_root, string, limit, sensitive); |
|
|
|
|
return items; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -467,16 +386,20 @@ void Bookmarks::search(QList<BookmarkItem*>* items, BookmarkItem* parent, const |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void Bookmarks::search(QList<BookmarkItem*>* items, BookmarkItem* parent, const QString &string, Qt::CaseSensitivity sensitive) const |
|
|
|
|
void Bookmarks::search(QList<BookmarkItem*>* items, BookmarkItem* parent, const QString &string, int limit, Qt::CaseSensitivity sensitive) const |
|
|
|
|
{ |
|
|
|
|
Q_ASSERT(items); |
|
|
|
|
Q_ASSERT(parent); |
|
|
|
|
|
|
|
|
|
if (limit == items->count()) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
switch (parent->type()) { |
|
|
|
|
case BookmarkItem::Root: |
|
|
|
|
case BookmarkItem::Folder: |
|
|
|
|
foreach (BookmarkItem* child, parent->children()) { |
|
|
|
|
search(items, child, string, sensitive); |
|
|
|
|
search(items, child, string, limit, sensitive); |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
|
|
|
|
|
|