diff --git a/bin/locale/cs_CZ.qm b/bin/locale/cs_CZ.qm index dcacaa221..13b90f9ce 100644 Binary files a/bin/locale/cs_CZ.qm and b/bin/locale/cs_CZ.qm differ diff --git a/src/QupZilla.pro b/src/QupZilla.pro index 65961f7bb..2ac180d85 100644 --- a/src/QupZilla.pro +++ b/src/QupZilla.pro @@ -116,7 +116,8 @@ SOURCES += main.cpp\ desktopnotifications/desktopnotification.cpp \ desktopnotifications/desktopnotificationsfactory.cpp \ tools/progressbar.cpp \ - tools/iconprovider.cpp + tools/iconprovider.cpp \ + network/networkproxyfactory.cpp HEADERS += 3rdparty/squeezelabel.h \ 3rdparty/qtwin.h \ @@ -191,7 +192,8 @@ HEADERS += 3rdparty/squeezelabel.h \ desktopnotifications/desktopnotification.h \ desktopnotifications/desktopnotificationsfactory.h \ tools/progressbar.h \ - tools/iconprovider.h + tools/iconprovider.h \ + network/networkproxyfactory.h FORMS += \ preferences/autofillmanager.ui \ diff --git a/src/app/mainapplication.h b/src/app/mainapplication.h index a19c79fce..99edca561 100644 --- a/src/app/mainapplication.h +++ b/src/app/mainapplication.h @@ -52,9 +52,10 @@ public: QString DATADIR; explicit MainApplication(int &argc, char **argv); - enum MessageType{ SetAdBlockIconEnabled, CheckPrivateBrowsing }; + enum MessageType{ SetAdBlockIconEnabled, CheckPrivateBrowsing , ReloadSettings }; void loadSettings(); + void reloadSettings() { emit message(ReloadSettings, true); } bool restoreStateSlot(QupZilla* window); void makeNewWindow(bool tryRestore, const QUrl &startUrl=QUrl()); void addNewTab(QUrl url); diff --git a/src/app/qupzilla.cpp b/src/app/qupzilla.cpp index d7d17cceb..94990808e 100644 --- a/src/app/qupzilla.cpp +++ b/src/app/qupzilla.cpp @@ -164,9 +164,14 @@ void QupZilla::receiveMessage(MainApplication::MessageType mes, bool state) m_actionPrivateBrowsing->setChecked(state); break; + case MainApplication::ReloadSettings: + loadSettings(); + m_tabWidget->loadSettings(); + m_locationBar->loadSettings(); + break; + default: qWarning("Unresolved message sent!"); - qDebug(); break; } } diff --git a/src/desktopnotifications/desktopnotification.cpp b/src/desktopnotifications/desktopnotification.cpp index 3d1eb410b..be4a5eba7 100644 --- a/src/desktopnotifications/desktopnotification.cpp +++ b/src/desktopnotifications/desktopnotification.cpp @@ -22,6 +22,8 @@ DesktopNotification::DesktopNotification(bool settingPosition) m_timer->setSingleShot(true); connect(m_timer, SIGNAL(timeout()), this, SLOT(close())); + if (m_settingPosition) + setCursor(Qt::OpenHandCursor); } void DesktopNotification::show() diff --git a/src/history/historymodel.cpp b/src/history/historymodel.cpp index 7c1cd11f0..31fa43ac4 100644 --- a/src/history/historymodel.cpp +++ b/src/history/historymodel.cpp @@ -32,6 +32,7 @@ void HistoryModel::loadSettings() QSettings settings(mApp->getActiveProfil()+"settings.ini", QSettings::IniFormat); settings.beginGroup("Web-Browser-Settings"); m_isSaving = settings.value("allowHistory",true).toBool(); + settings.endGroup(); } int HistoryModel::addHistoryEntry(const QString &url, QString &title) diff --git a/src/network/networkmanager.cpp b/src/network/networkmanager.cpp index 6652b8b57..32c1c2953 100644 --- a/src/network/networkmanager.cpp +++ b/src/network/networkmanager.cpp @@ -24,6 +24,7 @@ #include "pluginproxy.h" #include "adblockmanager.h" #include "adblocknetwork.h" +#include "networkproxyfactory.h" NetworkManager::NetworkManager(QupZilla* mainClass, QObject* parent) : NetworkManagerProxy(mainClass, parent) @@ -32,9 +33,12 @@ NetworkManager::NetworkManager(QupZilla* mainClass, QObject* parent) : ,m_ignoreAllWarnings(false) { connect(this, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)), this, SLOT(authentication(QNetworkReply*, QAuthenticator* ))); + connect(this, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)), this, SLOT(proxyAuthentication(QNetworkProxy,QAuthenticator*))); connect(this, SIGNAL(sslErrors(QNetworkReply*,QList)), this, SLOT(sslError(QNetworkReply*,QList))); connect(this, SIGNAL(finished(QNetworkReply*)), this, SLOT(setSSLConfiguration(QNetworkReply*))); + m_proxyFactory = new NetworkProxyFactory(); + setProxyFactory(m_proxyFactory); loadSettings(); } @@ -57,6 +61,7 @@ void NetworkManager::loadSettings() config.setProtocol(QSsl::AnyProtocol); QSslConfiguration::setDefaultConfiguration(config); + m_proxyFactory->loadSettings(); } void NetworkManager::setSSLConfiguration(QNetworkReply *reply) @@ -177,6 +182,41 @@ void NetworkManager::authentication(QNetworkReply* reply, QAuthenticator* auth) fill->addEntry(reply->url(), user->text(), pass->text()); } +void NetworkManager::proxyAuthentication(const QNetworkProxy &proxy, QAuthenticator *auth) +{ + QDialog* dialog = new QDialog(p_QupZilla); + dialog->setWindowTitle(tr("Proxy authorization required")); + + QFormLayout* formLa = new QFormLayout(dialog); + + QLabel* label = new QLabel(dialog); + QLabel* userLab = new QLabel(dialog); + QLabel* passLab = new QLabel(dialog); + userLab->setText(tr("Username: ")); + passLab->setText(tr("Password: ")); + + QLineEdit* user = new QLineEdit(dialog); + QLineEdit* pass = new QLineEdit(dialog); + pass->setEchoMode(QLineEdit::Password); + + QDialogButtonBox* box = new QDialogButtonBox(dialog); + box->addButton(QDialogButtonBox::Ok); + box->addButton(QDialogButtonBox::Cancel); + connect(box, SIGNAL(rejected()), dialog, SLOT(reject())); + connect(box, SIGNAL(accepted()), dialog, SLOT(accept())); + + label->setText(tr("A username and password are being requested by proxy %1. ").arg(proxy.hostName())); + formLa->addRow(label); + formLa->addRow(userLab, user); + formLa->addRow(passLab, pass); + formLa->addWidget(box); + + if (!dialog->exec() == QDialog::Accepted) + return; + auth->setUser(user->text()); + auth->setPassword(pass->text()); +} + QNetworkReply* NetworkManager::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice* outgoingData) { if (op == PostOperation && outgoingData) { @@ -186,6 +226,9 @@ QNetworkReply* NetworkManager::createRequest(QNetworkAccessManager::Operation op QNetworkRequest req = request; req.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true); + if (req.attribute(QNetworkRequest::CacheLoadControlAttribute).toInt() == QNetworkRequest::PreferNetwork) + req.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache); + if (m_doNotTrack) req.setRawHeader("DNT", "1"); diff --git a/src/network/networkmanager.h b/src/network/networkmanager.h index 691ef86ab..4de36beea 100644 --- a/src/network/networkmanager.h +++ b/src/network/networkmanager.h @@ -33,6 +33,7 @@ class QupZilla; class AdBlockNetwork; +class NetworkProxyFactory; class NetworkManager : public NetworkManagerProxy { Q_OBJECT @@ -51,8 +52,9 @@ signals: void wantsFocus(const QUrl &url); void sslDialogClosed(); -public slots: +private slots: void authentication(QNetworkReply* reply, QAuthenticator* auth); + void proxyAuthentication(const QNetworkProxy& proxy,QAuthenticator* auth); void sslError(QNetworkReply* reply, QList errors); void setSSLConfiguration(QNetworkReply* reply); @@ -61,6 +63,7 @@ private: QupZilla* p_QupZilla; QList m_certExceptions; QNetworkDiskCache* m_diskCache; + NetworkProxyFactory* m_proxyFactory; bool m_ignoreAllWarnings; bool m_doNotTrack; diff --git a/src/network/networkmanagerproxy.cpp b/src/network/networkmanagerproxy.cpp index f81a9e1c4..b0e09d650 100644 --- a/src/network/networkmanagerproxy.cpp +++ b/src/network/networkmanagerproxy.cpp @@ -43,13 +43,10 @@ void NetworkManagerProxy::setPrimaryNetworkAccessManager(NetworkManager* manager Q_ASSERT(manager); m_manager = manager; - connect(this, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), - manager, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*))); - connect(this, SIGNAL(finished(QNetworkReply*)), - manager, SIGNAL(finished(QNetworkReply*))); - - connect(this, SIGNAL(sslErrors(QNetworkReply*, const QList&)), - manager, SIGNAL(sslErrors(QNetworkReply*, const QList&))); + connect(this, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), manager, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*))); + connect(this, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)), manager, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*))); + connect(this, SIGNAL(finished(QNetworkReply*)), manager, SIGNAL(finished(QNetworkReply*))); + connect(this, SIGNAL(sslErrors(QNetworkReply*, const QList&)), manager, SIGNAL(sslErrors(QNetworkReply*, const QList&))); } QNetworkReply* NetworkManagerProxy::createRequest(QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice* outgoingData) diff --git a/src/network/networkproxyfactory.cpp b/src/network/networkproxyfactory.cpp new file mode 100644 index 000000000..296082f2e --- /dev/null +++ b/src/network/networkproxyfactory.cpp @@ -0,0 +1,49 @@ +#include "networkproxyfactory.h" +#include "mainapplication.h" + +NetworkProxyFactory::NetworkProxyFactory() : + QNetworkProxyFactory() +{ +} + +void NetworkProxyFactory::loadSettings() +{ + QSettings settings(mApp->getActiveProfil()+"settings.ini", QSettings::IniFormat); + settings.beginGroup("Web-Proxy"); + m_proxyPreference = ProxyPreference(settings.value("UseProxy", SystemProxy).toInt()); + m_proxyType = QNetworkProxy::ProxyType(settings.value("ProxyType", QNetworkProxy::HttpProxy).toInt()); + m_hostName = settings.value("HostName", "").toString(); + m_port = settings.value("Port", 8080).toInt(); + m_username = settings.value("Username", "").toString(); + m_password = settings.value("Password", "").toString(); + m_proxyExceptions = settings.value("ProxyExceptions", QStringList() << "localhost" << "127.0.0.1").toStringList(); + settings.endGroup(); +} + +QList NetworkProxyFactory::queryProxy(const QNetworkProxyQuery &query) +{ + QNetworkProxy proxy; + + if (m_proxyExceptions.contains(query.url().host(), Qt::CaseInsensitive)) + proxy.setType(QNetworkProxy::NoProxy); + + switch (m_proxyPreference) { + case SystemProxy: + return systemProxyForQuery(query); + break; + + case NoProxy: + proxy.setType(QNetworkProxy::NoProxy); + break; + + case DefinedProxy: + proxy.setType(m_proxyType); + proxy.setHostName(m_hostName); + proxy.setPort(m_port); + proxy.setUser(m_username); + proxy.setPassword(m_password); + break; + } + + return QList() << proxy; +} diff --git a/src/network/networkproxyfactory.h b/src/network/networkproxyfactory.h new file mode 100644 index 000000000..90a7ad222 --- /dev/null +++ b/src/network/networkproxyfactory.h @@ -0,0 +1,29 @@ +#ifndef NETWORKPROXYFACTORY_H +#define NETWORKPROXYFACTORY_H + +#include +#include +#include +#include + +class NetworkProxyFactory : public QNetworkProxyFactory +{ +public: + enum ProxyPreference { SystemProxy, NoProxy, DefinedProxy }; + + explicit NetworkProxyFactory(); + void loadSettings(); + + QList queryProxy(const QNetworkProxyQuery &query = QNetworkProxyQuery()); + +private: + ProxyPreference m_proxyPreference; + QNetworkProxy::ProxyType m_proxyType; + QString m_hostName; + quint16 m_port; + QString m_username; + QString m_password; + QStringList m_proxyExceptions; +}; + +#endif // NETWORKPROXYFACTORY_H diff --git a/src/preferences/preferences.cpp b/src/preferences/preferences.cpp index 5baaf1a0b..9ecce5d9d 100644 --- a/src/preferences/preferences.cpp +++ b/src/preferences/preferences.cpp @@ -30,6 +30,8 @@ #include "qtwin.h" #include "pluginproxy.h" #include "sslmanager.h" +#include "networkproxyfactory.h" +#include "networkmanager.h" bool removeFile(QString fullFileName) { @@ -260,7 +262,29 @@ Preferences::Preferences(QupZilla* mainClass, QWidget* parent) : QString language = QLocale::languageToString(locale.language()); ui->languages->addItem(language+", "+country+" ("+loc+")", name); } + //Proxy Config + settings.beginGroup("Web-Proxy"); + NetworkProxyFactory::ProxyPreference proxyPreference = NetworkProxyFactory::ProxyPreference(settings.value("UseProxy", NetworkProxyFactory::SystemProxy).toInt()); + QNetworkProxy::ProxyType proxyType = QNetworkProxy::ProxyType(settings.value("ProxyType", QNetworkProxy::HttpProxy).toInt()); + connect(ui->manualProxy, SIGNAL(toggled(bool)), this, SLOT(setManualProxyConfigurationEnabled(bool))); + ui->systemProxy->setChecked(proxyPreference == NetworkProxyFactory::SystemProxy); + ui->noProxy->setChecked(proxyPreference == NetworkProxyFactory::NoProxy); + ui->manualProxy->setChecked(proxyPreference == NetworkProxyFactory::DefinedProxy); + setManualProxyConfigurationEnabled(proxyPreference == NetworkProxyFactory::DefinedProxy); + if (proxyType == QNetworkProxy::HttpProxy) + ui->proxyType->setCurrentIndex(0); + else + ui->proxyType->setCurrentIndex(1); + + ui->proxyServer->setText(settings.value("HostName", "").toString()); + ui->proxyPort->setText(settings.value("Port", 8080).toString()); + ui->proxyUsername->setText(settings.value("Username", "").toString()); + ui->proxyPassword->setText(settings.value("Password", "").toString()); + ui->proxyExceptions->setText(settings.value("ProxyExceptions", QStringList() << "localhost" << "127.0.0.1").toStringList().join(",")); + settings.endGroup(); + + //CONNECTS connect(ui->buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(buttonClicked(QAbstractButton*))); connect(ui->cookieManagerBut, SIGNAL(clicked()), this, SLOT(showCookieManager())); connect(ui->sslManagerButton, SIGNAL(clicked()), this, SLOT(openSslManager())); @@ -355,6 +379,16 @@ void Preferences::downLocChanged(bool state) ui->downLoc->setEnabled(state); } +void Preferences::setManualProxyConfigurationEnabled(bool state) +{ + ui->proxyType->setEnabled(state); + ui->proxyServer->setEnabled(state); + ui->proxyPort->setEnabled(state); + ui->proxyUsername->setEnabled(state); + ui->proxyPassword->setEnabled(state); + ui->proxyExceptions->setEnabled(state); +} + void Preferences::allowJavaScriptChanged(bool stat) { ui->blockPopup->setEnabled(stat); @@ -583,6 +617,30 @@ void Preferences::saveSettings() settings.beginGroup("Browser-View-Settings"); settings.setValue("language",ui->languages->itemData(ui->languages->currentIndex()).toString()); settings.endGroup(); + //Proxy Configuration + NetworkProxyFactory::ProxyPreference proxyPreference; + if (ui->systemProxy->isChecked()) + proxyPreference = NetworkProxyFactory::SystemProxy; + else if (ui->noProxy->isChecked()) + proxyPreference = NetworkProxyFactory::NoProxy; + else + proxyPreference = NetworkProxyFactory::DefinedProxy; + + QNetworkProxy::ProxyType proxyType; + if (ui->proxyType->currentIndex() == 0) + proxyType = QNetworkProxy::HttpProxy; + else + proxyType = QNetworkProxy::Socks5Proxy; + + settings.beginGroup("Web-Proxy"); + settings.setValue("ProxyType", proxyType); + settings.setValue("UseProxy", proxyPreference); + settings.setValue("HostName", ui->proxyServer->text()); + settings.setValue("Port", ui->proxyPort->text().toInt()); + settings.setValue("Username", ui->proxyUsername->text()); + settings.setValue("Password", ui->proxyPassword->text()); + settings.setValue("ProxyExceptions", ui->proxyExceptions->text().split(",")); + settings.endGroup(); //Profiles QString homePath = QDir::homePath(); @@ -591,13 +649,12 @@ void Preferences::saveSettings() profileSettings.setValue("Profiles/startProfile",ui->startProfile->currentText()); m_pluginsList->save(); - p_QupZilla->loadSettings(); - p_QupZilla->tabWidget()->loadSettings(); mApp->cookieJar()->loadSettings(); mApp->history()->loadSettings(); - p_QupZilla->locationBar()->loadSettings(); mApp->loadSettings(); mApp->plugins()->c2f_saveSettings(); + mApp->networkManager()->loadSettings(); + mApp->reloadSettings(); } Preferences::~Preferences() diff --git a/src/preferences/preferences.h b/src/preferences/preferences.h index aedc0361b..f01dbe196 100644 --- a/src/preferences/preferences.h +++ b/src/preferences/preferences.h @@ -62,6 +62,7 @@ private slots: void allowCacheChanged(bool state); void showPassManager(bool state); void useBgImageChanged(bool state); + void setManualProxyConfigurationEnabled(bool state); void cacheValueChanged(int value); void pageCacheValueChanged(int value); diff --git a/src/preferences/preferences.ui b/src/preferences/preferences.ui index 6bf7f43aa..3f553c883 100644 --- a/src/preferences/preferences.ui +++ b/src/preferences/preferences.ui @@ -1615,36 +1615,13 @@ - + Available translations: - - - - - - - In order to change language, you must restart browser. - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - @@ -1661,7 +1638,10 @@ - + + + + Qt::Horizontal @@ -1674,6 +1654,139 @@ + + + + In order to change language, you must restart browser. + + + + + + + <b>Proxy Configuration</b> + + + + + + + System proxy configuration + + + + + + + Do not use proxy + + + + + + + Manual configuration + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + HTTP + + + + + SOCKS5 + + + + + + + + + + + + + Port: + + + + + + + + 50 + 16777215 + + + + + + + + + + Username: + + + + + + + + + + Password: + + + + + + + + + + Don't use on: + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + diff --git a/src/webview/siteinfo.cpp b/src/webview/siteinfo.cpp index 328f7bfeb..1302500bc 100644 --- a/src/webview/siteinfo.cpp +++ b/src/webview/siteinfo.cpp @@ -22,6 +22,13 @@ #include "webpage.h" #include "downloaditem.h" +QString SiteInfo::showCertInfo(const QString &string) +{ + if (string.isEmpty()) + return tr(""); + else return string; +} + SiteInfo::SiteInfo(QupZilla* mainClass, QWidget* parent) : QDialog(parent) ,ui(new Ui::SiteInfo) @@ -93,14 +100,14 @@ SiteInfo::SiteInfo(QupZilla* mainClass, QWidget* parent) : ui->securityLabel->setText(tr("Connection is Encrypted.")); ui->certLabel->setText(tr("Your connection to this page is secured with this certificate: ")); //Issued to - ui->issuedToCN->setText( cert.subjectInfo(QSslCertificate::CommonName) ); - ui->issuedToO->setText( cert.subjectInfo(QSslCertificate::Organization) ); - ui->issuedToOU->setText( cert.subjectInfo(QSslCertificate::OrganizationalUnitName) ); - ui->issuedToSN->setText( cert.serialNumber() ); + ui->issuedToCN->setText( showCertInfo(cert.subjectInfo(QSslCertificate::CommonName)) ); + ui->issuedToO->setText( showCertInfo(cert.subjectInfo(QSslCertificate::Organization)) ); + ui->issuedToOU->setText( showCertInfo(cert.subjectInfo(QSslCertificate::OrganizationalUnitName)) ); + ui->issuedToSN->setText( showCertInfo(cert.serialNumber()) ); //Issued By - ui->issuedByCN->setText( cert.issuerInfo(QSslCertificate::CommonName) ); - ui->issuedByO->setText( cert.issuerInfo(QSslCertificate::Organization) ); - ui->issuedByOU->setText( cert.issuerInfo(QSslCertificate::OrganizationalUnitName) ); + ui->issuedByCN->setText( showCertInfo(cert.issuerInfo(QSslCertificate::CommonName)) ); + ui->issuedByO->setText( showCertInfo(cert.issuerInfo(QSslCertificate::Organization)) ); + ui->issuedByOU->setText( showCertInfo(cert.issuerInfo(QSslCertificate::OrganizationalUnitName)) ); //Validity ui->validityIssuedOn->setText( cert.effectiveDate().toString("dddd d. MMMM yyyy") ); ui->validityExpiresOn->setText( cert.expiryDate().toString("dddd d. MMMM yyyy") ); diff --git a/src/webview/siteinfo.h b/src/webview/siteinfo.h index 4616d8c29..6ca87f2ba 100644 --- a/src/webview/siteinfo.h +++ b/src/webview/siteinfo.h @@ -36,6 +36,8 @@ public: explicit SiteInfo(QupZilla* mainClass, QWidget* parent = 0); ~SiteInfo(); + static QString showCertInfo(const QString &string); + private slots: void itemChanged(QListWidgetItem* item); void showImagePreview(QTreeWidgetItem* item); diff --git a/src/webview/webview.cpp b/src/webview/webview.cpp index cb249af2a..10a866aae 100644 --- a/src/webview/webview.cpp +++ b/src/webview/webview.cpp @@ -54,7 +54,6 @@ WebView::WebView(QupZilla* mainClass, QWidget* parent) m_page->setView(this); setPage(m_page); - connect(this, SIGNAL(loadStarted()), this, SLOT(loadStarted())); connect(this, SIGNAL(loadProgress(int)), this, SLOT(setProgress(int))); connect(this, SIGNAL(loadFinished(bool)), this, SLOT(loadFinished(bool))); diff --git a/translations/cs_CZ.ts b/translations/cs_CZ.ts index 26d775046..c590e5e65 100644 --- a/translations/cs_CZ.ts +++ b/translations/cs_CZ.ts @@ -1104,12 +1104,12 @@ nebyl nalezen! HistoryModel - + Failed loading page Chyba při načítání stránky - + No Named Page Bezejmenná stránka @@ -1208,70 +1208,82 @@ nebyl nalezen! NetworkManager - + SSL Certificate Error! Chyba zabezpečení! - + The page you trying to access has following errors in SSL Certificate: Stránka kterou se snažíte navštívit zaslala SSL Certifikát s těmito chybami: - + <b>Organization: </b> <b>Organizace: </b> - + <b>Domain Name: </b> <b>Doména: </b> - + <b>Expiration Date: </b> <b>Vyprší: </b> - + <b>Error: </b> <b>Chyba: </b> - + Would you like to make exception for this certificate? Chcete udělit vyjímku tomuto certifikátu? - + SSL Certificate Error Chyba zabezpečení - + Authorization required Vyžadována autorizace - + + Username: Uživatelské jméno: - + + Password: Heslo: - + Save username and password on this site Uložit jméno a heslo pro tuto stránku - + A username and password are being requested by %1. The site says: "%2" Server %1 požaduje vaše uživatelské jméno a heslo s komentářem: "%2" + + + Proxy authorization required + Proxy autorizace + + + + A username and password are being requested by proxy %1. + Proxy %1 požaduje uživatelské jméno a heslo. + PluginsList @@ -1735,6 +1747,56 @@ nebyl nalezen! ... ... + + + <b>Proxy Configuration</b> + <b>Nastavení Proxy</b> + + + + System proxy configuration + Systémové nastavení proxy + + + + Do not use proxy + Nepoužívat proxy + + + + Manual configuration + Manuální nastavení + + + + HTTP + HTTP + + + + SOCKS5 + SOCKS5 + + + + Port: + Port: + + + + Username: + Jméno: + + + + Password: + Heslo: + + + + Don't use on: + Nepužívat na: + Browsing @@ -1862,53 +1924,53 @@ nebyl nalezen! Dostupné překlady: - + In order to change language, you must restart browser. Ke změně jazyka je nutný restart prohlížeče. - + Choose download location... Vyberte složku pro stahování... - + Choose background location... - + New Profile Nový profil - + Enter the new profile's name: Zvolte jméno nového profilu: - - + + Error! Chyba! - + This profile already exists! Tento profil již existuje! - + Cannot create profile directory! Nemohu vytvořit složku profilu! - + Confirmation Potvrzení - + Are you sure to permanently delete "%1" profile? This action cannot be undone! Jste si jisti že chcete permanentně smazat profil "%1"? Tato akce nelze vrátit zpět! @@ -2148,17 +2210,17 @@ nebyl nalezen! RSS čtečka - + Other Ostatní - + Default Defaultní - + Start Private Browsing Spustit anonymní prohlížení @@ -2183,14 +2245,14 @@ nebyl nalezen! Soukromé prohlížení zapnuto - + Bookmarks In ToolBar Bookmarks In Toolbar Panel záložek - - + + Empty Prázdný @@ -2200,143 +2262,143 @@ nebyl nalezen! Nový panel - + Bookmark &This Page Přidat &stránku do záložek - + Bookmark &All Tabs Přidat &všechny panely do záložek - + Organize &Bookmarks Organizovat &záložky - + &Back &Zpět - + &Forward &Vpřed - + &Home &Domů - + Show &All History Zobrazit celou &historii - + Report &Bug Nahlásit &bug - + About &Qt O &Qt - + &About QupZilla &O QupZille - + &Web Search Hledání na &webu - + Page &Info Informace o &stránce - + &Download Manager Správce s&tahování - + &Cookies Manager Správce coo&kies - + &AdBlock &AdBlock - + RSS &Reader &RSS čtečka - + Clear Recent &History Vymazat nedá&vnou historii - + &Private Browsing Soukromé prohlíž&ení - + Pr&eferences Předvo&lby - - + + Web Inspector Web Inspektor - + Open file... Otevřít soubor... - + Are you sure you want to turn on private browsing? Jste si jistý že chcete zapnout soukromé prohlížení? - + When private browsing is turned on, some actions concerning your privacy will be disabled: Se zapnutým soukromým prohlížením jsou některé akce týkající se soukromí vypnuty: - + Webpages are not added to the history. Stránky nejsou přidávány do historie. - + New cookies are not stored, but current cookies can be accessed. Nové cookies nejsou přijímány, ale současné cookies jsou zasílány. - + Your session won't be stored. Vaše relace nebude uložena. - + Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Než zavřete prohlížeč, stále můžete použít tlačítka Zpět a Vpřed k vrácení se na stránky které jste otevřeli. - + There are still %1 open tabs and your session won't be stored. Are you sure to quit? Ještě je otevřeno %1 panelů a Vaše relace nebude uložena. Opravdu chcete skončit? @@ -2711,63 +2773,68 @@ Prosím přidejte si nějaký kliknutím na RSS ikonku v navigačním řádku.Meta tagy na stránce: - + + <not set in certificate> + <není součástí certifikátu> + + + <b>Connection is Encrypted.</b> <b>Připojení je zabezpečené.</b> - + <b>Your connection to this page is secured with this certificate: </b> <b>Vaše připojení k serveru je zabezpečeno tímto certifikátem: </b> - + <b>Connection Not Encrypted.</b> <b>Připojení není zabezpečené.</b> - + <b>Your connection to this page is not secured!</b> <b>Vaše připojení k serveru není zabezpečené!</b> - + Copy Image Location Kopírovat adresu obrázku - + Copy Image Name Kopírovat jméno obrázku - + Save Image to Disk Uložit obrázek na disk - - + + Error! Chyba! - + This preview is not available! Tento náhled není k dispozici! - + Save image... Uložit obrázek... - + Cannot write to file! Nemohu zapisovat do souboru! - + Preview not available Náhled není k dispozici @@ -3200,145 +3267,145 @@ Prosím přidejte si nějaký kliknutím na RSS ikonku v navigačním řádku. WebView - - + + Loading... Načítám... - + Open link in new &tab Otevřít odkaz v novém &panelu - + Open link in new &window Otevřít odkaz v novém &okně - + B&ookmark link Přidat odkaz do zá&ložek - + &Save link as... &Uložit odkaz jako... - + &Copy link address &Kopírovat adresu odkazu - + Show i&mage Zobrazit &obrázek - + Copy im&age &Kopírovat obrázek - + Copy image ad&dress Kopírovat adr&esu obrázku - + S&top &Zastavit - + Show info ab&out site Zobrazit &informace o stránce - + Show Web &Inspector Zobrazit Web &Inspektor - + Search "%1 .." on &Google Hledat "%1 .." na &Googlu - + &Save image as... &Uložit obrázek jako... - + Failed loading page Chyba při načítání stránky - + &Back &Zpět - + &Forward &Vpřed - + &Reload &Obnovit - + Book&mark page Přidat stránku do zá&ložek - + &Save page as... &Uložit stránku jako... - + Select &all Vyb&rat vše - + Show so&urce code Zobrazit zdrojový kó&d - + No Named Page Bezejmenná stránka - + Done Hotovo - - - + + + New tab Nový panel - + Send link... Odeslat odkaz... - + Send image... Odeslat obrázek... - + Send page... Odeslat stránku... diff --git a/translations/sk_SK.ts b/translations/sk_SK.ts index 086440749..402d529f3 100644 --- a/translations/sk_SK.ts +++ b/translations/sk_SK.ts @@ -1107,12 +1107,12 @@ p, li { white-space: pre-wrap; } HistoryModel - + Failed loading page Chyba pri načítaní stránky - + No Named Page Stránka bez mena @@ -1210,70 +1210,82 @@ p, li { white-space: pre-wrap; } NetworkManager - + SSL Certificate Error! Chyba zabezpečenia! - + The page you trying to access has following errors in SSL Certificate: Stránka na ktorú sa pokušáte pripojiť obsahuje následujúce chyby v SSL Certifikáte: - + <b>Organization: </b> <b>Organizácia: </b> - + <b>Domain Name: </b> <b>Doména: </b> - + <b>Expiration Date: </b> <b>Platnosť do: </b> - + <b>Error: </b> <b>Chyba: </b> - + Would you like to make exception for this certificate? Chcete urobiť vynímku pre tento certifikát? - + SSL Certificate Error Chyba zabezpečenia - + Authorization required Požadovaná autorizácia - + + Username: Uživateľské meno: - + + Password: Heslo: - + Save username and password on this site Uložiť meno a heslo pre túto sieť - + A username and password are being requested by %1. The site says: "%2" Server %1 požaduje vaše uživateľské meno a heslo s komentárom: "%2" + + + Proxy authorization required + + + + + A username and password are being requested by proxy %1. + + PluginsList @@ -1817,6 +1829,56 @@ p, li { white-space: pre-wrap; } Cookies Manager Správca cookies + + + <b>Proxy Configuration</b> + + + + + System proxy configuration + + + + + Do not use proxy + + + + + Manual configuration + + + + + HTTP + + + + + SOCKS5 + + + + + Port: + + + + + Username: + + + + + Password: + + + + + Don't use on: + + Allow storing web icons @@ -1864,53 +1926,53 @@ p, li { white-space: pre-wrap; } Dostupné preklady: - + In order to change language, you must restart browser. K zmene jazyku je potrebný reštart prehliadača. - + Choose download location... Vyberte zložku pre sťahovanie... - + Choose background location... Zvoľte lokáciu pozadia... - + New Profile Nový profil - + Enter the new profile's name: Zadajte nové meno profilu: - - + + Error! Chyba! - + This profile already exists! Tento profil už existuje! - + Cannot create profile directory! Nemožno vytvoriť zložku profilu! - + Confirmation Potvrdenie - + Are you sure to permanently delete "%1" profile? This action cannot be undone! Ste si istý, že chcete permanentne zmazať profil "%1"? Táto akcia sa nebude dať vrátiť späť! @@ -2150,17 +2212,17 @@ p, li { white-space: pre-wrap; } RSS čítač - + Other Ostatné - + Default Základné - + Start Private Browsing Spustiť anonymné prehliadanie @@ -2185,13 +2247,13 @@ p, li { white-space: pre-wrap; } Súkromné prehliadanie je zapnuté - + Bookmarks In ToolBar Panel záložiek - - + + Empty Prázdny @@ -2201,143 +2263,143 @@ p, li { white-space: pre-wrap; } Nový panel - + Bookmark &This Page Pridať &stránku do záložiek - + Bookmark &All Tabs Pridať &všetky panely do záložiek - + Organize &Bookmarks &Organizovať záložky - + &Back &Späť - + &Forward &Dopredu - + &Home Do&mov - + Show &All History Zobraziť celú &históriu - + Report &Bug Nahlásiť &chybu - + About &Qt O &Qt - + &About QupZilla &O QupZille - + &Web Search Hladať na &webu - + Page &Info &Informácie o stránke - + &Download Manager Správca &sťahovania - + &Cookies Manager Správca &cookies - + &AdBlock &AdBlock - + RSS &Reader &RSS čítač - + Clear Recent &History Vymazať nedávnu &históriu - + &Private Browsing Súkromné prehlia&danie - + Pr&eferences Pr&edvoľby - - + + Web Inspector Web inšpektor - + Open file... Otvoriť súbor... - + Are you sure you want to turn on private browsing? Ste si istý, že chcete zapnúť súkromné prehliadanie? - + When private browsing is turned on, some actions concerning your privacy will be disabled: So zapnutým súkromným prehliadaním sú niektoré akcie týkajúce sa súkromia vypnuté: - + Webpages are not added to the history. Stránky nie sú pridávané do histórie. - + New cookies are not stored, but current cookies can be accessed. Nové cookies nie sú prijímané, ale súčasné cookies sú zasielané. - + Your session won't be stored. Vaša relácia nebude uložená. - + Until you close the window, you can still click the Back and Forward buttons to return to the webpages you have opened. Dokiaľ nezavriete prehliadač, tak stále môžete používať tlačidla Späť a Dopredu k vráteniu sa na stránky, ktoré ste mali otvorené. - + There are still %1 open tabs and your session won't be stored. Are you sure to quit? Stále sú otvorené %1 panely a Vaša relácia nebude uložená. Skutočne chcete skončiť? @@ -2711,63 +2773,68 @@ Prosím pridajte si nejaký kliknutím na RSS ikonku v navigačnom riadku.Meta tágy na stránke: - + + <not set in certificate> + + + + <b>Connection is Encrypted.</b> <b>Pripojenie je zabezpečené.</b> - + <b>Your connection to this page is secured with this certificate: </b> <b>Vaše pripojenie k serveru je zabezpečené týmto certifikátom: </b> - + <b>Connection Not Encrypted.</b> <b>Pripojenie nie je zabezpečené.</b> - + <b>Your connection to this page is not secured!</b> <b>Vaše pripojenie k serveru nie je zabezpečené</b> - + Copy Image Location Kopírovať adresu obrázku - + Copy Image Name Kopírovať meno obrázku - + Save Image to Disk Uložiť obrázok na disk - - + + Error! Chyba! - + This preview is not available! Tento náhlad nie je k dispozícií! - + Save image... Uložiť obrázok... - + Cannot write to file! Nemôžem zapisovať do súboru! - + Preview not available Náhlad nie je k dispozícií @@ -3200,145 +3267,145 @@ Prosím pridajte si nejaký kliknutím na RSS ikonku v navigačnom riadku. WebView - - + + Loading... Načítavam... - + Open link in new &tab Otvoriť odkaz na &novom panely - + Open link in new &window Otvoriť odkaz v novom &okne - + B&ookmark link Pridať odkaz do &záložiek - + &Save link as... &Uložiť odkaz... - + &Copy link address &Kopírovať adresu odkazu - + Show i&mage Zobraziť o&brázok - + Copy im&age &Kopírovať obrázok - + Copy image ad&dress Kopírovať adres&u obrázku - + S&top &Zastaviť - + Show info ab&out site Zobraziť &informácie o stránke - + Show Web &Inspector Zobraziť Web inšpe&ktora - + Search "%1 .." on &Google Hľadať "%1 .." na &Googli - + &Save image as... &Uložiť obrázok ako... - + Failed loading page Chyba pri načítaní stránky - + &Back &Späť - + &Forward &Dopredu - + &Reload &Obnoviť - + Book&mark page Pridať s&tránku do záložiek - + &Save page as... &Uložiť stránku ako... - + Select &all Vybrať vš&etko - + Show so&urce code Zobraziť zdro&jový kód - + No Named Page Stránka bez mena - + Done Hotovo - - - + + + New tab Nový panel - + Send link... Odoslať odkaz... - + Send image... Odoslať obrázok... - + Send page... Odoslať stránku...