mirror of
https://invent.kde.org/network/falkon.git
synced 2024-12-20 10:46:35 +01:00
A lot of improvements in Browsing Library
huge optimalization for history sidebar + manager loading with a big profile
This commit is contained in:
parent
47a0dd058e
commit
3c6eee9964
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -60,7 +60,7 @@ AdBlockDialog::AdBlockDialog(QWidget *parent)
|
||||
connect(adblockCheckBox, SIGNAL(toggled(bool)), m_manager, SLOT(setEnabled(bool)));
|
||||
connect(addButton, SIGNAL(clicked()), this, SLOT(addCustomRule()));
|
||||
connect(reloadButton, SIGNAL(clicked()), this, SLOT(updateSubscription()));
|
||||
connect(search, SIGNAL(textChanged(QString)), treeWidget, SLOT(filterStringWithoutTopItems(QString)));
|
||||
connect(search, SIGNAL(textChanged(QString)), treeWidget, SLOT(filterString(QString)));
|
||||
connect(m_manager->subscription(), SIGNAL(changed()), this, SLOT(refreshAfterUpdate()));
|
||||
connect(treeWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(customContextMenuRequested()));
|
||||
|
||||
@ -85,7 +85,7 @@ void AdBlockDialog::deleteRule()
|
||||
|
||||
int offset = item->whatsThis(0).toInt();
|
||||
m_manager->subscription()->removeRule(offset);
|
||||
delete item;
|
||||
treeWidget->deleteItem(item);
|
||||
refresh();
|
||||
}
|
||||
|
||||
@ -203,12 +203,13 @@ void AdBlockDialog::addCustomRule()
|
||||
AdBlockSubscription* subscription = m_manager->subscription();
|
||||
int offset = subscription->addRule(AdBlockRule(newRule));
|
||||
m_itemChangingBlock = true;
|
||||
QTreeWidgetItem* item = new QTreeWidgetItem(m_customRulesItem);
|
||||
QTreeWidgetItem* item = new QTreeWidgetItem();
|
||||
item->setText(0, newRule);
|
||||
item->setWhatsThis(0, QString::number(offset));
|
||||
item->setFlags(item->flags() | Qt::ItemIsEditable);
|
||||
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
||||
item->setCheckState(0, Qt::Checked);
|
||||
treeWidget->appendToParentItem(m_customRulesItem, item);
|
||||
m_itemChangingBlock = false;
|
||||
}
|
||||
|
||||
|
@ -240,7 +240,7 @@ QupZilla* MainApplication::getWindow()
|
||||
void MainApplication::setStateChanged()
|
||||
{
|
||||
m_isStateChanged = true;
|
||||
sendMessages(StateChanged, true);
|
||||
sendMessages(HistoryStateChanged, true);
|
||||
}
|
||||
|
||||
bool MainApplication::isStateChanged()
|
||||
@ -365,7 +365,7 @@ void MainApplication::quitApplication()
|
||||
AdBlockManager::instance()->save();
|
||||
QFile::remove(getActiveProfil() + "WebpageIcons.db");
|
||||
|
||||
qDebug() << "Quitting application...";
|
||||
// qDebug() << "Quitting application...";
|
||||
quit();
|
||||
}
|
||||
|
||||
@ -470,9 +470,6 @@ bool MainApplication::saveStateSlot()
|
||||
{
|
||||
if (m_websettings->testAttribute(QWebSettings::PrivateBrowsingEnabled) || m_isRestoring)
|
||||
return false;
|
||||
#ifndef QT_NO_DEBUG
|
||||
qDebug() << "Saving state";
|
||||
#endif
|
||||
|
||||
QSettings settings(m_activeProfil+"settings.ini", QSettings::IniFormat);
|
||||
settings.beginGroup("SessionRestore");
|
||||
|
@ -54,7 +54,7 @@ public:
|
||||
QString DATADIR;
|
||||
explicit MainApplication(const QList<CommandLineOptions::ActionPair> &cmdActions, int &argc, char **argv);
|
||||
|
||||
enum MessageType{ SetAdBlockIconEnabled, CheckPrivateBrowsing, ReloadSettings, StateChanged };
|
||||
enum MessageType{ SetAdBlockIconEnabled, CheckPrivateBrowsing, ReloadSettings, HistoryStateChanged, BookmarksChanged };
|
||||
|
||||
void loadSettings();
|
||||
void reloadSettings() { loadSettings(); emit message(ReloadSettings, true); }
|
||||
|
@ -67,6 +67,7 @@ QupZilla::QupZilla(bool tryRestore, QUrl startUrl) :
|
||||
QMainWindow(0)
|
||||
,m_tryRestore(tryRestore)
|
||||
,m_historyMenuChanged(true)
|
||||
,m_bookmarksMenuChanged(true)
|
||||
,m_startingUrl(startUrl)
|
||||
,m_actionPrivateBrowsing(0)
|
||||
,m_webInspectorDock(0)
|
||||
@ -505,10 +506,14 @@ void QupZilla::receiveMessage(MainApplication::MessageType mes, bool state)
|
||||
LocationBarSettings::instance()->loadSettings();
|
||||
break;
|
||||
|
||||
case MainApplication::StateChanged:
|
||||
case MainApplication::HistoryStateChanged:
|
||||
m_historyMenuChanged = true;
|
||||
break;
|
||||
|
||||
case MainApplication::BookmarksChanged:
|
||||
m_bookmarksMenuChanged = true;
|
||||
break;
|
||||
|
||||
default:
|
||||
qWarning("Unresolved message sent! This could never happen!");
|
||||
break;
|
||||
@ -591,6 +596,10 @@ void QupZilla::aboutToShowHistoryNextMenu()
|
||||
|
||||
void QupZilla::aboutToShowBookmarksMenu()
|
||||
{
|
||||
if (!m_bookmarksMenuChanged)
|
||||
return;
|
||||
m_bookmarksMenuChanged = false;
|
||||
|
||||
m_menuBookmarks->clear();
|
||||
m_menuBookmarks->addAction(tr("Bookmark &This Page"), this, SLOT(bookmarkPage()))->setShortcut(QKeySequence("Ctrl+D"));
|
||||
m_menuBookmarks->addAction(tr("Bookmark &All Tabs"), this, SLOT(bookmarkAllTabs()));
|
||||
@ -599,29 +608,31 @@ void QupZilla::aboutToShowBookmarksMenu()
|
||||
if (m_tabWidget->count() == 1)
|
||||
m_menuBookmarks->actions().at(1)->setEnabled(false);
|
||||
QSqlQuery query;
|
||||
query.exec("SELECT title, url FROM bookmarks WHERE folder='bookmarksMenu'");
|
||||
query.exec("SELECT title, url, icon FROM bookmarks WHERE folder='bookmarksMenu'");
|
||||
while(query.next()) {
|
||||
QUrl url = query.value(1).toUrl();
|
||||
QString title = query.value(0).toString();
|
||||
QUrl url = query.value(1).toUrl();
|
||||
QIcon icon = IconProvider::iconFromBase64(query.value(2).toByteArray());
|
||||
if (title.length()>40) {
|
||||
title.truncate(40);
|
||||
title+="..";
|
||||
}
|
||||
m_menuBookmarks->addAction(_iconForUrl(url), title, this, SLOT(loadActionUrl()))->setData(url);
|
||||
m_menuBookmarks->addAction(icon, title, this, SLOT(loadActionUrl()))->setData(url);
|
||||
}
|
||||
|
||||
QMenu* folderBookmarks = new QMenu(tr("Bookmarks In ToolBar"), m_menuBookmarks);
|
||||
folderBookmarks->setIcon(QIcon(style()->standardIcon(QStyle::SP_DirOpenIcon)));
|
||||
|
||||
query.exec("SELECT title, url FROM bookmarks WHERE folder='bookmarksToolbar'");
|
||||
query.exec("SELECT title, url, icon FROM bookmarks WHERE folder='bookmarksToolbar'");
|
||||
while(query.next()) {
|
||||
QUrl url = query.value(1).toUrl();
|
||||
QString title = query.value(0).toString();
|
||||
QUrl url = query.value(1).toUrl();
|
||||
QIcon icon = IconProvider::iconFromBase64(query.value(2).toByteArray());
|
||||
if (title.length()>40) {
|
||||
title.truncate(40);
|
||||
title+="..";
|
||||
}
|
||||
folderBookmarks->addAction(_iconForUrl(url), title, this, SLOT(loadActionUrl()))->setData(url);
|
||||
folderBookmarks->addAction(icon, title, this, SLOT(loadActionUrl()))->setData(url);
|
||||
}
|
||||
if (folderBookmarks->isEmpty())
|
||||
folderBookmarks->addAction(tr("Empty"));
|
||||
@ -633,15 +644,16 @@ void QupZilla::aboutToShowBookmarksMenu()
|
||||
tempFolder->setIcon(QIcon(style()->standardIcon(QStyle::SP_DirOpenIcon)));
|
||||
|
||||
QSqlQuery query2;
|
||||
query2.exec("SELECT title, url FROM bookmarks WHERE folder='"+query.value(0).toString()+"'");
|
||||
query2.exec("SELECT title, url, icon FROM bookmarks WHERE folder='"+query.value(0).toString()+"'");
|
||||
while(query2.next()) {
|
||||
QUrl url = query2.value(1).toUrl();
|
||||
QString title = query2.value(0).toString();
|
||||
QString title = query.value(0).toString();
|
||||
QUrl url = query.value(1).toUrl();
|
||||
QIcon icon = IconProvider::iconFromBase64(query.value(2).toByteArray());
|
||||
if (title.length()>40) {
|
||||
title.truncate(40);
|
||||
title+="..";
|
||||
}
|
||||
tempFolder->addAction(_iconForUrl(url), title, this, SLOT(loadActionUrl()))->setData(url);
|
||||
tempFolder->addAction(icon, title, this, SLOT(loadActionUrl()))->setData(url);
|
||||
}
|
||||
if (tempFolder->isEmpty())
|
||||
tempFolder->addAction(tr("Empty"));
|
||||
@ -848,9 +860,9 @@ void QupZilla::bookmarkPage()
|
||||
mApp->browsingLibrary()->bookmarksManager()->addBookmark(weView());
|
||||
}
|
||||
|
||||
void QupZilla::addBookmark(const QUrl &url, const QString &title)
|
||||
void QupZilla::addBookmark(const QUrl &url, const QString &title, const QIcon &icon)
|
||||
{
|
||||
mApp->browsingLibrary()->bookmarksManager()->insertBookmark(url, title);
|
||||
mApp->browsingLibrary()->bookmarksManager()->insertBookmark(url, title, icon);
|
||||
}
|
||||
|
||||
void QupZilla::bookmarkAllTabs()
|
||||
|
@ -89,7 +89,7 @@ public:
|
||||
~QupZilla();
|
||||
|
||||
void refreshAddressBar();
|
||||
void addBookmark(const QUrl &url, const QString &title);
|
||||
void addBookmark(const QUrl &url, const QString &title, const QIcon &icon);
|
||||
void installTranslator();
|
||||
void loadSettings();
|
||||
void showInspector();
|
||||
@ -199,6 +199,7 @@ private:
|
||||
|
||||
bool m_tryRestore;
|
||||
bool m_historyMenuChanged;
|
||||
bool m_bookmarksMenuChanged;
|
||||
QUrl m_startingUrl;
|
||||
QUrl m_newtab;
|
||||
QUrl m_homepage;
|
||||
|
@ -23,8 +23,8 @@
|
||||
#include "bookmarkstoolbar.h"
|
||||
#include "tabwidget.h"
|
||||
#include "bookmarksmodel.h"
|
||||
#include "qtwin.h"
|
||||
#include "iconprovider.h"
|
||||
#include "browsinglibrary.h"
|
||||
|
||||
BookmarksManager::BookmarksManager(QupZilla* mainClass, QWidget* parent) :
|
||||
QWidget(parent)
|
||||
@ -39,13 +39,6 @@ BookmarksManager::BookmarksManager(QupZilla* mainClass, QWidget* parent) :
|
||||
const QRect &size = QWidget::geometry();
|
||||
QWidget::move( (screen.width()-size.width())/2, (screen.height()-size.height())/2 );
|
||||
|
||||
#ifdef Q_WS_WIN
|
||||
if (QtWin::isCompositionEnabled()) {
|
||||
QtWin::extendFrameIntoClientArea(this);
|
||||
ui->gridLayout->setContentsMargins(0, 0, 0, 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
connect(ui->deleteB, SIGNAL(clicked()), this, SLOT(deleteItem()));
|
||||
connect(ui->bookmarksTree, SIGNAL(itemChanged(QTreeWidgetItem*,int)), this, SLOT(itemChanged(QTreeWidgetItem*)));
|
||||
connect(ui->addFolder, SIGNAL(clicked()), this, SLOT(addFolder()));
|
||||
@ -58,9 +51,18 @@ BookmarksManager::BookmarksManager(QupZilla* mainClass, QWidget* parent) :
|
||||
connect(m_bookmarksModel, SIGNAL(folderDeleted(QString)), this, SLOT(removeFolder(QString)));
|
||||
connect(m_bookmarksModel, SIGNAL(bookmarkEdited(BookmarksModel::Bookmark,BookmarksModel::Bookmark)), this, SLOT(bookmarkEdited(BookmarksModel::Bookmark,BookmarksModel::Bookmark)));
|
||||
|
||||
connect(ui->optimizeDb, SIGNAL(clicked(QPoint)), this, SLOT(optimizeDb()));
|
||||
|
||||
ui->bookmarksTree->setDefaultItemShowMode(TreeWidget::ItemsExpanded);
|
||||
|
||||
//QTimer::singleShot(0, this, SLOT(refreshTable()));
|
||||
}
|
||||
|
||||
void BookmarksManager::search(const QString &string)
|
||||
{
|
||||
ui->bookmarksTree->filterString(string);
|
||||
}
|
||||
|
||||
QupZilla* BookmarksManager::getQupZilla()
|
||||
{
|
||||
if (!p_QupZilla)
|
||||
@ -92,7 +94,7 @@ void BookmarksManager::itemChanged(QTreeWidgetItem* item)
|
||||
QUrl url = QUrl(item->text(1));
|
||||
int id = item->whatsThis(1).toInt();
|
||||
|
||||
delete item;
|
||||
ui->bookmarksTree->deleteItem(item);
|
||||
m_bookmarksModel->editBookmark(id, name, url, "");
|
||||
}
|
||||
|
||||
@ -127,7 +129,7 @@ void BookmarksManager::deleteItem()
|
||||
|
||||
void BookmarksManager::addBookmark(WebView* view)
|
||||
{
|
||||
insertBookmark(view->url(), view->title());
|
||||
insertBookmark(view->url(), view->title(), view->siteIcon());
|
||||
}
|
||||
|
||||
void BookmarksManager::moveBookmark()
|
||||
@ -198,12 +200,13 @@ void BookmarksManager::refreshTable()
|
||||
ui->bookmarksTree->addTopLevelItem(newItem);
|
||||
}
|
||||
|
||||
query.exec("SELECT title, url, id, folder FROM bookmarks");
|
||||
query.exec("SELECT title, url, id, folder, icon FROM bookmarks");
|
||||
while(query.next()) {
|
||||
QString title = query.value(0).toString();
|
||||
QUrl url = query.value(1).toUrl();
|
||||
int id = query.value(2).toInt();
|
||||
QString folder = query.value(3).toString();
|
||||
QIcon icon = IconProvider::iconFromBase64(query.value(4).toByteArray());
|
||||
QTreeWidgetItem* item;
|
||||
if (folder == "bookmarksMenu")
|
||||
folder = tr("Bookmarks In Menu");
|
||||
@ -230,7 +233,7 @@ void BookmarksManager::refreshTable()
|
||||
item->setToolTip(1, url.toEncoded());
|
||||
|
||||
item->setWhatsThis(1, QString::number(id));
|
||||
item->setIcon(0, _iconForUrl(url));
|
||||
item->setIcon(0, icon);
|
||||
item->setFlags(item->flags() | Qt::ItemIsEditable);
|
||||
ui->bookmarksTree->addTopLevelItem(item);
|
||||
}
|
||||
@ -248,13 +251,13 @@ void BookmarksManager::addBookmark(const BookmarksModel::Bookmark &bookmark)
|
||||
item->setText(0, bookmark.title);
|
||||
item->setText(1, bookmark.url.toEncoded());
|
||||
item->setWhatsThis(1, QString::number(bookmark.id));
|
||||
item->setIcon(0, _iconForUrl(bookmark.url));
|
||||
item->setIcon(0, bookmark.icon);
|
||||
item->setToolTip(0, bookmark.title);
|
||||
item->setToolTip(1, bookmark.url.toEncoded());
|
||||
item->setFlags(item->flags() | Qt::ItemIsEditable);
|
||||
|
||||
if (bookmark.folder != "unsorted")
|
||||
ui->bookmarksTree->addToParentItem(translatedFolder, item);
|
||||
ui->bookmarksTree->appendToParentItem(translatedFolder, item);
|
||||
else
|
||||
ui->bookmarksTree->addTopLevelItem(item);
|
||||
m_isRefreshing = false;
|
||||
@ -269,7 +272,7 @@ void BookmarksManager::removeBookmark(const BookmarksModel::Bookmark &bookmark)
|
||||
return;
|
||||
QTreeWidgetItem* item = list.at(0);
|
||||
if (item && item->whatsThis(1) == QString::number(bookmark.id))
|
||||
delete item;
|
||||
ui->bookmarksTree->deleteItem(item);
|
||||
} else {
|
||||
QList<QTreeWidgetItem*> list = ui->bookmarksTree->findItems(BookmarksModel::toTranslatedFolder(bookmark.folder), Qt::MatchExactly);
|
||||
if (list.count() == 0)
|
||||
@ -282,7 +285,7 @@ void BookmarksManager::removeBookmark(const BookmarksModel::Bookmark &bookmark)
|
||||
if (!item)
|
||||
continue;
|
||||
if (item->text(0) == bookmark.title && item->whatsThis(1) == QString::number(bookmark.id)) {
|
||||
delete item;
|
||||
ui->bookmarksTree->deleteItem(item);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -309,10 +312,10 @@ void BookmarksManager::removeFolder(const QString &name)
|
||||
{
|
||||
QTreeWidgetItem* item = ui->bookmarksTree->findItems(name, Qt::MatchExactly).at(0);
|
||||
if (item)
|
||||
delete item;
|
||||
ui->bookmarksTree->deleteItem(item);
|
||||
}
|
||||
|
||||
void BookmarksManager::insertBookmark(const QUrl &url, const QString &title)
|
||||
void BookmarksManager::insertBookmark(const QUrl &url, const QString &title, const QIcon &icon)
|
||||
{
|
||||
if (url.isEmpty() || title.isEmpty())
|
||||
return;
|
||||
@ -356,7 +359,7 @@ void BookmarksManager::insertBookmark(const QUrl &url, const QString &title)
|
||||
if (edit->text().isEmpty())
|
||||
return;
|
||||
|
||||
m_bookmarksModel->saveBookmark(url, edit->text(), BookmarksModel::fromTranslatedFolder(combo->currentText()));
|
||||
m_bookmarksModel->saveBookmark(url, edit->text(), icon, BookmarksModel::fromTranslatedFolder(combo->currentText()));
|
||||
delete dialog;
|
||||
}
|
||||
|
||||
@ -399,12 +402,21 @@ void BookmarksManager::insertAllTabs()
|
||||
if (view->url().isEmpty())
|
||||
continue;
|
||||
|
||||
m_bookmarksModel->saveBookmark(view->url(), view->title(), BookmarksModel::fromTranslatedFolder(combo->currentText()));
|
||||
m_bookmarksModel->saveBookmark(view->url(), view->title(), view->siteIcon(),BookmarksModel::fromTranslatedFolder(combo->currentText()));
|
||||
}
|
||||
|
||||
delete dialog;
|
||||
}
|
||||
|
||||
void BookmarksManager::optimizeDb()
|
||||
{
|
||||
BrowsingLibrary* b = (BrowsingLibrary*) parentWidget();
|
||||
if (!b)
|
||||
return;
|
||||
b->optimizeDatabase();
|
||||
}
|
||||
|
||||
|
||||
BookmarksManager::~BookmarksManager()
|
||||
{
|
||||
delete ui;
|
||||
|
@ -41,14 +41,17 @@ public:
|
||||
explicit BookmarksManager(QupZilla* mainClass, QWidget* parent = 0);
|
||||
~BookmarksManager();
|
||||
void addBookmark(WebView* view);
|
||||
void insertBookmark(const QUrl &url, const QString &title);
|
||||
void insertBookmark(const QUrl &url, const QString &title, const QIcon &icon);
|
||||
void setMainWindow(QupZilla* window);
|
||||
|
||||
void search(const QString &string);
|
||||
|
||||
public slots:
|
||||
void refreshTable();
|
||||
void insertAllTabs();
|
||||
|
||||
private slots:
|
||||
void optimizeDb();
|
||||
void deleteItem();
|
||||
void itemChanged(QTreeWidgetItem* item);
|
||||
void addFolder();
|
||||
|
@ -18,7 +18,7 @@
|
||||
<normaloff>:/icons/qupzilla.png</normaloff>:/icons/qupzilla.png</iconset>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0" colspan="5">
|
||||
<item row="0" column="0" colspan="6">
|
||||
<widget class="TreeWidget" name="bookmarksTree">
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::CustomContextMenu</enum>
|
||||
@ -71,6 +71,20 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="5">
|
||||
<widget class="ClickableLabel" name="optimizeDb">
|
||||
<property name="cursor">
|
||||
<cursorShape>PointingHandCursor</cursorShape>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: blue;
|
||||
text-decoration: underline;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Optimize Database</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
@ -79,6 +93,11 @@
|
||||
<extends>QTreeWidget</extends>
|
||||
<header>treewidget.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>ClickableLabel</class>
|
||||
<extends>QLabel</extends>
|
||||
<header>clickablelabel.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../data/icons.qrc"/>
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include "bookmarksmodel.h"
|
||||
#include "mainapplication.h"
|
||||
#include "webview.h"
|
||||
#include "iconprovider.h"
|
||||
|
||||
// SQLite DB -> table bookmarks + folders
|
||||
// Unique in bookmarks table is id
|
||||
@ -100,7 +101,7 @@ BookmarksModel::Bookmark BookmarksModel::getBookmark(int id)
|
||||
{
|
||||
Bookmark bookmark;
|
||||
QSqlQuery query;
|
||||
query.prepare("SELECT url, title, folder FROM bookmarks WHERE id=?");
|
||||
query.prepare("SELECT url, title, folder, icon FROM bookmarks WHERE id=?");
|
||||
query.bindValue(0, id);
|
||||
query.exec();
|
||||
if (query.next()) {
|
||||
@ -108,20 +109,22 @@ BookmarksModel::Bookmark BookmarksModel::getBookmark(int id)
|
||||
bookmark.url = query.value(0).toUrl();
|
||||
bookmark.title = query.value(1).toString();
|
||||
bookmark.folder = query.value(2).toString();
|
||||
bookmark.icon = IconProvider::iconFromBase64(query.value(3).toByteArray());
|
||||
}
|
||||
return bookmark;
|
||||
}
|
||||
|
||||
bool BookmarksModel::saveBookmark(const QUrl &url, const QString &title, const QString &folder)
|
||||
bool BookmarksModel::saveBookmark(const QUrl &url, const QString &title, const QIcon &icon, const QString &folder)
|
||||
{
|
||||
if (url.isEmpty() || title.isEmpty() || folder.isEmpty())
|
||||
return false;
|
||||
|
||||
QSqlQuery query;
|
||||
query.prepare("INSERT INTO bookmarks (url, title, folder) VALUES (?,?,?)");
|
||||
query.prepare("INSERT INTO bookmarks (url, title, folder, icon) VALUES (?,?,?,?)");
|
||||
query.bindValue(0, url.toString());
|
||||
query.bindValue(1, title);
|
||||
query.bindValue(2, folder);
|
||||
query.bindValue(3, IconProvider::iconToBase64(icon));
|
||||
|
||||
if (!query.exec())
|
||||
return false;
|
||||
@ -131,13 +134,15 @@ bool BookmarksModel::saveBookmark(const QUrl &url, const QString &title, const Q
|
||||
bookmark.url = url;
|
||||
bookmark.title = title;
|
||||
bookmark.folder = folder;
|
||||
bookmark.icon = icon;
|
||||
emit bookmarkAdded(bookmark);
|
||||
mApp->sendMessages(MainApplication::BookmarksChanged, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool BookmarksModel::saveBookmark(WebView *view, const QString &folder)
|
||||
{
|
||||
return saveBookmark(view->url(), view->title(), folder);
|
||||
return saveBookmark(view->url(), view->title(), view->siteIcon(), folder);
|
||||
}
|
||||
|
||||
bool BookmarksModel::removeBookmark(int id)
|
||||
@ -154,11 +159,13 @@ bool BookmarksModel::removeBookmark(int id)
|
||||
bookmark.url = query.value(0).toUrl();
|
||||
bookmark.title = query.value(1).toString();
|
||||
bookmark.folder = query.value(2).toString();
|
||||
bookmark.icon = IconProvider::iconFromBase64(query.value(3).toByteArray());
|
||||
|
||||
if (!query.exec("DELETE FROM bookmarks WHERE id = " + QString::number(id)))
|
||||
return false;
|
||||
|
||||
emit bookmarkDeleted(bookmark);
|
||||
mApp->sendMessages(MainApplication::BookmarksChanged, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -197,7 +204,7 @@ bool BookmarksModel::editBookmark(int id, const QString &title, const QUrl &url,
|
||||
if (title.isEmpty() && url.isEmpty() && folder.isEmpty())
|
||||
return false;
|
||||
QSqlQuery query;
|
||||
if (!query.exec("SELECT title, url, folder FROM bookmarks WHERE id = "+QString::number(id)))
|
||||
if (!query.exec("SELECT title, url, folder, icon FROM bookmarks WHERE id = "+QString::number(id)))
|
||||
return false;
|
||||
|
||||
query.next();
|
||||
@ -207,12 +214,14 @@ bool BookmarksModel::editBookmark(int id, const QString &title, const QUrl &url,
|
||||
before.title = query.value(0).toString();
|
||||
before.url = query.value(1).toUrl();
|
||||
before.folder = query.value(2).toString();
|
||||
before.icon = IconProvider::iconFromBase64(query.value(3).toByteArray());
|
||||
|
||||
Bookmark after;
|
||||
after.id = id;
|
||||
after.title = title.isEmpty() ? before.title : title;
|
||||
after.url = url.isEmpty() ? before.url : url;
|
||||
after.folder = folder.isEmpty() ? before.folder : folder;
|
||||
after.icon = before.icon;
|
||||
|
||||
query.prepare("UPDATE bookmarks SET title=?, url=?, folder=? WHERE id = ?");
|
||||
query.bindValue(0, after.title);
|
||||
@ -224,6 +233,7 @@ bool BookmarksModel::editBookmark(int id, const QString &title, const QUrl &url,
|
||||
return false;
|
||||
|
||||
emit bookmarkEdited(before, after);
|
||||
mApp->sendMessages(MainApplication::BookmarksChanged, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -236,6 +246,7 @@ bool BookmarksModel::createFolder(const QString &name)
|
||||
return false;
|
||||
|
||||
emit folderAdded(name);
|
||||
mApp->sendMessages(MainApplication::BookmarksChanged, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -263,6 +274,7 @@ bool BookmarksModel::removeFolder(const QString &name)
|
||||
return false;
|
||||
|
||||
emit folderDeleted(name);
|
||||
mApp->sendMessages(MainApplication::BookmarksChanged, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include <QUrl>
|
||||
#include <QSettings>
|
||||
#include <QSqlQuery>
|
||||
#include <QIcon>
|
||||
|
||||
class WebView;
|
||||
class BookmarksModel : public QObject
|
||||
@ -35,6 +36,7 @@ public:
|
||||
QString title;
|
||||
QString folder;
|
||||
QUrl url;
|
||||
QIcon icon;
|
||||
};
|
||||
|
||||
void loadSettings();
|
||||
@ -46,7 +48,7 @@ public:
|
||||
int bookmarkId(const QUrl &url, const QString &title, const QString &folder);
|
||||
Bookmark getBookmark(int id);
|
||||
|
||||
bool saveBookmark(const QUrl &url, const QString &title, const QString &folder = "unsorted");
|
||||
bool saveBookmark(const QUrl &url, const QString &title, const QIcon &icon, const QString &folder = "unsorted");
|
||||
bool saveBookmark(WebView* view, const QString &folder = "unsorted");
|
||||
|
||||
bool removeBookmark(int id);
|
||||
|
@ -98,7 +98,7 @@ void BookmarksToolbar::addBookmark(const BookmarksModel::Bookmark &bookmark)
|
||||
|
||||
action->setText(title);
|
||||
action->setData(bookmark.url);
|
||||
action->setIcon(_iconForUrl(bookmark.url));
|
||||
action->setIcon(bookmark.icon);
|
||||
QToolButton* button = new QToolButton(this);
|
||||
button->setDefaultAction(action);
|
||||
button->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
||||
@ -153,7 +153,7 @@ void BookmarksToolbar::bookmarkEdited(const BookmarksModel::Bookmark &before, co
|
||||
|
||||
action->setText(title);
|
||||
action->setData(after.url);
|
||||
action->setIcon(_iconForUrl(after.url));
|
||||
action->setIcon(after.icon);
|
||||
button->setToolTip(after.url.toEncoded());
|
||||
button->setWhatsThis(after.title);
|
||||
}
|
||||
@ -165,10 +165,11 @@ void BookmarksToolbar::refreshBookmarks()
|
||||
{
|
||||
clear();
|
||||
QSqlQuery query;
|
||||
query.exec("SELECT title, url FROM bookmarks WHERE folder='bookmarksToolbar'");
|
||||
query.exec("SELECT title, url, icon FROM bookmarks WHERE folder='bookmarksToolbar'");
|
||||
while(query.next()) {
|
||||
QUrl url = query.value(1).toUrl();
|
||||
QString title = query.value(0).toString();
|
||||
QUrl url = query.value(1).toUrl();
|
||||
QIcon icon = IconProvider::iconFromBase64(query.value(2).toByteArray());
|
||||
QString title_ = title;
|
||||
QAction* action = new QAction(this);
|
||||
if (title.length()>15) {
|
||||
@ -178,7 +179,7 @@ void BookmarksToolbar::refreshBookmarks()
|
||||
|
||||
action->setText(title);
|
||||
action->setData(url);
|
||||
action->setIcon(_iconForUrl(url));
|
||||
action->setIcon(icon);
|
||||
QToolButton* button = new QToolButton(this);
|
||||
button->setDefaultAction(action);
|
||||
button->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
||||
@ -219,16 +220,4 @@ void BookmarksToolbar::refreshMostVisited()
|
||||
}
|
||||
m_menuMostVisited->addAction(_iconForUrl(entry.url), entry.title, p_QupZilla, SLOT(loadActionUrl()))->setData(entry.url);
|
||||
}
|
||||
|
||||
// QSqlQuery query;
|
||||
// query.exec("SELECT title, url FROM history ORDER BY count DESC LIMIT 10");
|
||||
// while(query.next()) {
|
||||
// QUrl url = query.value(1).toUrl();
|
||||
// QString title = query.value(0).toString();
|
||||
// if (title.length()>40) {
|
||||
// title.truncate(40);
|
||||
// title+="..";
|
||||
// }
|
||||
// m_menuMostVisited->addAction(_iconForUrl(url), title, p_QupZilla, SLOT(loadActionUrl()))->setData(url);
|
||||
// }
|
||||
}
|
||||
|
@ -38,9 +38,11 @@ CookieManager::CookieManager(QWidget* parent) :
|
||||
connect(ui->removeCookie, SIGNAL(clicked()), this, SLOT(removeCookie()));
|
||||
connect(ui->close, SIGNAL(clicked(QAbstractButton*)), this, SLOT(hide()));
|
||||
connect(ui->search, SIGNAL(returnPressed()), this, SLOT(search()));
|
||||
connect(ui->search, SIGNAL(cursorPositionChanged(int, int)), this, SLOT(search()));
|
||||
// connect(ui->search, SIGNAL(cursorPositionChanged(int, int)), this, SLOT(search()));
|
||||
connect(ui->search, SIGNAL(textChanged(QString)), ui->cookieTree, SLOT(filterString(QString)));
|
||||
|
||||
ui->search->setInactiveText(tr("Search"));
|
||||
ui->cookieTree->setDefaultItemShowMode(TreeWidget::ItemsCollapsed);
|
||||
}
|
||||
|
||||
void CookieManager::removeAll()
|
||||
@ -68,7 +70,7 @@ void CookieManager::removeCookie()
|
||||
m_cookies.removeOne(cok);
|
||||
}
|
||||
|
||||
delete current;
|
||||
ui->cookieTree->deleteItem(current);
|
||||
mApp->cookieJar()->setAllCookies(m_cookies);
|
||||
refreshTable(false);
|
||||
return;
|
||||
@ -183,6 +185,5 @@ void CookieManager::search()
|
||||
|
||||
CookieManager::~CookieManager()
|
||||
{
|
||||
qDebug() << __FUNCTION__ << "called";
|
||||
delete ui;
|
||||
}
|
||||
|
@ -36,7 +36,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QTreeWidget" name="cookieTree">
|
||||
<widget class="TreeWidget" name="cookieTree">
|
||||
<property name="sortingEnabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@ -242,6 +242,11 @@
|
||||
<extends>QLabel</extends>
|
||||
<header>squeezelabelv2.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>TreeWidget</class>
|
||||
<extends>QTreeWidget</extends>
|
||||
<header>treewidget.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../data/icons.qrc"/>
|
||||
|
@ -18,9 +18,9 @@
|
||||
#include "historymanager.h"
|
||||
#include "ui_historymanager.h"
|
||||
#include "qupzilla.h"
|
||||
#include "qtwin.h"
|
||||
#include "historymodel.h"
|
||||
#include "iconprovider.h"
|
||||
#include "browsinglibrary.h"
|
||||
|
||||
HistoryManager::HistoryManager(QupZilla* mainClass, QWidget* parent) :
|
||||
QWidget(parent)
|
||||
@ -29,29 +29,24 @@ HistoryManager::HistoryManager(QupZilla* mainClass, QWidget* parent) :
|
||||
,m_historyModel(mApp->history())
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->historyTree->setDefaultItemShowMode(TreeWidget::ItemsCollapsed);
|
||||
ui->historyTree->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
//CENTER on scren
|
||||
const QRect screen = QApplication::desktop()->screenGeometry();
|
||||
const QRect &size = QWidget::geometry();
|
||||
QWidget::move( (screen.width()-size.width())/2, (screen.height()-size.height())/2 );
|
||||
|
||||
#ifdef Q_WS_WIN
|
||||
if (QtWin::isCompositionEnabled()) {
|
||||
QtWin::extendFrameIntoClientArea(this);
|
||||
ui->gridLayout->setContentsMargins(0, 0, 0, 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
connect(ui->historyTree, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),this, SLOT(itemDoubleClicked(QTreeWidgetItem*)));
|
||||
connect(ui->deleteB, SIGNAL(clicked()), this, SLOT(deleteItem()));
|
||||
connect(ui->clearAll, SIGNAL(clicked()), this, SLOT(clearHistory()));
|
||||
// connect(ui->search, SIGNAL(textChanged(QString)), ui->historyTree, SLOT(filterStringWithoutTopItems(QString)));
|
||||
connect(ui->historyTree, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(contextMenuRequested(const QPoint &)));
|
||||
connect(ui->historyTree, SIGNAL(itemControlClicked(QTreeWidgetItem*)), this, SLOT(itemControlClicked(QTreeWidgetItem*)));
|
||||
|
||||
connect(m_historyModel, SIGNAL(historyEntryAdded(HistoryModel::HistoryEntry)), this, SLOT(historyEntryAdded(HistoryModel::HistoryEntry)));
|
||||
connect(m_historyModel, SIGNAL(historyEntryDeleted(HistoryModel::HistoryEntry)), this, SLOT(historyEntryDeleted(HistoryModel::HistoryEntry)));
|
||||
connect(m_historyModel, SIGNAL(historyClear()), ui->historyTree, SLOT(clear()));
|
||||
|
||||
connect(ui->optimizeDb, SIGNAL(clicked(QPoint)), this, SLOT(optimizeDb()));
|
||||
|
||||
//QTimer::singleShot(0, this, SLOT(refreshTable()));
|
||||
|
||||
ui->historyTree->setFocus();
|
||||
@ -71,13 +66,6 @@ void HistoryManager::setMainWindow(QupZilla* window)
|
||||
}
|
||||
|
||||
void HistoryManager::itemDoubleClicked(QTreeWidgetItem* item)
|
||||
{
|
||||
if (!item || item->text(1).isEmpty())
|
||||
return;
|
||||
getQupZilla()->loadAddress(QUrl(item->text(1)));
|
||||
}
|
||||
|
||||
void HistoryManager::itemControlClicked(QTreeWidgetItem* item)
|
||||
{
|
||||
if (!item || item->text(1).isEmpty())
|
||||
return;
|
||||
@ -114,32 +102,53 @@ void HistoryManager::contextMenuRequested(const QPoint &position)
|
||||
|
||||
void HistoryManager::deleteItem()
|
||||
{
|
||||
QTreeWidgetItem* item = ui->historyTree->currentItem();
|
||||
if (!item || item->text(1).isEmpty())
|
||||
return;
|
||||
QApplication::setOverrideCursor(Qt::WaitCursor);
|
||||
foreach (QTreeWidgetItem* item, ui->historyTree->selectedItems()) {
|
||||
if (!item)
|
||||
return;
|
||||
|
||||
int id = item->whatsThis(1).toInt();
|
||||
m_historyModel->deleteHistoryEntry(id);
|
||||
if (!item->parent()) {
|
||||
for (int i = 0; i < item->childCount(); i++) {
|
||||
QTreeWidgetItem* children = item->child(i);
|
||||
int id = children->whatsThis(1).toInt();
|
||||
m_historyModel->deleteHistoryEntry(id);
|
||||
}
|
||||
ui->historyTree->deleteItem(item);
|
||||
} else {
|
||||
int id = item->whatsThis(1).toInt();
|
||||
m_historyModel->deleteHistoryEntry(id);
|
||||
}
|
||||
}
|
||||
QApplication::restoreOverrideCursor();
|
||||
}
|
||||
|
||||
void HistoryManager::historyEntryAdded(const HistoryModel::HistoryEntry &entry)
|
||||
{
|
||||
QLocale locale(getQupZilla()->activeLanguage().remove(".qm"));
|
||||
QDate todayDate = QDate::currentDate();
|
||||
QDate startOfWeekDate = todayDate.addDays(1 - todayDate.dayOfWeek());
|
||||
|
||||
QString localDate; //date.toString("dddd d. MMMM yyyy");
|
||||
QString month = locale.monthName(entry.date.toString("M").toInt());
|
||||
localDate = entry.date.toString(" d. ") + month + entry.date.toString(" yyyy");
|
||||
QDate date = entry.date.date();
|
||||
QString localDate;
|
||||
|
||||
QTreeWidgetItem* item;
|
||||
if (date == todayDate)
|
||||
localDate = tr("Today");
|
||||
else if (date >= startOfWeekDate)
|
||||
localDate = tr("This Week");
|
||||
else if (date.month() == todayDate.month())
|
||||
localDate = tr("This Month");
|
||||
else
|
||||
localDate = QString("%1 %2").arg(HistoryModel::titleCaseLocalizedMonth(date.month()), QString::number(date.year()));
|
||||
|
||||
QTreeWidgetItem* item = new QTreeWidgetItem();
|
||||
QTreeWidgetItem* parentItem;
|
||||
QList<QTreeWidgetItem*> findParent = ui->historyTree->findItems(localDate, 0);
|
||||
if (findParent.count() == 1) {
|
||||
item = new QTreeWidgetItem(findParent.at(0));
|
||||
parentItem = findParent.at(0);
|
||||
} else {
|
||||
QTreeWidgetItem* newParent = new QTreeWidgetItem(ui->historyTree);
|
||||
newParent->setText(0, localDate);
|
||||
newParent->setIcon(0, QIcon(":/icons/menu/history_entry.png"));
|
||||
ui->historyTree->addTopLevelItem(newParent);
|
||||
item = new QTreeWidgetItem(newParent);
|
||||
parentItem = new QTreeWidgetItem();
|
||||
parentItem->setText(0, localDate);
|
||||
parentItem->setIcon(0, QIcon(":/icons/menu/history_entry.png"));
|
||||
ui->historyTree->addTopLevelItem(parentItem);
|
||||
}
|
||||
|
||||
item->setText(0, entry.title);
|
||||
@ -149,7 +158,7 @@ void HistoryManager::historyEntryAdded(const HistoryModel::HistoryEntry &entry)
|
||||
|
||||
item->setWhatsThis(1, QString::number(entry.id));
|
||||
item->setIcon(0, _iconForUrl(entry.url));
|
||||
ui->historyTree->addTopLevelItem(item);
|
||||
ui->historyTree->prependToParentItem(parentItem, item);
|
||||
}
|
||||
|
||||
void HistoryManager::historyEntryDeleted(const HistoryModel::HistoryEntry &entry)
|
||||
@ -160,7 +169,7 @@ void HistoryManager::historyEntryDeleted(const HistoryModel::HistoryEntry &entry
|
||||
continue;
|
||||
if (item->whatsThis(1).toInt() != entry.id)
|
||||
continue;
|
||||
delete item;
|
||||
ui->historyTree->deleteItem(item);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -181,8 +190,8 @@ void HistoryManager::refreshTable()
|
||||
ui->historyTree->setUpdatesEnabled(false);
|
||||
ui->historyTree->clear();
|
||||
|
||||
QLocale locale(getQupZilla()->activeLanguage().remove(".qm"));
|
||||
|
||||
QDate todayDate = QDate::currentDate();
|
||||
QDate startOfWeekDate = todayDate.addDays(1 - todayDate.dayOfWeek());
|
||||
QSqlQuery query;
|
||||
query.exec("SELECT title, url, id, date FROM history ORDER BY date DESC");
|
||||
|
||||
@ -190,15 +199,19 @@ void HistoryManager::refreshTable()
|
||||
QString title = query.value(0).toString();
|
||||
QUrl url = query.value(1).toUrl();
|
||||
int id = query.value(2).toInt();
|
||||
qint64 unixDate = query.value(3).toLongLong();
|
||||
QDateTime date = QDateTime();
|
||||
date = date.fromMSecsSinceEpoch(unixDate);
|
||||
QDate date = QDateTime::fromMSecsSinceEpoch(query.value(3).toLongLong()).date();
|
||||
QString localDate;
|
||||
|
||||
QString localDate; //date.toString("dddd d. MMMM yyyy");
|
||||
QString month = locale.monthName(date.toString("M").toInt());
|
||||
localDate = date.toString(" d. ") + month + date.toString(" yyyy");
|
||||
if (date == todayDate)
|
||||
localDate = tr("Today");
|
||||
else if (date >= startOfWeekDate)
|
||||
localDate = tr("This Week");
|
||||
else if (date.month() == todayDate.month())
|
||||
localDate = tr("This Month");
|
||||
else
|
||||
localDate = QString("%1 %2").arg(HistoryModel::titleCaseLocalizedMonth(date.month()), QString::number(date.year()));
|
||||
|
||||
QTreeWidgetItem* item;
|
||||
QTreeWidgetItem* item = new QTreeWidgetItem();
|
||||
QList<QTreeWidgetItem*> findParent = ui->historyTree->findItems(localDate, 0);
|
||||
if (findParent.count() == 1) {
|
||||
item = new QTreeWidgetItem(findParent.at(0));
|
||||
@ -225,6 +238,8 @@ void HistoryManager::refreshTable()
|
||||
|
||||
void HistoryManager::search(const QString &searchText)
|
||||
{
|
||||
ui->historyTree->filterString(searchText);
|
||||
return;
|
||||
if (searchText.isEmpty()) {
|
||||
refreshTable();
|
||||
return;
|
||||
@ -251,6 +266,15 @@ void HistoryManager::search(const QString &searchText)
|
||||
ui->historyTree->setUpdatesEnabled(true);
|
||||
}
|
||||
|
||||
void HistoryManager::optimizeDb()
|
||||
{
|
||||
BrowsingLibrary* b = (BrowsingLibrary*) parentWidget();
|
||||
if (!b)
|
||||
return;
|
||||
b->optimizeDatabase();
|
||||
}
|
||||
|
||||
|
||||
HistoryManager::~HistoryManager()
|
||||
{
|
||||
delete ui;
|
||||
|
@ -44,12 +44,12 @@ public slots:
|
||||
void search(const QString &searchText);
|
||||
|
||||
private slots:
|
||||
void optimizeDb();
|
||||
void itemDoubleClicked(QTreeWidgetItem* item);
|
||||
void deleteItem();
|
||||
void clearHistory();
|
||||
void contextMenuRequested(const QPoint &position);
|
||||
void loadInNewTab();
|
||||
void itemControlClicked(QTreeWidgetItem* item);
|
||||
|
||||
void historyEntryAdded(const HistoryModel::HistoryEntry &entry);
|
||||
void historyEntryDeleted(const HistoryModel::HistoryEntry &entry);
|
||||
|
@ -18,7 +18,7 @@
|
||||
<normaloff>:/icons/qupzilla.png</normaloff>:/icons/qupzilla.png</iconset>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0" colspan="3">
|
||||
<item row="0" column="0" colspan="4">
|
||||
<widget class="TreeWidget" name="historyTree">
|
||||
<property name="contextMenuPolicy">
|
||||
<enum>Qt::CustomContextMenu</enum>
|
||||
@ -71,6 +71,20 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="ClickableLabel" name="optimizeDb">
|
||||
<property name="cursor">
|
||||
<cursorShape>PointingHandCursor</cursorShape>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: blue;
|
||||
text-decoration: underline;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Optimize Database</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
@ -79,6 +93,11 @@
|
||||
<extends>QTreeWidget</extends>
|
||||
<header>treewidget.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>ClickableLabel</class>
|
||||
<extends>QLabel</extends>
|
||||
<header>clickablelabel.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../data/icons.qrc"/>
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include "historymodel.h"
|
||||
#include "webview.h"
|
||||
#include "qupzilla.h"
|
||||
#include "iconprovider.h"
|
||||
|
||||
HistoryModel::HistoryModel(QupZilla* mainClass, QObject* parent)
|
||||
: QObject(parent)
|
||||
@ -78,7 +79,7 @@ int HistoryModel::addHistoryEntry(WebView* view)
|
||||
if (!m_isSaving)
|
||||
return -2;
|
||||
|
||||
QString url = view->url().toString();
|
||||
QString url = view->url().toEncoded();
|
||||
QString title = view->title();
|
||||
return addHistoryEntry(url, title);
|
||||
}
|
||||
@ -163,3 +164,36 @@ bool HistoryModel::isSaving()
|
||||
{
|
||||
return m_isSaving;
|
||||
}
|
||||
|
||||
QString HistoryModel::titleCaseLocalizedMonth(int month)
|
||||
{
|
||||
switch (month) {
|
||||
case 1:
|
||||
return tr("January");
|
||||
case 2:
|
||||
return tr("February");
|
||||
case 3:
|
||||
return tr("March");
|
||||
case 4:
|
||||
return tr("April");
|
||||
case 5:
|
||||
return tr("May");
|
||||
case 6:
|
||||
return tr("June");
|
||||
case 7:
|
||||
return tr("July");
|
||||
case 8:
|
||||
return tr("August");
|
||||
case 9:
|
||||
return tr("September");
|
||||
case 10:
|
||||
return tr("October");
|
||||
case 11:
|
||||
return tr("November");
|
||||
case 12:
|
||||
return tr("December");
|
||||
default:
|
||||
qWarning("Month number out of range!");
|
||||
return QString();
|
||||
}
|
||||
}
|
||||
|
@ -22,10 +22,12 @@
|
||||
#include <QSqlQuery>
|
||||
#include <QDateTime>
|
||||
#include <QFile>
|
||||
#include <QIcon>
|
||||
#include <QUrl>
|
||||
|
||||
class QupZilla;
|
||||
class WebView;
|
||||
class QIcon;
|
||||
class HistoryModel : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
@ -40,6 +42,8 @@ public:
|
||||
QString title;
|
||||
};
|
||||
|
||||
static QString titleCaseLocalizedMonth(int month);
|
||||
|
||||
int addHistoryEntry(WebView* view);
|
||||
int addHistoryEntry(const QString &url, QString &title);
|
||||
bool deleteHistoryEntry(int index);
|
||||
|
@ -1,9 +1,27 @@
|
||||
/* ============================================================
|
||||
* QupZilla - WebKit based browser
|
||||
* Copyright (C) 2010-2011 nowrep
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* ============================================================ */
|
||||
#include "browsinglibrary.h"
|
||||
#include "ui_browsinglibrary.h"
|
||||
#include "historymanager.h"
|
||||
#include "bookmarksmanager.h"
|
||||
#include "rssmanager.h"
|
||||
#include "mainapplication.h"
|
||||
#include "downloaditem.h"
|
||||
|
||||
BrowsingLibrary::BrowsingLibrary(QupZilla* mainClass, QWidget *parent)
|
||||
: QWidget(parent)
|
||||
@ -16,7 +34,10 @@ BrowsingLibrary::BrowsingLibrary(QupZilla* mainClass, QWidget *parent)
|
||||
, m_rssLoaded(false)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->searchLine->hide();
|
||||
QSettings settings(mApp->getActiveProfil()+"settings.ini", QSettings::IniFormat);
|
||||
settings.beginGroup("BrowsingLibrary");
|
||||
resize(settings.value("size", QSize(760, 470)).toSize());
|
||||
settings.endGroup();
|
||||
|
||||
//CENTER on scren
|
||||
const QRect screen = QApplication::desktop()->screenGeometry();
|
||||
@ -29,6 +50,7 @@ BrowsingLibrary::BrowsingLibrary(QupZilla* mainClass, QWidget *parent)
|
||||
|
||||
ui->tabs->SetMode(FancyTabWidget::Mode_LargeSidebar);
|
||||
ui->tabs->SetBackgroundPixmap(QPixmap(":icons/other/background.png"));
|
||||
ui->tabs->setFocus();
|
||||
|
||||
connect(ui->tabs, SIGNAL(CurrentChanged(int)), this, SLOT(currentIndexChanged(int)));
|
||||
connect(ui->searchLine, SIGNAL(cursorPositionChanged(int, int)), this, SLOT(search()));
|
||||
@ -43,6 +65,7 @@ void BrowsingLibrary::currentIndexChanged(int index)
|
||||
m_historyLoaded = true;
|
||||
}
|
||||
ui->searchLine->show();
|
||||
search();
|
||||
break;
|
||||
|
||||
case 1:
|
||||
@ -50,7 +73,8 @@ void BrowsingLibrary::currentIndexChanged(int index)
|
||||
m_bookmarksManager->refreshTable();
|
||||
m_bookmarksLoaded = true;
|
||||
}
|
||||
ui->searchLine->hide();
|
||||
ui->searchLine->show();
|
||||
search();
|
||||
break;
|
||||
|
||||
case 2:
|
||||
@ -68,7 +92,10 @@ void BrowsingLibrary::currentIndexChanged(int index)
|
||||
|
||||
void BrowsingLibrary::search()
|
||||
{
|
||||
m_historyManager->search(ui->searchLine->text());
|
||||
if (ui->tabs->current_index() == 0)
|
||||
m_historyManager->search(ui->searchLine->text());
|
||||
else
|
||||
m_bookmarksManager->search(ui->searchLine->text());
|
||||
}
|
||||
|
||||
void BrowsingLibrary::showHistory(QupZilla* mainClass)
|
||||
@ -81,6 +108,7 @@ void BrowsingLibrary::showHistory(QupZilla* mainClass)
|
||||
m_historyManager->refreshTable();
|
||||
m_historyLoaded = true;
|
||||
}
|
||||
raise();
|
||||
}
|
||||
|
||||
void BrowsingLibrary::showBookmarks(QupZilla* mainClass)
|
||||
@ -93,6 +121,7 @@ void BrowsingLibrary::showBookmarks(QupZilla* mainClass)
|
||||
m_bookmarksManager->refreshTable();
|
||||
m_bookmarksLoaded = true;
|
||||
}
|
||||
raise();
|
||||
}
|
||||
|
||||
void BrowsingLibrary::showRSS(QupZilla* mainClass)
|
||||
@ -102,6 +131,27 @@ void BrowsingLibrary::showRSS(QupZilla* mainClass)
|
||||
m_rssManager->setMainWindow(mainClass);
|
||||
m_rssManager->refreshTable();
|
||||
m_rssLoaded = true;
|
||||
raise();
|
||||
}
|
||||
|
||||
void BrowsingLibrary::optimizeDatabase()
|
||||
{
|
||||
mApp->setOverrideCursor(Qt::WaitCursor);
|
||||
QString profilePath = mApp->getActiveProfil();
|
||||
QString sizeBefore = DownloadItem::fileSizeToString(QFileInfo(profilePath+"/browsedata.db").size());
|
||||
mApp->history()->optimizeHistory();
|
||||
QString sizeAfter = DownloadItem::fileSizeToString(QFileInfo(profilePath+"/browsedata.db").size());
|
||||
mApp->restoreOverrideCursor();
|
||||
QMessageBox::information(this, tr("Database Optimized"), tr("Database successfuly optimized.<br/><br/><b>Database Size Before: </b>%1<br/><b>Databse Size After: </b>%2").arg(sizeBefore, sizeAfter));
|
||||
}
|
||||
|
||||
void BrowsingLibrary::closeEvent(QCloseEvent *e)
|
||||
{
|
||||
QSettings settings(mApp->getActiveProfil()+"settings.ini", QSettings::IniFormat);
|
||||
settings.beginGroup("BrowsingLibrary");
|
||||
settings.setValue("size", size());
|
||||
settings.endGroup();
|
||||
e->accept();
|
||||
}
|
||||
|
||||
BrowsingLibrary::~BrowsingLibrary()
|
||||
|
@ -1,8 +1,27 @@
|
||||
/* ============================================================
|
||||
* QupZilla - WebKit based browser
|
||||
* Copyright (C) 2010-2011 nowrep
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* ============================================================ */
|
||||
#ifndef LIBRARY_H
|
||||
#define LIBRARY_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QDesktopWidget>
|
||||
#include <QFileInfo>
|
||||
#include <QCloseEvent>
|
||||
|
||||
namespace Ui {
|
||||
class BrowsingLibrary;
|
||||
@ -24,6 +43,8 @@ public:
|
||||
void showBookmarks(QupZilla* mainClass);
|
||||
void showRSS(QupZilla* mainClass);
|
||||
|
||||
void optimizeDatabase();
|
||||
|
||||
HistoryManager* historyManager() { return m_historyManager; }
|
||||
BookmarksManager* bookmarksManager() { return m_bookmarksManager; }
|
||||
RSSManager* rssManager() { return m_rssManager; }
|
||||
@ -33,6 +54,7 @@ private slots:
|
||||
void search();
|
||||
|
||||
private:
|
||||
void closeEvent(QCloseEvent *e);
|
||||
Ui::BrowsingLibrary *ui;
|
||||
HistoryManager* m_historyManager;
|
||||
BookmarksManager* m_bookmarksManager;
|
||||
|
@ -49,6 +49,7 @@ void ClearPrivateData::clearFlash()
|
||||
|
||||
void ClearPrivateData::dialogAccepted()
|
||||
{
|
||||
QApplication::setOverrideCursor(Qt::WaitCursor);
|
||||
if (ui->history->isChecked()) {
|
||||
QDateTime dateTime = QDateTime::currentDateTime();
|
||||
qint64 nowMS = QDateTime::currentMSecsSinceEpoch();
|
||||
@ -86,5 +87,6 @@ void ClearPrivateData::dialogAccepted()
|
||||
mApp->webSettings()->clearIconDatabase();
|
||||
mApp->iconProvider()->clearIconDatabase();
|
||||
}
|
||||
QApplication::restoreOverrideCursor();
|
||||
close();
|
||||
}
|
||||
|
@ -102,7 +102,6 @@ void AutoFillManager::removeExcept()
|
||||
return;
|
||||
QString id = curItem->whatsThis(0);
|
||||
QSqlQuery query;
|
||||
qDebug() << id;
|
||||
query.exec("DELETE FROM autofill_exceptions WHERE id="+id);
|
||||
loadPasswords();
|
||||
}
|
||||
|
@ -21,8 +21,8 @@
|
||||
#include "tabwidget.h"
|
||||
#include "mainapplication.h"
|
||||
#include "treewidget.h"
|
||||
#include "qtwin.h"
|
||||
#include "iconprovider.h"
|
||||
#include "browsinglibrary.h"
|
||||
|
||||
RSSManager::RSSManager(QupZilla* mainClass, QWidget* parent) :
|
||||
QWidget(parent)
|
||||
@ -35,18 +35,13 @@ RSSManager::RSSManager(QupZilla* mainClass, QWidget* parent) :
|
||||
const QRect &size = geometry();
|
||||
QWidget::move( (screen.width()-size.width())/2, (screen.height()-size.height())/2 );
|
||||
|
||||
#ifdef Q_WS_WIN
|
||||
if (QtWin::isCompositionEnabled()) {
|
||||
QtWin::extendFrameIntoClientArea(this);
|
||||
layout()->setContentsMargins(0, 0, 0, 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
ui->tabWidget->setElideMode(Qt::ElideRight);
|
||||
m_networkManager = new QNetworkAccessManager();
|
||||
connect(ui->reload, SIGNAL(clicked()), this, SLOT(reloadFeed()));
|
||||
connect(ui->deletebutton, SIGNAL(clicked()), this, SLOT(deleteFeed()));
|
||||
connect(ui->edit, SIGNAL(clicked()), this, SLOT(editFeed()));
|
||||
|
||||
connect(ui->optimizeDb, SIGNAL(clicked(QPoint)), this, SLOT(optimizeDb()));
|
||||
}
|
||||
|
||||
QupZilla* RSSManager::getQupZilla()
|
||||
@ -66,11 +61,12 @@ void RSSManager::refreshTable()
|
||||
{
|
||||
QSqlQuery query;
|
||||
ui->tabWidget->clear();
|
||||
query.exec("SELECT address, title FROM rss");
|
||||
query.exec("SELECT address, title, icon FROM rss");
|
||||
int i = 0;
|
||||
while (query.next()) {
|
||||
QUrl address = query.value(0).toUrl();
|
||||
QString title = query.value(1).toString();
|
||||
QIcon icon = IconProvider::iconFromBase64(query.value(2).toByteArray());
|
||||
TreeWidget* tree = new TreeWidget();
|
||||
tree->setHeaderLabel(tr("News"));
|
||||
tree->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
@ -84,8 +80,6 @@ void RSSManager::refreshTable()
|
||||
item->setText(0, tr("Loading..."));
|
||||
tree->addTopLevelItem(item);
|
||||
|
||||
QIcon icon = _iconForUrl(address);
|
||||
|
||||
ui->tabWidget->setTabIcon(i, icon );
|
||||
beginToLoadSlot(address);
|
||||
i++;
|
||||
@ -308,16 +302,23 @@ void RSSManager::finished(QNetworkReply* reply)
|
||||
m_networkReplies.append(reply);
|
||||
}
|
||||
|
||||
bool RSSManager::addRssFeed(const QString &address, const QString &title)
|
||||
bool RSSManager::addRssFeed(const QString &address, const QString &title, const QIcon &icon)
|
||||
{
|
||||
if (address.isEmpty())
|
||||
return false;
|
||||
QSqlQuery query;
|
||||
query.exec("SELECT id FROM rss WHERE address='"+address+"'");
|
||||
if (!query.next()) {
|
||||
query.prepare("INSERT INTO rss (address, title) VALUES(?,?)");
|
||||
QByteArray iconData;
|
||||
if (icon.pixmap(16,16).toImage() == QWebSettings::webGraphic(QWebSettings::DefaultFrameIconGraphic).toImage())
|
||||
iconData = IconProvider::iconToBase64(QIcon(":icons/other/feed.png"));
|
||||
else
|
||||
iconData = IconProvider::iconToBase64(icon);
|
||||
|
||||
query.prepare("INSERT INTO rss (address, title, icon) VALUES(?,?,?)");
|
||||
query.bindValue(0, address);
|
||||
query.bindValue(1, title);
|
||||
query.bindValue(2, iconData);
|
||||
query.exec();
|
||||
return true;
|
||||
}
|
||||
@ -326,6 +327,14 @@ bool RSSManager::addRssFeed(const QString &address, const QString &title)
|
||||
return false;
|
||||
}
|
||||
|
||||
void RSSManager::optimizeDb()
|
||||
{
|
||||
BrowsingLibrary* b = (BrowsingLibrary*) parentWidget();
|
||||
if (!b)
|
||||
return;
|
||||
b->optimizeDatabase();
|
||||
}
|
||||
|
||||
RSSManager::~RSSManager()
|
||||
{
|
||||
delete ui;
|
||||
|
@ -39,13 +39,14 @@ public:
|
||||
explicit RSSManager(QupZilla* mainClass, QWidget* parent = 0);
|
||||
~RSSManager();
|
||||
|
||||
bool addRssFeed(const QString &address, const QString &title);
|
||||
bool addRssFeed(const QString &address, const QString &title, const QIcon &icon);
|
||||
void setMainWindow(QupZilla* window);
|
||||
|
||||
public slots:
|
||||
void refreshTable();
|
||||
|
||||
private slots:
|
||||
void optimizeDb();
|
||||
void beginToLoadSlot(const QUrl &url);
|
||||
void finished(QNetworkReply* reply);
|
||||
void loadFeed(QTreeWidgetItem* item);
|
||||
|
@ -98,10 +98,31 @@
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="ClickableLabel" name="optimizeDb">
|
||||
<property name="cursor">
|
||||
<cursorShape>PointingHandCursor</cursorShape>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color: blue;
|
||||
text-decoration: underline;</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Optimize Database</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>ClickableLabel</class>
|
||||
<extends>QLabel</extends>
|
||||
<header>clickablelabel.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../data/icons.qrc"/>
|
||||
</resources>
|
||||
|
@ -77,7 +77,7 @@ void RSSWidget::addRss()
|
||||
else
|
||||
title = button->toolTip();
|
||||
|
||||
if (mApp->rssManager()->addRssFeed(urlString, title)) {
|
||||
if (mApp->rssManager()->addRssFeed(urlString, title, m_view->siteIcon())) {
|
||||
RSSNotification* notif = new RSSNotification(title, m_view);
|
||||
m_view->addNotification(notif);
|
||||
close();
|
||||
|
@ -34,10 +34,11 @@ BookmarksSideBar::BookmarksSideBar(QupZilla* mainClass, QWidget* parent) :
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->bookmarksTree->setDefaultItemShowMode(TreeWidget::ItemsExpanded);
|
||||
connect(ui->bookmarksTree, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(contextMenuRequested(const QPoint &)));
|
||||
connect(ui->bookmarksTree, SIGNAL(itemControlClicked(QTreeWidgetItem*)), this, SLOT(itemControlClicked(QTreeWidgetItem*)));
|
||||
connect(ui->bookmarksTree, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(itemDoubleClicked(QTreeWidgetItem*)));
|
||||
connect(ui->search, SIGNAL(textChanged(QString)), ui->bookmarksTree, SLOT(filterStringWithoutTopItems(QString)));
|
||||
connect(ui->search, SIGNAL(textChanged(QString)), ui->bookmarksTree, SLOT(filterString(QString)));
|
||||
|
||||
connect(m_bookmarksModel, SIGNAL(bookmarkAdded(BookmarksModel::Bookmark)), this, SLOT(addBookmark(BookmarksModel::Bookmark)));
|
||||
connect(m_bookmarksModel, SIGNAL(bookmarkDeleted(BookmarksModel::Bookmark)), this, SLOT(removeBookmark(BookmarksModel::Bookmark)));
|
||||
@ -129,7 +130,7 @@ void BookmarksSideBar::addBookmark(const BookmarksModel::Bookmark &bookmark)
|
||||
item->setToolTip(0, bookmark.url.toEncoded());
|
||||
|
||||
if (bookmark.folder != "unsorted")
|
||||
ui->bookmarksTree->addToParentItem(translatedFolder, item);
|
||||
ui->bookmarksTree->appendToParentItem(translatedFolder, item);
|
||||
else
|
||||
ui->bookmarksTree->addTopLevelItem(item);
|
||||
|
||||
@ -145,7 +146,7 @@ void BookmarksSideBar::removeBookmark(const BookmarksModel::Bookmark &bookmark)
|
||||
return;
|
||||
QTreeWidgetItem* item = list.at(0);
|
||||
if (item && item->whatsThis(0) == QString::number(bookmark.id))
|
||||
delete item;
|
||||
ui->bookmarksTree->deleteItem(item);
|
||||
} else {
|
||||
QList<QTreeWidgetItem*> list = ui->bookmarksTree->findItems(BookmarksModel::toTranslatedFolder(bookmark.folder), Qt::MatchExactly);
|
||||
if (list.count() == 0)
|
||||
@ -158,7 +159,7 @@ void BookmarksSideBar::removeBookmark(const BookmarksModel::Bookmark &bookmark)
|
||||
if (!item)
|
||||
continue;
|
||||
if (item->text(0) == bookmark.title && item->whatsThis(0) == QString::number(bookmark.id)) {
|
||||
delete item;
|
||||
ui->bookmarksTree->deleteItem(item);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -182,7 +183,7 @@ void BookmarksSideBar::removeFolder(const QString &name)
|
||||
{
|
||||
QTreeWidgetItem* item = ui->bookmarksTree->findItems(name, Qt::MatchExactly).at(0);
|
||||
if (item)
|
||||
delete item;
|
||||
ui->bookmarksTree->deleteItem(item);
|
||||
}
|
||||
|
||||
void BookmarksSideBar::refreshTable()
|
||||
|
@ -31,7 +31,8 @@ HistorySideBar::HistorySideBar(QupZilla* mainClass, QWidget* parent) :
|
||||
connect(ui->historyTree, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),this, SLOT(itemDoubleClicked(QTreeWidgetItem*)));
|
||||
connect(ui->historyTree, SIGNAL(customContextMenuRequested(const QPoint &)), this, SLOT(contextMenuRequested(const QPoint &)));
|
||||
connect(ui->historyTree, SIGNAL(itemControlClicked(QTreeWidgetItem*)), this, SLOT(itemControlClicked(QTreeWidgetItem*)));
|
||||
connect(ui->search, SIGNAL(textEdited(QString)), this, SLOT(search()));
|
||||
connect(ui->search, SIGNAL(textEdited(QString)), ui->historyTree, SLOT(filterString(QString)));
|
||||
// connect(ui->search, SIGNAL(textEdited(QString)), this, SLOT(search()));
|
||||
|
||||
connect(m_historyModel, SIGNAL(historyEntryAdded(HistoryModel::HistoryEntry)), this, SLOT(historyEntryAdded(HistoryModel::HistoryEntry)));
|
||||
connect(m_historyModel, SIGNAL(historyEntryDeleted(HistoryModel::HistoryEntry)), this, SLOT(historyEntryDeleted(HistoryModel::HistoryEntry)));
|
||||
@ -71,8 +72,6 @@ void HistorySideBar::contextMenuRequested(const QPoint &position)
|
||||
QMenu menu;
|
||||
menu.addAction(tr("Open link in actual tab"), p_QupZilla, SLOT(loadActionUrl()))->setData(link);
|
||||
menu.addAction(tr("Open link in new tab"), this, SLOT(loadInNewTab()))->setData(link);
|
||||
menu.addSeparator();
|
||||
menu.addAction(tr("Remove Entry"), this, SLOT(deleteItem()));
|
||||
|
||||
//Prevent choosing first option with double rightclick
|
||||
QPoint pos = QCursor::pos();
|
||||
@ -80,36 +79,33 @@ void HistorySideBar::contextMenuRequested(const QPoint &position)
|
||||
menu.exec(p);
|
||||
}
|
||||
|
||||
void HistorySideBar::deleteItem()
|
||||
{
|
||||
QTreeWidgetItem* item = ui->historyTree->currentItem();
|
||||
if (!item)
|
||||
return;
|
||||
if (item->text(1).isEmpty())
|
||||
return;
|
||||
|
||||
int id = item->whatsThis(1).toInt();
|
||||
m_historyModel->deleteHistoryEntry(id);
|
||||
}
|
||||
|
||||
void HistorySideBar::historyEntryAdded(const HistoryModel::HistoryEntry &entry)
|
||||
{
|
||||
QLocale locale(p_QupZilla->activeLanguage().remove(".qm"));
|
||||
QDate todayDate = QDate::currentDate();
|
||||
QDate startOfWeekDate = todayDate.addDays(1 - todayDate.dayOfWeek());
|
||||
|
||||
QString localDate; //date.toString("dddd d. MMMM yyyy");
|
||||
QString month = locale.monthName(entry.date.toString("M").toInt());
|
||||
localDate = entry.date.toString(" d. ") + month + entry.date.toString(" yyyy");
|
||||
QDate date = entry.date.date();
|
||||
QString localDate;
|
||||
|
||||
QTreeWidgetItem* item;
|
||||
if (date == todayDate)
|
||||
localDate = tr("Today");
|
||||
else if (date >= startOfWeekDate)
|
||||
localDate = tr("This Week");
|
||||
else if (date.month() == todayDate.month())
|
||||
localDate = tr("This Month");
|
||||
else
|
||||
localDate = QString("%1 %2").arg(HistoryModel::titleCaseLocalizedMonth(date.month()), QString::number(date.year()));
|
||||
|
||||
QTreeWidgetItem* item = new QTreeWidgetItem();
|
||||
QTreeWidgetItem* parentItem;
|
||||
QList<QTreeWidgetItem*> findParent = ui->historyTree->findItems(localDate, 0);
|
||||
if (findParent.count() == 1) {
|
||||
item = new QTreeWidgetItem(findParent.at(0));
|
||||
parentItem = findParent.at(0);
|
||||
} else {
|
||||
QTreeWidgetItem* newParent = new QTreeWidgetItem(ui->historyTree);
|
||||
newParent->setText(0, localDate);
|
||||
newParent->setIcon(0, QIcon(":/icons/menu/history_entry.png"));
|
||||
ui->historyTree->addTopLevelItem(newParent);
|
||||
item = new QTreeWidgetItem(newParent);
|
||||
parentItem = new QTreeWidgetItem();
|
||||
parentItem->setText(0, localDate);
|
||||
parentItem->setIcon(0, QIcon(":/icons/menu/history_entry.png"));
|
||||
ui->historyTree->addTopLevelItem(parentItem);
|
||||
}
|
||||
|
||||
item->setText(0, entry.title);
|
||||
@ -118,7 +114,7 @@ void HistorySideBar::historyEntryAdded(const HistoryModel::HistoryEntry &entry)
|
||||
|
||||
item->setWhatsThis(1, QString::number(entry.id));
|
||||
item->setIcon(0, _iconForUrl(entry.url));
|
||||
ui->historyTree->addTopLevelItem(item);
|
||||
ui->historyTree->prependToParentItem(parentItem, item);
|
||||
}
|
||||
|
||||
void HistorySideBar::historyEntryDeleted(const HistoryModel::HistoryEntry &entry)
|
||||
@ -129,7 +125,7 @@ void HistorySideBar::historyEntryDeleted(const HistoryModel::HistoryEntry &entry
|
||||
continue;
|
||||
if (item->whatsThis(1).toInt() != entry.id)
|
||||
continue;
|
||||
delete item;
|
||||
ui->historyTree->deleteItem(item);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -167,8 +163,8 @@ void HistorySideBar::refreshTable()
|
||||
ui->historyTree->setUpdatesEnabled(false);
|
||||
ui->historyTree->clear();
|
||||
|
||||
QLocale locale(p_QupZilla->activeLanguage().remove(".qm"));
|
||||
|
||||
QDate todayDate = QDate::currentDate();
|
||||
QDate startOfWeekDate = todayDate.addDays(1 - todayDate.dayOfWeek());
|
||||
QSqlQuery query;
|
||||
query.exec("SELECT title, url, id, date FROM history ORDER BY date DESC");
|
||||
|
||||
@ -176,15 +172,17 @@ void HistorySideBar::refreshTable()
|
||||
QString title = query.value(0).toString();
|
||||
QUrl url = query.value(1).toUrl();
|
||||
int id = query.value(2).toInt();
|
||||
qint64 unixDate = query.value(3).toLongLong();
|
||||
QDateTime date = QDateTime();
|
||||
date = date.fromMSecsSinceEpoch(unixDate);
|
||||
QDate date = QDateTime::fromMSecsSinceEpoch(query.value(3).toLongLong()).date();
|
||||
QString localDate;
|
||||
|
||||
QString localDate; //date.toString("dddd d. MMMM yyyy");
|
||||
//QString day = locale.dayName(date.toString("d").toInt());
|
||||
|
||||
QString month = locale.monthName(date.toString("M").toInt());
|
||||
localDate = date.toString(" d. ") + month + date.toString(" yyyy");
|
||||
if (date == todayDate)
|
||||
localDate = tr("Today");
|
||||
else if (date >= startOfWeekDate)
|
||||
localDate = tr("This Week");
|
||||
else if (date.month() == todayDate.month())
|
||||
localDate = tr("This Month");
|
||||
else
|
||||
localDate = QString("%1 %2").arg(HistoryModel::titleCaseLocalizedMonth(date.month()), QString::number(date.year()));
|
||||
|
||||
QTreeWidgetItem* item;
|
||||
QList<QTreeWidgetItem*> findParent = ui->historyTree->findItems(localDate, 0);
|
||||
|
@ -44,7 +44,6 @@ public slots:
|
||||
private slots:
|
||||
void search();
|
||||
void itemDoubleClicked(QTreeWidgetItem* item);
|
||||
void deleteItem();
|
||||
void contextMenuRequested(const QPoint &position);
|
||||
void loadInNewTab();
|
||||
void itemControlClicked(QTreeWidgetItem* item);
|
||||
|
@ -54,39 +54,18 @@ QIcon IconProvider::iconForUrl(const QUrl &url)
|
||||
}
|
||||
|
||||
QSqlQuery query;
|
||||
query.prepare("SELECT icon FROM icons WHERE url = ?");
|
||||
query.prepare("SELECT icon FROM icons WHERE url=?");
|
||||
query.bindValue(0, url.toEncoded(QUrl::RemoveFragment));
|
||||
query.exec();
|
||||
if (query.next()) {
|
||||
QIcon image;
|
||||
QByteArray bArray = QByteArray::fromBase64(query.value(0).toByteArray());
|
||||
QBuffer buffer(&bArray);
|
||||
buffer.open(QIODevice::ReadOnly);
|
||||
QDataStream in(&buffer);
|
||||
in >> image;
|
||||
buffer.close();
|
||||
if (query.next())
|
||||
return iconFromBase64(query.value(0).toByteArray());
|
||||
|
||||
if (!image.isNull())
|
||||
return image;
|
||||
}
|
||||
|
||||
#ifdef Q_WS_X11
|
||||
return QIcon::fromTheme("text-plain");
|
||||
#else
|
||||
return QIcon(":icons/locationbar/unknownpage.png");
|
||||
#endif
|
||||
return QWebSettings::webGraphic(QWebSettings::DefaultFrameIconGraphic);
|
||||
}
|
||||
|
||||
void IconProvider::saveIconsToDatabase()
|
||||
{
|
||||
foreach (Icon ic, m_iconBuffer) {
|
||||
QByteArray bArray;
|
||||
QBuffer buffer(&bArray);
|
||||
buffer.open(QIODevice::WriteOnly);
|
||||
QDataStream out(&buffer);
|
||||
out << ic.icon;
|
||||
buffer.close();
|
||||
|
||||
QSqlQuery query;
|
||||
query.prepare("SELECT id FROM icons WHERE url = ?");
|
||||
query.bindValue(0, ic.url.toEncoded(QUrl::RemoveFragment));
|
||||
@ -97,7 +76,7 @@ void IconProvider::saveIconsToDatabase()
|
||||
else
|
||||
query.prepare("INSERT INTO icons (icon, url) VALUES (?,?)");
|
||||
|
||||
query.bindValue(0, bArray.toBase64());
|
||||
query.bindValue(0, iconToBase64(ic.icon));
|
||||
query.bindValue(1, ic.url.toEncoded(QUrl::RemoveFragment));
|
||||
query.exec();
|
||||
}
|
||||
@ -113,3 +92,29 @@ void IconProvider::clearIconDatabase()
|
||||
|
||||
m_iconBuffer.clear();
|
||||
}
|
||||
|
||||
QIcon IconProvider::iconFromBase64(const QByteArray &data)
|
||||
{
|
||||
QIcon image;
|
||||
QByteArray bArray = QByteArray::fromBase64(data);
|
||||
QBuffer buffer(&bArray);
|
||||
buffer.open(QIODevice::ReadOnly);
|
||||
QDataStream in(&buffer);
|
||||
in >> image;
|
||||
buffer.close();
|
||||
|
||||
if (!image.isNull())
|
||||
return image;
|
||||
return QWebSettings::webGraphic(QWebSettings::DefaultFrameIconGraphic);
|
||||
}
|
||||
|
||||
QByteArray IconProvider::iconToBase64(const QIcon &icon)
|
||||
{
|
||||
QByteArray bArray;
|
||||
QBuffer buffer(&bArray);
|
||||
buffer.open(QIODevice::WriteOnly);
|
||||
QDataStream out(&buffer);
|
||||
out << icon;
|
||||
buffer.close();
|
||||
return bArray.toBase64();
|
||||
}
|
||||
|
@ -38,6 +38,9 @@ public:
|
||||
|
||||
void clearIconDatabase();
|
||||
|
||||
static QIcon iconFromBase64(const QByteArray &data);
|
||||
static QByteArray iconToBase64(const QIcon &icon);
|
||||
|
||||
signals:
|
||||
|
||||
public slots:
|
||||
|
@ -19,7 +19,39 @@
|
||||
|
||||
TreeWidget::TreeWidget(QWidget* parent) :
|
||||
QTreeWidget(parent)
|
||||
, m_refreshAllItemsNeeded(true)
|
||||
, m_showMode(ItemsCollapsed)
|
||||
{
|
||||
connect(this, SIGNAL(itemChanged(QTreeWidgetItem*,int)), this, SLOT(sheduleRefresh()));
|
||||
}
|
||||
|
||||
void TreeWidget::sheduleRefresh()
|
||||
{
|
||||
m_refreshAllItemsNeeded = true;
|
||||
}
|
||||
|
||||
void TreeWidget::addTopLevelItem(QTreeWidgetItem *item)
|
||||
{
|
||||
m_allTreeItems.append(item);
|
||||
QTreeWidget::addTopLevelItem(item);
|
||||
}
|
||||
|
||||
void TreeWidget::addTopLevelItems(const QList<QTreeWidgetItem *> &items)
|
||||
{
|
||||
m_allTreeItems.append(items);
|
||||
QTreeWidget::addTopLevelItems(items);
|
||||
}
|
||||
|
||||
void TreeWidget::insertTopLevelItem(int index, QTreeWidgetItem *item)
|
||||
{
|
||||
m_allTreeItems.append(item);
|
||||
QTreeWidget::insertTopLevelItem(index, item);
|
||||
}
|
||||
|
||||
void TreeWidget::insertTopLevelItems(int index, const QList<QTreeWidgetItem *> &items)
|
||||
{
|
||||
m_allTreeItems.append(items);
|
||||
QTreeWidget::insertTopLevelItems(index, items);
|
||||
}
|
||||
|
||||
void TreeWidget::mousePressEvent(QMouseEvent* event)
|
||||
@ -30,67 +62,117 @@ void TreeWidget::mousePressEvent(QMouseEvent* event)
|
||||
QTreeWidget::mousePressEvent(event);
|
||||
}
|
||||
|
||||
QList<QTreeWidgetItem*> allTreeItems;
|
||||
void iterateAllItems(QTreeWidgetItem* parent, QTreeWidget* treeWidget, bool includeTopLevelItems = true)
|
||||
void TreeWidget::iterateAllItems(QTreeWidgetItem* parent)
|
||||
{
|
||||
int count = parent ? parent->childCount() : treeWidget->topLevelItemCount();
|
||||
int count = parent ? parent->childCount() : topLevelItemCount();
|
||||
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
QTreeWidgetItem *item =
|
||||
parent ? parent->child(i) : treeWidget->topLevelItem(i);
|
||||
QTreeWidgetItem *item = parent ? parent->child(i) : topLevelItem(i);
|
||||
|
||||
if (includeTopLevelItems)
|
||||
allTreeItems.append(item);
|
||||
else if (item->childCount() == 0)
|
||||
allTreeItems.append(item);
|
||||
if (item->childCount() == 0)
|
||||
m_allTreeItems.append(item);
|
||||
|
||||
iterateAllItems(item, treeWidget, includeTopLevelItems);
|
||||
iterateAllItems(item);
|
||||
}
|
||||
}
|
||||
|
||||
QList<QTreeWidgetItem*> TreeWidget::allItems(bool includeTopLevelItems)
|
||||
QList<QTreeWidgetItem*> TreeWidget::allItems()
|
||||
{
|
||||
allTreeItems.clear();
|
||||
iterateAllItems(0, this, includeTopLevelItems);
|
||||
return allTreeItems;
|
||||
}
|
||||
|
||||
void TreeWidget::filterStringWithoutTopItems(QString string)
|
||||
{
|
||||
QList<QTreeWidgetItem*> _allItems = allItems(false);
|
||||
|
||||
if (string.isEmpty()) {
|
||||
foreach (QTreeWidgetItem* item, _allItems)
|
||||
item->setHidden(false);
|
||||
} else {
|
||||
foreach (QTreeWidgetItem* item, _allItems)
|
||||
item->setHidden(!item->text(0).contains(string, Qt::CaseInsensitive));
|
||||
if (m_refreshAllItemsNeeded) {
|
||||
m_allTreeItems.clear();
|
||||
iterateAllItems(0);
|
||||
m_refreshAllItemsNeeded = false;
|
||||
}
|
||||
return m_allTreeItems;
|
||||
}
|
||||
|
||||
void TreeWidget::filterStringWithTopItems(QString string)
|
||||
void TreeWidget::filterString(QString string)
|
||||
{
|
||||
expandAll();
|
||||
QList<QTreeWidgetItem*> _allItems = allItems();
|
||||
|
||||
if (string.isEmpty()) {
|
||||
foreach (QTreeWidgetItem* item, _allItems)
|
||||
item->setHidden(false);
|
||||
for (int i = 0; i < topLevelItemCount(); i++)
|
||||
topLevelItem(i)->setHidden(false);
|
||||
if (m_showMode == ItemsCollapsed)
|
||||
collapseAll();
|
||||
} else {
|
||||
foreach (QTreeWidgetItem* item, _allItems)
|
||||
foreach (QTreeWidgetItem* item, _allItems) {
|
||||
item->setHidden(!item->text(0).contains(string, Qt::CaseInsensitive));
|
||||
item->setExpanded(true);
|
||||
}
|
||||
for (int i = 0; i < topLevelItemCount(); i++)
|
||||
topLevelItem(i)->setHidden(false);
|
||||
|
||||
QTreeWidgetItem* firstItem = topLevelItem(0);
|
||||
QTreeWidgetItem* belowItem = itemBelow(firstItem);
|
||||
while (firstItem) {
|
||||
if (!firstItem->parent() && !belowItem)
|
||||
firstItem->setHidden(true);
|
||||
else if (!belowItem)
|
||||
break;
|
||||
else if (!firstItem->parent() && !belowItem->parent())
|
||||
firstItem->setHidden(true);
|
||||
firstItem = belowItem;
|
||||
belowItem = itemBelow(firstItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool TreeWidget::addToParentItem(const QString &text, QTreeWidgetItem* item)
|
||||
bool TreeWidget::appendToParentItem(const QString &parentText, QTreeWidgetItem* item)
|
||||
{
|
||||
QList<QTreeWidgetItem*> list = findItems(text, Qt::MatchExactly);
|
||||
QList<QTreeWidgetItem*> list = findItems(parentText, Qt::MatchExactly);
|
||||
if (list.count() == 0)
|
||||
return false;
|
||||
QTreeWidgetItem* parentItem = list.at(0);
|
||||
if (!parentItem)
|
||||
return false;
|
||||
|
||||
m_allTreeItems.append(item);
|
||||
parentItem->addChild(item);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TreeWidget::appendToParentItem(QTreeWidgetItem* parent, QTreeWidgetItem* item)
|
||||
{
|
||||
if (!parent || parent->treeWidget() != this)
|
||||
return false;
|
||||
|
||||
m_allTreeItems.append(item);
|
||||
parent->addChild(item);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TreeWidget::prependToParentItem(const QString &parentText, QTreeWidgetItem* item)
|
||||
{
|
||||
QList<QTreeWidgetItem*> list = findItems(parentText, Qt::MatchExactly);
|
||||
if (list.count() == 0)
|
||||
return false;
|
||||
QTreeWidgetItem* parentItem = list.at(0);
|
||||
if (!parentItem)
|
||||
return false;
|
||||
|
||||
m_allTreeItems.append(item);
|
||||
parentItem->insertChild(0, item);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TreeWidget::prependToParentItem(QTreeWidgetItem* parent, QTreeWidgetItem* item)
|
||||
{
|
||||
if (!parent || parent->treeWidget() != this)
|
||||
return false;
|
||||
|
||||
m_allTreeItems.append(item);
|
||||
parent->insertChild(0, item);
|
||||
return true;
|
||||
}
|
||||
|
||||
void TreeWidget::deleteItem(QTreeWidgetItem *item)
|
||||
{
|
||||
if (m_allTreeItems.contains(item))
|
||||
m_allTreeItems.removeOne(item);
|
||||
|
||||
delete item;
|
||||
}
|
||||
|
@ -27,18 +27,37 @@ class TreeWidget : public QTreeWidget
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit TreeWidget(QWidget* parent = 0);
|
||||
QList<QTreeWidgetItem*> allItems(bool includeTopLevelItems = true);
|
||||
bool addToParentItem(const QString &text, QTreeWidgetItem* item);
|
||||
enum ItemShowMode { ItemsCollapsed = 0, ItemsExpanded = 1 };
|
||||
void setDefaultItemShowMode(ItemShowMode mode) { m_showMode = mode; }
|
||||
QList<QTreeWidgetItem*> allItems();
|
||||
bool appendToParentItem(const QString &parentText, QTreeWidgetItem* item);
|
||||
bool appendToParentItem(QTreeWidgetItem* parent, QTreeWidgetItem* item);
|
||||
bool prependToParentItem(const QString &parentText, QTreeWidgetItem* item);
|
||||
bool prependToParentItem(QTreeWidgetItem* parent, QTreeWidgetItem* item);
|
||||
|
||||
void addTopLevelItem(QTreeWidgetItem *item);
|
||||
void addTopLevelItems(const QList<QTreeWidgetItem *> &items);
|
||||
void insertTopLevelItem(int index, QTreeWidgetItem *item);
|
||||
void insertTopLevelItems(int index, const QList<QTreeWidgetItem *> &items);
|
||||
|
||||
void deleteItem(QTreeWidgetItem* item);
|
||||
|
||||
signals:
|
||||
void itemControlClicked(QTreeWidgetItem* item);
|
||||
|
||||
public slots:
|
||||
void filterStringWithTopItems(QString string);
|
||||
void filterStringWithoutTopItems(QString string);
|
||||
void filterString(QString string);
|
||||
|
||||
private slots:
|
||||
void sheduleRefresh();
|
||||
|
||||
private:
|
||||
void mousePressEvent(QMouseEvent* event);
|
||||
void iterateAllItems(QTreeWidgetItem* parent);
|
||||
|
||||
bool m_refreshAllItemsNeeded;
|
||||
QList<QTreeWidgetItem*> m_allTreeItems;
|
||||
ItemShowMode m_showMode;
|
||||
|
||||
};
|
||||
|
||||
|
@ -194,7 +194,7 @@ void TabBar::closeCurrentTab()
|
||||
|
||||
void TabBar::bookmarkTab()
|
||||
{
|
||||
p_QupZilla->addBookmark(p_QupZilla->weView(m_clickedTab)->url(), p_QupZilla->weView(m_clickedTab)->title());
|
||||
p_QupZilla->addBookmark(p_QupZilla->weView(m_clickedTab)->url(), p_QupZilla->weView(m_clickedTab)->title(), p_QupZilla->weView(m_clickedTab)->siteIcon());
|
||||
}
|
||||
|
||||
void TabBar::pinTab()
|
||||
|
@ -678,7 +678,7 @@ void WebView::bookmarkLink()
|
||||
if (action->data().isNull())
|
||||
p_QupZilla->bookmarkPage();
|
||||
else
|
||||
p_QupZilla->addBookmark(action->data().toUrl(), action->data().toString());
|
||||
p_QupZilla->addBookmark(action->data().toUrl(), action->data().toString(), siteIcon());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -311,87 +311,92 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Přidat složku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="79"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.ui" line="84"/>
|
||||
<source>Optimize Database</source>
|
||||
<translation>Optimalizovat databázi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="89"/>
|
||||
<source>Add new folder</source>
|
||||
<translation>Přidat složku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="79"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="89"/>
|
||||
<source>Choose name for new bookmark folder: </source>
|
||||
<translation>Zvolte jméno pro novou složku:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="109"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="119"/>
|
||||
<source>New Tab</source>
|
||||
<translation>Nový panel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="159"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="184"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="209"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="337"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="379"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="169"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="194"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="220"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="348"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="390"/>
|
||||
<source>Bookmarks In Menu</source>
|
||||
<translation>Záložky v menu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="160"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="189"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="211"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="338"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="380"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="170"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="199"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="222"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="349"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="391"/>
|
||||
<source>Bookmarks In ToolBar</source>
|
||||
<translation>Panel záložek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="152"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="162"/>
|
||||
<source>Open link in actual &tab</source>
|
||||
<translation>Otevřít odkaz v &aktuálním panelu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="153"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="163"/>
|
||||
<source>Open link in &new tab</source>
|
||||
<translation>Otevřít odkaz v novém &panelu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="157"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="167"/>
|
||||
<source>Move bookmark to &folder</source>
|
||||
<translation>Přesunout záložku do &složky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="168"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="178"/>
|
||||
<source>&Close</source>
|
||||
<translation>&Zavřít</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="158"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="336"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="378"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="168"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="347"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="389"/>
|
||||
<source>Unsorted Bookmarks</source>
|
||||
<translation>Nesetříděné záložky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="333"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="344"/>
|
||||
<source><b>Warning: </b>You already have this page bookmarked!</source>
|
||||
<translation><b>Upozornění: </b>Tuto stránku již máte v záložkách!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="344"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="355"/>
|
||||
<source>Choose name and location of bookmark.</source>
|
||||
<translation>Zvolte jméno a umístění záložky.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="348"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="359"/>
|
||||
<source>Add New Bookmark</source>
|
||||
<translation>Přidat záložku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="386"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="397"/>
|
||||
<source>Choose folder for bookmarks:</source>
|
||||
<translation>Zvolte složku pro záložky:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="388"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="399"/>
|
||||
<source>Bookmark All Tabs</source>
|
||||
<translation>Přidat všechny panely do záložek</translation>
|
||||
</message>
|
||||
@ -399,22 +404,22 @@ p, li { white-space: pre-wrap; }
|
||||
<context>
|
||||
<name>BookmarksModel</name>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="244"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="286"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="299"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="251"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="293"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="306"/>
|
||||
<source>Bookmarks In Menu</source>
|
||||
<translation>Záložky v menu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="244"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="288"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="301"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="251"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="295"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="308"/>
|
||||
<source>Bookmarks In ToolBar</source>
|
||||
<translation>Panel záložek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="290"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="303"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="297"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="310"/>
|
||||
<source>Unsorted Bookmarks</source>
|
||||
<translation>Nesetříděné záložky</translation>
|
||||
</message>
|
||||
@ -427,46 +432,46 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Hledat...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="68"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="69"/>
|
||||
<source>New Tab</source>
|
||||
<translation>Nový panel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="100"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="101"/>
|
||||
<source>Open link in actual &tab</source>
|
||||
<translation>Otevřít odkaz v &aktuálním panelu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="101"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="102"/>
|
||||
<source>Open link in &new tab</source>
|
||||
<translation>Otevřít odkaz v novém &panelu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="105"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="106"/>
|
||||
<source>Move bookmark to &folder</source>
|
||||
<translation>Přesunout záložku do &složky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="106"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="107"/>
|
||||
<source>Unsorted Bookmarks</source>
|
||||
<translation>Nesetříděné záložky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="107"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="196"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="221"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="108"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="197"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="222"/>
|
||||
<source>Bookmarks In Menu</source>
|
||||
<translation>Záložky v menu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="108"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="201"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="223"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="109"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="202"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="224"/>
|
||||
<source>Bookmarks In ToolBar</source>
|
||||
<translation>Panel záložek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="114"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="115"/>
|
||||
<source>&Delete</source>
|
||||
<translation>&Odstranit</translation>
|
||||
</message>
|
||||
@ -585,20 +590,30 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Hledat...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="26"/>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="47"/>
|
||||
<source>History</source>
|
||||
<translation>Historie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="27"/>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="48"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation>Záložky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="28"/>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="49"/>
|
||||
<source>RSS</source>
|
||||
<translation>RSS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="141"/>
|
||||
<source>Database Optimized</source>
|
||||
<translation>Databáze optimalizována</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="141"/>
|
||||
<source>Database successfuly optimized.<br/><br/><b>Database Size Before: </b>%1<br/><b>Databse Size After: </b>%2</source>
|
||||
<translation>Databáze byla úspěšně optimalizována.<br/><br/><b>Velikost databáze před: </b>%1<br/><b>Velikost databáze poté: </b>%2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClearPrivateData</name>
|
||||
@ -779,12 +794,12 @@ p, li { white-space: pre-wrap; }
|
||||
<location filename="../src/cookies/cookiemanager.ui" line="163"/>
|
||||
<location filename="../src/cookies/cookiemanager.ui" line="170"/>
|
||||
<location filename="../src/cookies/cookiemanager.ui" line="177"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="95"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="96"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="97"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="98"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="99"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="100"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="101"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="102"/>
|
||||
<source><cookie not selected></source>
|
||||
<translation><nebylo zvoleno cookie></translation>
|
||||
</message>
|
||||
@ -795,7 +810,7 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.ui" line="209"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="104"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="106"/>
|
||||
<source>Remove cookie</source>
|
||||
<translation>Odebrat cookie</translation>
|
||||
</message>
|
||||
@ -805,69 +820,41 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Del</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="43"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="44"/>
|
||||
<source>Search</source>
|
||||
<translation>Vyhledávání</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="48"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="50"/>
|
||||
<source>Confirmation</source>
|
||||
<translation>Potvrzení</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="49"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="51"/>
|
||||
<source>Are you sure to delete all cookies on your computer?</source>
|
||||
<translation>Opravdu chcete vymazat všechny cookies z počítače?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="101"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="103"/>
|
||||
<source>Remove cookies</source>
|
||||
<translation>Odebrat cookies</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="113"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="115"/>
|
||||
<source>Secure only</source>
|
||||
<translation>Zabezpečené připojení</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="113"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="115"/>
|
||||
<source>All connections</source>
|
||||
<translation>Libovolný typ připojení</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="114"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="116"/>
|
||||
<source>Session cookie</source>
|
||||
<translation>konce relace</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Core::Internal::FancyTabWidget</name>
|
||||
<message>
|
||||
<location filename="../src/3rdparty/fancytabwidget.cpp" line="646"/>
|
||||
<source>Large sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/3rdparty/fancytabwidget.cpp" line="647"/>
|
||||
<source>Small sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/3rdparty/fancytabwidget.cpp" line="648"/>
|
||||
<source>Plain sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/3rdparty/fancytabwidget.cpp" line="649"/>
|
||||
<source>Tabs on top</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/3rdparty/fancytabwidget.cpp" line="650"/>
|
||||
<source>Icons on top</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DownloadItem</name>
|
||||
<message>
|
||||
@ -1143,32 +1130,55 @@ nebyl nalezen!</translation>
|
||||
<translation>Vymazat celou historii</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="90"/>
|
||||
<location filename="../src/history/historymanager.ui" line="84"/>
|
||||
<source>Optimize Database</source>
|
||||
<translation>Optimalizovat databázi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="93"/>
|
||||
<source>New Tab</source>
|
||||
<translation>Nový panel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="102"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="105"/>
|
||||
<source>Open link in actual tab</source>
|
||||
<translation>Otevřít odkaz v aktuálním panelu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="103"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="106"/>
|
||||
<source>Open link in new tab</source>
|
||||
<translation>Otevřít odkaz v novém panelu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="107"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="110"/>
|
||||
<source>Close</source>
|
||||
<translation>Zavřít</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="170"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="137"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="209"/>
|
||||
<source>Today</source>
|
||||
<translation>Dnes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="139"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="211"/>
|
||||
<source>This Week</source>
|
||||
<translation>Tento týden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="141"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="213"/>
|
||||
<source>This Month</source>
|
||||
<translation>Tento měsíc</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="182"/>
|
||||
<source>Confirmation</source>
|
||||
<translation>Potvrzení</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="171"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="183"/>
|
||||
<source>Are you sure to delete all history?</source>
|
||||
<translation>Opravdu chcete vymazat celou historii?</translation>
|
||||
</message>
|
||||
@ -1176,15 +1186,75 @@ nebyl nalezen!</translation>
|
||||
<context>
|
||||
<name>HistoryModel</name>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="42"/>
|
||||
<location filename="../src/history/historymodel.cpp" line="43"/>
|
||||
<source>Failed loading page</source>
|
||||
<translation>Chyba při načítání stránky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="45"/>
|
||||
<location filename="../src/history/historymodel.cpp" line="46"/>
|
||||
<source>No Named Page</source>
|
||||
<translation>Bezejmenná stránka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="177"/>
|
||||
<source>January</source>
|
||||
<translation>Leden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="179"/>
|
||||
<source>February</source>
|
||||
<translation>Únor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="181"/>
|
||||
<source>March</source>
|
||||
<translation>Březen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="183"/>
|
||||
<source>April</source>
|
||||
<translation>Duben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="185"/>
|
||||
<source>May</source>
|
||||
<translation>Květen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="187"/>
|
||||
<source>June</source>
|
||||
<translation>Červen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="189"/>
|
||||
<source>July</source>
|
||||
<translation>Červenec</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="191"/>
|
||||
<source>August</source>
|
||||
<translation>Srpen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="193"/>
|
||||
<source>September</source>
|
||||
<translation>Září</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="195"/>
|
||||
<source>October</source>
|
||||
<translation>Říjen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="197"/>
|
||||
<source>November</source>
|
||||
<translation>Listopad</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="199"/>
|
||||
<source>December</source>
|
||||
<translation>Prosinec</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HistorySideBar</name>
|
||||
@ -1199,25 +1269,43 @@ nebyl nalezen!</translation>
|
||||
<translation>Titulek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="60"/>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="61"/>
|
||||
<source>New Tab</source>
|
||||
<translation>Nový panel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="72"/>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="73"/>
|
||||
<source>Open link in actual tab</source>
|
||||
<translation>Otevřít odkaz v aktuálním panelu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="73"/>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="74"/>
|
||||
<source>Open link in new tab</source>
|
||||
<translation>Otevřít odkaz v novém panelu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="75"/>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="76"/>
|
||||
<source>Remove Entry</source>
|
||||
<translation>Odstranit položku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="105"/>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="193"/>
|
||||
<source>Today</source>
|
||||
<translation>Dnes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="107"/>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="195"/>
|
||||
<source>This Week</source>
|
||||
<translation>Tento týden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="109"/>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="197"/>
|
||||
<source>This Month</source>
|
||||
<translation>Tento měsíc</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LocationBar</name>
|
||||
@ -1257,12 +1345,12 @@ nebyl nalezen!</translation>
|
||||
<context>
|
||||
<name>MainApplication</name>
|
||||
<message>
|
||||
<location filename="../src/app/mainapplication.cpp" line="517"/>
|
||||
<location filename="../src/app/mainapplication.cpp" line="514"/>
|
||||
<source>Last session crashed</source>
|
||||
<translation>Poslední relace spadla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/app/mainapplication.cpp" line="518"/>
|
||||
<location filename="../src/app/mainapplication.cpp" line="515"/>
|
||||
<source><b>QupZilla crashed :-(</b><br/>Oops, last session of QupZilla ends with its crash. We are very sorry. Would you try to restore saved state?</source>
|
||||
<translation><b>QupZilla spadla :-(</b><br/>Oops, poslední relace QupZilly skončila jejím pádem. Velice se omlouváme. Přejete si obnovit uložený stav?</translation>
|
||||
</message>
|
||||
@ -2591,95 +2679,101 @@ nebyl nalezen!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.ui" line="40"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="115"/>
|
||||
<source>Empty</source>
|
||||
<translation>Prázdný</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.ui" line="83"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="113"/>
|
||||
<source>You don't have any RSS Feeds.<br/>
|
||||
Please add some with RSS icon in navigation bar on site which offers feeds.</source>
|
||||
<translation>Nemáte žádný RSS kanál.<br/>
|
||||
Prosím přidejte si nějaký kliknutím na RSS ikonku v navigačním řádku.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.ui" line="106"/>
|
||||
<location filename="../src/rss/rssmanager.ui" line="64"/>
|
||||
<source>Reload</source>
|
||||
<translation>Obnovit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.ui" line="116"/>
|
||||
<location filename="../src/rss/rssmanager.ui" line="74"/>
|
||||
<source>Edit feed</source>
|
||||
<translation>Upravit kanál</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.ui" line="126"/>
|
||||
<location filename="../src/rss/rssmanager.ui" line="84"/>
|
||||
<source>Delete feed</source>
|
||||
<translation>Smazat kanál</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="81"/>
|
||||
<location filename="../src/rss/rssmanager.ui" line="111"/>
|
||||
<source>Optimize Database</source>
|
||||
<translation>Optimalizovat databázi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="79"/>
|
||||
<source>News</source>
|
||||
<translation>Novinky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="90"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="113"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="88"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="126"/>
|
||||
<source>Loading...</source>
|
||||
<translation>Načítám...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="153"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="162"/>
|
||||
<source>Fill title and URL of a feed: </source>
|
||||
<translation>Vyplňte titulek a adresu kanálu: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="155"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="164"/>
|
||||
<source>Feed title: </source>
|
||||
<translation>Titulek kanálu: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="156"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="165"/>
|
||||
<source>Feed URL: </source>
|
||||
<translation>Adresa kanálu: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="162"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="171"/>
|
||||
<source>Edit RSS Feed</source>
|
||||
<translation>Upravit kanál</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="199"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="208"/>
|
||||
<source>Open link in actual tab</source>
|
||||
<translation>Otevřít odkaz v aktuálním panelu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="200"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="209"/>
|
||||
<source>Open link in new tab</source>
|
||||
<translation>Otevřít odkaz v novém panelu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="202"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="211"/>
|
||||
<source>Close</source>
|
||||
<translation>Zavřít</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="225"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="231"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="234"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="240"/>
|
||||
<source>New Tab</source>
|
||||
<translation>Nový panel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="297"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="306"/>
|
||||
<source>Error in fetching feed</source>
|
||||
<translation>Chyba při stahování kanálu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="318"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="334"/>
|
||||
<source>RSS feed duplicated</source>
|
||||
<translation>Duplikovaný kanál</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="318"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="334"/>
|
||||
<source>You already have this feed.</source>
|
||||
<translation>Tento kanál již odebíráte.</translation>
|
||||
</message>
|
||||
|
@ -315,87 +315,92 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Pridať zložku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="79"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.ui" line="84"/>
|
||||
<source>Optimize Database</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="89"/>
|
||||
<source>Add new folder</source>
|
||||
<translation>Pridať novú zložku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="79"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="89"/>
|
||||
<source>Choose name for new bookmark folder: </source>
|
||||
<translation>Zvoľte meno pre novú zložku:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="109"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="119"/>
|
||||
<source>New Tab</source>
|
||||
<translation>Nový panel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="159"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="184"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="209"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="337"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="379"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="169"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="194"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="220"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="348"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="390"/>
|
||||
<source>Bookmarks In Menu</source>
|
||||
<translation>Záložky v menu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="160"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="189"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="211"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="338"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="380"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="170"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="199"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="222"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="349"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="391"/>
|
||||
<source>Bookmarks In ToolBar</source>
|
||||
<translation>Panel záložiek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="152"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="162"/>
|
||||
<source>Open link in actual &tab</source>
|
||||
<translation>Otvoriť odkaz v &aktuálnom panely</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="153"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="163"/>
|
||||
<source>Open link in &new tab</source>
|
||||
<translation>Otvoriť odkaz na &novom panely</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="157"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="167"/>
|
||||
<source>Move bookmark to &folder</source>
|
||||
<translation>Presunúť záložku do &zložky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="168"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="178"/>
|
||||
<source>&Close</source>
|
||||
<translation>&Zavrieť</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="158"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="336"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="378"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="168"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="347"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="389"/>
|
||||
<source>Unsorted Bookmarks</source>
|
||||
<translation>Nezotriedené záložky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="333"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="344"/>
|
||||
<source><b>Warning: </b>You already have this page bookmarked!</source>
|
||||
<translation><b>Upozornenie: </b>Túto stránku máte už v záložkách!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="344"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="355"/>
|
||||
<source>Choose name and location of bookmark.</source>
|
||||
<translation>Zvoľte meno a umiestnenie záložky.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="348"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="359"/>
|
||||
<source>Add New Bookmark</source>
|
||||
<translation>Pridať záložku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="386"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="397"/>
|
||||
<source>Choose folder for bookmarks:</source>
|
||||
<translation>Zvoľte zložku pre záložku:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="388"/>
|
||||
<location filename="../src/bookmarks/bookmarksmanager.cpp" line="399"/>
|
||||
<source>Bookmark All Tabs</source>
|
||||
<translation>Pridať všetky panely do záložiek</translation>
|
||||
</message>
|
||||
@ -403,22 +408,22 @@ p, li { white-space: pre-wrap; }
|
||||
<context>
|
||||
<name>BookmarksModel</name>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="244"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="286"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="299"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="251"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="293"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="306"/>
|
||||
<source>Bookmarks In Menu</source>
|
||||
<translation>Záložky v menu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="244"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="288"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="301"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="251"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="295"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="308"/>
|
||||
<source>Bookmarks In ToolBar</source>
|
||||
<translation>Panel záložiek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="290"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="303"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="297"/>
|
||||
<location filename="../src/bookmarks/bookmarksmodel.cpp" line="310"/>
|
||||
<source>Unsorted Bookmarks</source>
|
||||
<translation>Nezotriedené záložky</translation>
|
||||
</message>
|
||||
@ -431,46 +436,46 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Hľadať...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="68"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="69"/>
|
||||
<source>New Tab</source>
|
||||
<translation>Nový panel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="100"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="101"/>
|
||||
<source>Open link in actual &tab</source>
|
||||
<translation>Otvoriť odkaz v &aktuálnom panely</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="101"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="102"/>
|
||||
<source>Open link in &new tab</source>
|
||||
<translation>Otvoriť odkaz na &novom panely</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="105"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="106"/>
|
||||
<source>Move bookmark to &folder</source>
|
||||
<translation>Presunúť záložku do &zložky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="106"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="107"/>
|
||||
<source>Unsorted Bookmarks</source>
|
||||
<translation>Nezotriedené záložky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="107"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="196"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="221"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="108"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="197"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="222"/>
|
||||
<source>Bookmarks In Menu</source>
|
||||
<translation>Záložky v menu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="108"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="201"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="223"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="109"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="202"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="224"/>
|
||||
<source>Bookmarks In ToolBar</source>
|
||||
<translation>Panel záložiek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="114"/>
|
||||
<location filename="../src/sidebar/bookmarkssidebar.cpp" line="115"/>
|
||||
<source>&Delete</source>
|
||||
<translation>&Odstrániť</translation>
|
||||
</message>
|
||||
@ -586,21 +591,31 @@ p, li { white-space: pre-wrap; }
|
||||
<message>
|
||||
<location filename="../src/other/browsinglibrary.ui" line="95"/>
|
||||
<source>Search...</source>
|
||||
<translation type="unfinished">Hľadať...</translation>
|
||||
<translation>Hľadať...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="26"/>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="47"/>
|
||||
<source>History</source>
|
||||
<translation type="unfinished">História</translation>
|
||||
<translation>História</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="27"/>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="48"/>
|
||||
<source>Bookmarks</source>
|
||||
<translation type="unfinished">Záložky</translation>
|
||||
<translation>Záložky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="28"/>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="49"/>
|
||||
<source>RSS</source>
|
||||
<translation>RSS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="141"/>
|
||||
<source>Database Optimized</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/other/browsinglibrary.cpp" line="141"/>
|
||||
<source>Database successfuly optimized.<br/><br/><b>Database Size Before: </b>%1<br/><b>Databse Size After: </b>%2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
@ -782,12 +797,12 @@ p, li { white-space: pre-wrap; }
|
||||
<location filename="../src/cookies/cookiemanager.ui" line="163"/>
|
||||
<location filename="../src/cookies/cookiemanager.ui" line="170"/>
|
||||
<location filename="../src/cookies/cookiemanager.ui" line="177"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="95"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="96"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="97"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="98"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="99"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="100"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="101"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="102"/>
|
||||
<source><cookie not selected></source>
|
||||
<translation><nebolo zvolene cookie></translation>
|
||||
</message>
|
||||
@ -798,7 +813,7 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.ui" line="209"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="104"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="106"/>
|
||||
<source>Remove cookie</source>
|
||||
<translation>Odstrániť cookie</translation>
|
||||
</message>
|
||||
@ -808,69 +823,41 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Del</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="43"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="44"/>
|
||||
<source>Search</source>
|
||||
<translation>Hľadať</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="48"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="50"/>
|
||||
<source>Confirmation</source>
|
||||
<translation>Potvrdenie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="49"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="51"/>
|
||||
<source>Are you sure to delete all cookies on your computer?</source>
|
||||
<translation>Skutočne chcete vymazať všetky cookies z počítača?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="101"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="103"/>
|
||||
<source>Remove cookies</source>
|
||||
<translation>Odstrániť cookies</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="113"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="115"/>
|
||||
<source>Secure only</source>
|
||||
<translation>Zabezpečené pripojenie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="113"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="115"/>
|
||||
<source>All connections</source>
|
||||
<translation>Všetky pripojenia</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="114"/>
|
||||
<location filename="../src/cookies/cookiemanager.cpp" line="116"/>
|
||||
<source>Session cookie</source>
|
||||
<translation>Konca relácie</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Core::Internal::FancyTabWidget</name>
|
||||
<message>
|
||||
<location filename="../src/3rdparty/fancytabwidget.cpp" line="646"/>
|
||||
<source>Large sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/3rdparty/fancytabwidget.cpp" line="647"/>
|
||||
<source>Small sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/3rdparty/fancytabwidget.cpp" line="648"/>
|
||||
<source>Plain sidebar</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/3rdparty/fancytabwidget.cpp" line="649"/>
|
||||
<source>Tabs on top</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/3rdparty/fancytabwidget.cpp" line="650"/>
|
||||
<source>Icons on top</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>DownloadItem</name>
|
||||
<message>
|
||||
@ -1146,32 +1133,55 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Vymazať celú históriu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="90"/>
|
||||
<location filename="../src/history/historymanager.ui" line="84"/>
|
||||
<source>Optimize Database</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="93"/>
|
||||
<source>New Tab</source>
|
||||
<translation>Nový panel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="102"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="105"/>
|
||||
<source>Open link in actual tab</source>
|
||||
<translation>Otvoriť odkaz v aktuálnom panely</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="103"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="106"/>
|
||||
<source>Open link in new tab</source>
|
||||
<translation>Otvoriť odkaz na novom panely</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="107"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="110"/>
|
||||
<source>Close</source>
|
||||
<translation>Zavrieť</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="170"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="137"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="209"/>
|
||||
<source>Today</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="139"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="211"/>
|
||||
<source>This Week</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="141"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="213"/>
|
||||
<source>This Month</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="182"/>
|
||||
<source>Confirmation</source>
|
||||
<translation>Potvrdenie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymanager.cpp" line="171"/>
|
||||
<location filename="../src/history/historymanager.cpp" line="183"/>
|
||||
<source>Are you sure to delete all history?</source>
|
||||
<translation>Skutočne chcete vymazať celú históriu?</translation>
|
||||
</message>
|
||||
@ -1179,15 +1189,75 @@ p, li { white-space: pre-wrap; }
|
||||
<context>
|
||||
<name>HistoryModel</name>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="42"/>
|
||||
<location filename="../src/history/historymodel.cpp" line="43"/>
|
||||
<source>Failed loading page</source>
|
||||
<translation>Chyba pri načítaní stránky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="45"/>
|
||||
<location filename="../src/history/historymodel.cpp" line="46"/>
|
||||
<source>No Named Page</source>
|
||||
<translation>Stránka bez mena</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="177"/>
|
||||
<source>January</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="179"/>
|
||||
<source>February</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="181"/>
|
||||
<source>March</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="183"/>
|
||||
<source>April</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="185"/>
|
||||
<source>May</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="187"/>
|
||||
<source>June</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="189"/>
|
||||
<source>July</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="191"/>
|
||||
<source>August</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="193"/>
|
||||
<source>September</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="195"/>
|
||||
<source>October</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="197"/>
|
||||
<source>November</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/history/historymodel.cpp" line="199"/>
|
||||
<source>December</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>HistorySideBar</name>
|
||||
@ -1202,25 +1272,43 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Názov</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="60"/>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="61"/>
|
||||
<source>New Tab</source>
|
||||
<translation>Nový panel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="72"/>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="73"/>
|
||||
<source>Open link in actual tab</source>
|
||||
<translation>Otvoriť odkaz v aktuálnom panely</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="73"/>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="74"/>
|
||||
<source>Open link in new tab</source>
|
||||
<translation>Otvoriť odkaz na novom panely</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="75"/>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="76"/>
|
||||
<source>Remove Entry</source>
|
||||
<translation>Odstrániť položku</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="105"/>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="193"/>
|
||||
<source>Today</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="107"/>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="195"/>
|
||||
<source>This Week</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="109"/>
|
||||
<location filename="../src/sidebar/historysidebar.cpp" line="197"/>
|
||||
<source>This Month</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LocationBar</name>
|
||||
@ -1259,12 +1347,12 @@ p, li { white-space: pre-wrap; }
|
||||
<context>
|
||||
<name>MainApplication</name>
|
||||
<message>
|
||||
<location filename="../src/app/mainapplication.cpp" line="517"/>
|
||||
<location filename="../src/app/mainapplication.cpp" line="514"/>
|
||||
<source>Last session crashed</source>
|
||||
<translation>Posledná relácia spadla</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/app/mainapplication.cpp" line="518"/>
|
||||
<location filename="../src/app/mainapplication.cpp" line="515"/>
|
||||
<source><b>QupZilla crashed :-(</b><br/>Oops, last session of QupZilla ends with its crash. We are very sorry. Would you try to restore saved state?</source>
|
||||
<translation><b>QupZilla spadla :-(</b><br/>Oops, posledná relácia QupZilly skončila chybou. Prepáčte. Chcete obnoviť uložený stav?</translation>
|
||||
</message>
|
||||
@ -2592,95 +2680,101 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.ui" line="40"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="115"/>
|
||||
<source>Empty</source>
|
||||
<translation>Prázdny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.ui" line="83"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="113"/>
|
||||
<source>You don't have any RSS Feeds.<br/>
|
||||
Please add some with RSS icon in navigation bar on site which offers feeds.</source>
|
||||
<translation>Nemáte žiadny RSS kanál.<br/>
|
||||
Prosím pridajte si nejaký kliknutím na RSS ikonku v navigačnom riadku.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.ui" line="106"/>
|
||||
<location filename="../src/rss/rssmanager.ui" line="64"/>
|
||||
<source>Reload</source>
|
||||
<translation>Obnoviť</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.ui" line="116"/>
|
||||
<location filename="../src/rss/rssmanager.ui" line="74"/>
|
||||
<source>Edit feed</source>
|
||||
<translation>Upraviť kanál</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.ui" line="126"/>
|
||||
<location filename="../src/rss/rssmanager.ui" line="84"/>
|
||||
<source>Delete feed</source>
|
||||
<translation>Zmazať kanál</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="81"/>
|
||||
<location filename="../src/rss/rssmanager.ui" line="111"/>
|
||||
<source>Optimize Database</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="79"/>
|
||||
<source>News</source>
|
||||
<translation>Novinky</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="90"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="113"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="88"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="126"/>
|
||||
<source>Loading...</source>
|
||||
<translation>Nahrávam...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="153"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="162"/>
|
||||
<source>Fill title and URL of a feed: </source>
|
||||
<translation>Vyplnte názov a adresu kanálu: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="155"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="164"/>
|
||||
<source>Feed title: </source>
|
||||
<translation>Názov kanálu: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="156"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="165"/>
|
||||
<source>Feed URL: </source>
|
||||
<translation>Adresa kanálu: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="162"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="171"/>
|
||||
<source>Edit RSS Feed</source>
|
||||
<translation>Upraviť RSS</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="199"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="208"/>
|
||||
<source>Open link in actual tab</source>
|
||||
<translation>Otvoriť odkaz v aktuálnom panely</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="200"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="209"/>
|
||||
<source>Open link in new tab</source>
|
||||
<translation>Otvoriť odkaz na novom panely</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="202"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="211"/>
|
||||
<source>Close</source>
|
||||
<translation>Zavrieť</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="225"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="231"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="234"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="240"/>
|
||||
<source>New Tab</source>
|
||||
<translation>Nový panel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="297"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="306"/>
|
||||
<source>Error in fetching feed</source>
|
||||
<translation>Chyba pri sťahovaní kanálu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="318"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="334"/>
|
||||
<source>RSS feed duplicated</source>
|
||||
<translation>Duplikovaný kanál</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="318"/>
|
||||
<location filename="../src/rss/rssmanager.cpp" line="334"/>
|
||||
<source>You already have this feed.</source>
|
||||
<translation>Tento kanál už odoberáte.</translation>
|
||||
</message>
|
||||
|
Loading…
Reference in New Issue
Block a user